SerializableStruct

Trait SerializableStruct 

Source
pub trait SerializableStruct {
    // Required method
    fn serialize<S: ShapeSerializer>(
        &self,
        serializer: &mut S,
    ) -> Result<(), S::Error>;
}
Expand description

Trait for structures that can be serialized.

This trait is implemented by generated structure types to enable schema-based serialization.

§Example

impl SerializableStruct for MyStruct {
    fn serialize<S: ShapeSerializer>(&self, serializer: &mut S) -> Result<(), S::Error> {
        serializer.write_struct(&Self::SCHEMA, |ser| {
            ser.write_string(&FIELD1_SCHEMA, &self.field1)?;
            ser.write_integer(&FIELD2_SCHEMA, self.field2)?;
            Ok(())
        })
    }
}

Required Methods§

Source

fn serialize<S: ShapeSerializer>( &self, serializer: &mut S, ) -> Result<(), S::Error>

Serializes this structure using the provided serializer.

§Arguments
  • serializer - The serializer to write to

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§