[][src]Crate versionize_derive

Exports the Versionize derive proc macro that generates the Versionize trait implementation.

Versionize generates serialization and deserialization code only for structures and enums.

Supported primitives: u8, u16, u32, u64, usize, i8, i16, i32, i64, isize, char, f32, f64, String, Vec, Arrays up to 32 elements, Box, Wrapping, Option, FamStructWrapper, and (T, U).

Known issues and limitations:

  • Union serialization is not supported via the Versionize proc macro.
  • Implementing Versionize for non-repr(C) unions can result in undefined behaviour and MUST be avoided.
  • Versionize trait implementations for repr(C) unions must be backed by extensive testing.
  • Semantic serialization and deserialization is available only for structures.

Derive Macros

Versionize

Generates serialization and deserialization code as an implementation of the Versionize trait.