#deref #derive #struct-fields #field #reference #deref-mut

derive_deref

添加 #[derive(Deref)]#[derive(DerefMut)]

5个稳定版本

使用旧Rust 2015

1.1.1 2020年6月28日
1.1.0 2019年6月9日
1.0.2 2019年1月27日
1.0.1 2018年4月10日
1.0.0 2018年1月15日

进程宏中排名 #151

Download history 8797/week @ 2023-12-16 3767/week @ 2023-12-23 6049/week @ 2023-12-30 7740/week @ 2024-01-06 6352/week @ 2024-01-13 7183/week @ 2024-01-20 7261/week @ 2024-01-27 8124/week @ 2024-02-03 8590/week @ 2024-02-10 9011/week @ 2024-02-17 8939/week @ 2024-02-24 9175/week @ 2024-03-02 11349/week @ 2024-03-09 9274/week @ 2024-03-16 8994/week @ 2024-03-23 8387/week @ 2024-03-30

每月下载量 39,603
65 个crate中(32 个直接) 使用

MIT/Apache 协议

7KB
83 行代码(不包括注释)

derive_deref

此crate添加了一个简单的 #[derive(Deref)]#[derive(DerefMut)]。它可以在任何只有一个字段的struct上使用。如果该字段的类型是引用,则直接返回该引用。

示例

#[derive(Deref)]
struct MyInt(i32);

assert_eq!(&1, &*MyInt(1));
assert_eq!(&2, &*MyInt(2));

#[derive(Deref)]
struct MyString<'a>(&'a str);

// Note that we deref to &str, not &&str
assert_eq!("foo", &*MyString("foo"));
assert_eq!("bar", &*MyString("bar"));

许可协议

以下任一协议许可

贡献

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

依赖项

~1.5MB
~33K SLoC