serde crate defines some Cargo features to enable using Serde in a
variety of freestanding environments.
Building Serde with
default-features = false, you will receive a stock
no_std Serde with no support for any of the collection types.
Re-export the derive(Serialize, Deserialize) macros. This is specifically intended for library crates that provide optional Serde impls behind a Cargo cfg of their own. All other crates should depend on serde_derive directly.
Please refer to the long comment above the line
pub use serde_derive::* in
src/lib.rs before enabling this feature. If you think you need this feature and
your use case does not precisely match the one described in the comment, please
open an issue to let us know about your use case.
This feature is enabled by default.
Provide impls for common standard library types like Vec<T> and HashMap<K, V>. Requires a dependency on the Rust standard library.
Provide impls for types that require unstable functionality. For tracking and discussion of unstable functionality please refer to this issue.
Provide impls for types in the Rust core allocation and collections library including String, Box<T>, Vec<T>, and Cow<T>. This is a subset of std but may be enabled without depending on all of std.
Requires a dependency on the unstable core allocation library.
Opt into impls for Rc<T> and Arc<T>. Serializing and deserializing these types does not preserve identity and may result in multiple copies of the same data. Be sure that this is what you want before enabling this feature.