2 个版本
0.1.1 | 2021年6月20日 |
---|---|
0.1.0 | 2021年6月20日 |
#9 in #versioned
17KB
295 行
binver
支持版本字段向后兼容的二进制(反)序列化框架。
#[derive(Serializable, PartialEq, Debug)]
pub struct Player {
// This field has existed since binary version 0.0.1
#[since(0.0.1)]
pub id: u32,
// In 0.0.2 we introduced a new field
// When loading a serialized 0.0.1 object, this field will have it's `Default` value
#[since(0.0.2)]
pub name: String,
}
let player = Player {
id: 5,
name: String::from("foo")
};
let serialized = binver::to_vec(&player);
let deserialized_player = binver::deserialize_slice(&serialized).unwrap();
assert_eq!(player, deserialized_player);
许可证
根据以下任一许可证授权:
- Apache 许可证 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您提交的任何旨在包含在作品中的贡献,将按照上述方式双重许可,不附加任何其他条款或条件。
依赖项
~1.5MB
~36K SLoC