Serialize

Derive Macro Serialize 

Source
#[derive(Serialize)]
Expand description

Derives the Serialize trait implementation

§Example

use proc_contra::Serialize;

#[derive(Serialize)]
struct Point {
    x: f32,
    y: f32,
    z: f32
}

Expands into:

use lib_contra::{serialize::Serialize, serialize::Serializer, position::Position, error::SuccessResult};

struct Point {
    x: f32,
    y: f32,
    z: f32
}

impl Serialize for Point {
    fn serialize<S: Serializer>(&self, ser: &mut S, _pos: &Position) -> SuccessResult {
        ser.begin_struct("Point", 3)?;
     
        ser.serialize_field("x", &self.x, &Position::Trailing)?;
        ser.serialize_field("y", &self.y, &Position::Trailing)?;
        ser.serialize_field("z", &self.z, &Position::Closing)?;
     
        ser.end_struct("Point")?;
     
        Ok(())
    }
}