#deref #deref-mut #field #deriving #traits #derived #reference

derived-deref

用于派生DerefDerefMut特质的Crate

5个版本 (稳定)

2.1.0 2023年8月15日
2.0.1 2023年8月15日
1.0.0 2023年7月7日
0.1.0 2023年7月7日

#8#deref-mut

Download history 4/week @ 2024-04-12 3/week @ 2024-04-19 7/week @ 2024-04-26 16/week @ 2024-05-03 22/week @ 2024-05-10 19/week @ 2024-05-17 29/week @ 2024-05-24 21/week @ 2024-05-31 28/week @ 2024-06-07 20/week @ 2024-06-14 28/week @ 2024-06-21 4/week @ 2024-06-28 39/week @ 2024-07-05 70/week @ 2024-07-12 52/week @ 2024-07-19 54/week @ 2024-07-26

215 每月下载次数
2 crates 中使用

MIT/Apache

10KB
112

derived-deref

一个用于从具有至少一个字段的struct派生标准库中的DerefDerefMut特质的Crate。具有引用的字段将直接传递。

示例

use derived_deref::{Deref, DerefMut};

#[derive(Deref, DerefMut)]
struct StringWithCount {
    // Annotation of `#[target]` is required when there are two+ fields.
    #[target] inner: String,
    count: usize,
}


// When there is only one field, annotation is optional instead.

#[derive(Deref, DerefMut)]
struct StringWrapper(String);

#[derive(Deref, DerefMut)]
struct CountWrapper(#[target] usize);

lib.rs:

一个用于从具有至少一个字段的struct派生标准库中的DerefDerefMut特质的Crate。具有引用的字段将直接传递。

示例

use derived_deref::{Deref, DerefMut};

#[derive(Deref, DerefMut)]
struct StringWithCount {
    // Annotation of `#[target]` is required when there are two+ fields.
    #[target] inner: String,
    count: usize,
}


// When there is only one field, annotation is optional instead.

#[derive(Deref, DerefMut)]
struct StringWrapper(String);

#[derive(Deref, DerefMut)]
struct CountWrapper(#[target] usize);

依赖

~265–710KB
~17K SLoC