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§
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.