#derivative #attributes #fork #tulip

tulip-derivative

tulip的derivative分支

1个稳定版本

使用旧Rust 2015

2.2.1 2022年3月2日

#39 in #derivative


用于 tulipv2-sdk-vaults

MIT/Apache

98KB
2.5K SLoC

Derivative

Crates.io Crates.io Continuous integration

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

文档

稳定性

此包是稳定的,并遵循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
~35K SLoC