3 个不稳定版本

0.2.1 2023年12月16日
0.2.0 2022年5月30日
0.1.0 2022年4月4日

#1234Rust 模式

Download history 108/week @ 2024-03-11 48/week @ 2024-03-18 54/week @ 2024-03-25 196/week @ 2024-04-01 113/week @ 2024-04-08 48/week @ 2024-04-15 73/week @ 2024-04-22 48/week @ 2024-04-29 81/week @ 2024-05-06 101/week @ 2024-05-13 158/week @ 2024-05-20 143/week @ 2024-05-27 54/week @ 2024-06-03 145/week @ 2024-06-10 89/week @ 2024-06-17 60/week @ 2024-06-24

352 每月下载量

MIT 许可证

11KB
122

Inter-struct 提供了各种 derive 宏,以在任意结构体之间实现特质。

当前可用的 derive 宏包括

  • StructMerge
  • StructMergeRef
  • StructInto
  • StructDefault

使用此类 derive 宏的一般方式如下

#[derive(StructInto)]
#[struct_into(["crate::path_to::TargetStruct"])]
pub struct Test {
    pub test: String,
}

此示例生成一个 impl Into<TargetStruct> for Test,它将 Test 转换为某个 TargetStruct

请注意,目标结构体的路径必须

  • 包含在此包中。
  • 相对于当前包。

可以指定单个路径或路径列表。然后将为每个指定的目标结构体实现特质。

#[struct_into("crate::path_to::TargetStruct")]
// or
#[struct_into(["crate::path_to::TargetStruct", "crate::path_to::AnotherTargetStruct"])]

每个 derive 宏都可以有自己的选项,因此请查看此包中每个 derive 宏的单独文档。

依赖

~280–730KB
~18K SLoC