#bincode #macro #serde #serde-derive #decode #encode #debugging

macro bincode_macro

为bincode添加宏以便更易于使用

3个版本

0.1.2 2023年7月9日
0.1.1 2023年7月9日
0.1.0 2023年7月9日

#1209 in 过程宏

MIT 协议

3KB

描述

将宏Serde添加到bincode,使其更容易使用。

安装

cargo add bincode_macro

用法

use bincode::{error, Decode, Encode};
use bincode_macro::Serde;

#[derive(Serde, Encode, Decode, PartialEq, Debug)]
pub struct Entity {
    pub x: u16,
    pub y: u32,
}

fn main() {
    let mut entity = Entity { x: 1, y: 4 };

    let encoded: Vec<u8> = entity.pack().unwrap();
    println!("{:?} {}", encoded, encoded.len());

    let (decoded, len): (Entity, usize) = entity.unpack(&encoded).unwrap();
    println!("{:?}, {}\n", decoded, len);
}

依赖项

~285–740KB
~18K SLoC