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 that require memory allocation like Box<T> and Rc<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.
Implies alloc and unstable.
Provide impls for collection types like String 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 collections 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.