Expand description

Available Feature Flags

This crate has the following features which can be enabled. Each entry will explain the feature in more detail.

serde_with is fully no_std compatible. Using it in a no_std environment requires using default-features = false, since std is enabled by default.

  1. alloc
  2. std (default)
  3. base64
  4. chrono_0_4
  5. guide
  6. hex
  7. indexmap_1
  8. json
  9. macros (default)
  10. time_0_3

alloc

Enable support for types from the alloc crate when running in a no_std environment.

std (default)

Enables support for various types from the std library. This will enable std support in all dependencies too. The feature enabled by default and also enables alloc.

base64

The base64 feature enables serializing data in base64 format.

This pulls in base64 as a dependency. It enables the alloc feature.

chrono_0_4

The chrono_0_4 feature enables integration of chrono_0_4 specific conversions. This includes support for the timestamp and duration types. More features are available in combination with alloc or std. The legacy feature name chrono is still available for v1 compatability.

This pulls in chrono v0.4 as a dependency.

guide

The guide feature enables inclusion of this user guide. The feature only changes the rustdoc output and enables no other effects.

hex

The hex feature enables serializing data in hex format.

This pulls in hex as a dependency. It enables the alloc feature.

indexmap_1

The indexmap_1 feature enables implementations of indexmap_1 specific checks. This includes support for checking duplicate keys and duplicate values. The legacy feature name indexmap is still available for v1 compatability.

This pulls in indexmap as a dependency. It enables the alloc feature. Some functionality is only available when std is enabled too.

json

The json features enables JSON conversions from the json module.

This pulls in serde_json as a dependency. It enables the alloc feature.

macros (default)

The macros features enables all helper macros and derives. It is enabled by default, since the macros provide a usability benefit, especially for serde_as.

This pulls in serde_with_macros as a dependency.

time_0_3

The time_0_3 enables integration of time v0.3 specific conversions. This includes support for the timestamp and duration types.

This pulls in time v0.3 as a dependency. Some functionality is only available when alloc or std is enabled too.