serde/serde_core/README.md
2025-09-13 17:09:47 -07:00

1.0 KiB

The serde_core crate contains Serde's trait definitions with no support for #[derive()].

In crates that derive an implementation of Serialize or Deserialize, you must depend on the serde crate, not serde_core.

In crates that handwrite implementations of Serde traits, or only use them as trait bounds, depending on serde_core is permitted. But serde re-exports all of these traits and can be used for this use case too. If in doubt, disregard serde_core and always use serde.

Crates that depend on serde_core instead of serde are able to compile in parallel with serde_derive even when serde's "derive" feature is turned on, as shown in the following build timings.


When serde_json depends on serde

When serde_json depends on serde_core