diff --git a/Cargo.toml b/Cargo.toml index e092ff2..c793104 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ readme = "README.md" capnp_conv = { path = "capnp_conv", version = "0.3.1" } capnp_conv_macros = { path = "capnp_conv_macros", version = "0.3.1" } -capnp = "0.20" +capnp = { "version" = "0.20", default-features = false } capnpc = "0.20" heck = "0.5" proc-macro2 = "1.0" diff --git a/capnp_conv/Cargo.toml b/capnp_conv/Cargo.toml index b70506f..db0b592 100644 --- a/capnp_conv/Cargo.toml +++ b/capnp_conv/Cargo.toml @@ -11,3 +11,7 @@ readme.workspace = true capnp_conv_macros.workspace = true capnp.workspace = true + +[features] +default = ["std"] +std = ["capnp/default"] diff --git a/capnp_conv/src/lib.rs b/capnp_conv/src/lib.rs index 286da12..ecf3c41 100644 --- a/capnp_conv/src/lib.rs +++ b/capnp_conv/src/lib.rs @@ -1,5 +1,8 @@ +#![cfg_attr(not(feature = "std"), no_std)] + use capnp::{traits::Owned, Result}; pub use capnp_conv_macros::capnp_conv; +use core::marker::Sized; pub trait Writable { type OwnedType: Owned; diff --git a/capnp_conv_macros/src/generators.rs b/capnp_conv_macros/src/generators.rs index 2c4b0b9..b35dc1b 100644 --- a/capnp_conv_macros/src/generators.rs +++ b/capnp_conv_macros/src/generators.rs @@ -571,7 +571,7 @@ fn generate_try_from_impl( let capnp_generics: Vec = generics.iter().map(to_capnp_generic).collect(); quote! { impl<'a, #(#generics, #capnp_generics),*> - ::std::convert::TryFrom<#capnp_path::Reader<'a, #(#capnp_generics),*>> + ::core::convert::TryFrom<#capnp_path::Reader<'a, #(#capnp_generics),*>> for #rust_name<#(#generics),*> where #(#generics: ::capnp_conv::Readable,)*