#枚举 #serde #整数 #标签 #标记 #进程 #进程宏

tagged-serde

为具有整数标记的serde枚举提供的进程宏

1 个不稳定版本

0.1.0 2024年3月28日

#20 in #标签


nix-remote 中使用

MIT 许可证

8KB
134 代码行

tagged-serde

此crate包含一个进程宏,用于为具有整数标记的枚举(即标记联合)生成serde实现。由于缺乏详尽的文档,主要思想是

#[derive(TaggedSerde)]
enum MyEnum {
  #[tagged_serde = 1]
  Str(String),
  #[tagged_serde = 42]
  Int(i32),
}

将定义 serde::Serializeserde::Deserialize 实现,以便 MyEnum 中的 MyEnum::Str("hi") 将被序列化为 (1, "hi"),而 MyEnum::Int(5) 将被序列化为 (42, 5)

依赖项

~270–720KB
~17K SLoC