20 个版本 (13 个稳定版)

使用旧的 Rust 2015

2.2.0 2021 年 1 月 23 日
2.1.1 2020 年 4 月 11 日
2.1.0 2020 年 3 月 29 日
1.0.4 2020 年 3 月 9 日
0.3.0 2016 年 11 月 29 日

#146 in Rust 模式

Download history 621396/week @ 2024-03-14 623896/week @ 2024-03-21 641882/week @ 2024-03-28 668679/week @ 2024-04-04 641592/week @ 2024-04-11 638911/week @ 2024-04-18 612281/week @ 2024-04-25 605698/week @ 2024-05-02 600084/week @ 2024-05-09 622260/week @ 2024-05-16 618919/week @ 2024-05-23 651588/week @ 2024-05-30 628155/week @ 2024-06-06 661283/week @ 2024-06-13 648078/week @ 2024-06-20 561546/week @ 2024-06-27

2,622,806 每月下载量
5,545 个crate中使用 (570 个直接使用)

MIT/Apache

98KB
2.5K SLoC

Derivative

Crates.io Crates.io Continuous integration

此crate提供了一组可定制的替代 #[derive] 属性,用于Rust。

文档

稳定性

此crate是稳定的,遵循semver。它需要rustc 1.34或更高版本,更改最小rustc版本将被视为semver破坏性更改。

功能

#[derive(Derivative)]
#[derivative(Debug)]
struct Foo {
    foo: u8,
    #[derivative(Debug="ignore")]
    bar: u8,
}

// Prints `Foo { foo: 42 }`
println!("{:?}", Foo { foo: 42, bar: 1 });

更多信息请查看文档

许可

许可如下

任选其一。

致谢

此项目受到了serde如何美妙地处理属性的启发。此项目也从serde本身借鉴了一些代码和想法。

一些测试直接改编自rustc的测试。

贡献

除非你明确声明,否则任何有意提交以包含在你提供的工作中的贡献,根据Apache-2.0许可证定义,均应按上述方式双重许可,不附加任何额外条款或条件。

依赖

~1.5MB
~34K SLoC