5 releases (stable)
| 2.1.0 | Aug 15, 2023 |
|---|---|
| 2.0.1 | Aug 15, 2023 |
| 1.0.0 | Jul 7, 2023 |
| 0.1.0 | Jul 7, 2023 |
#9 in #deref-mut
189 downloads per month
Used in 2 crates
10KB
112 lines
derived-deref
A crate for deriving the Deref
and DerefMut
traits from the standard library onto structs with at least one field.
Fields with references are passed directly.
Examples
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:
A crate for deriving the Deref
and DerefMut
traits from the standard library onto structs with at least one field.
Fields with references are passed directly.
Examples
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);
Dependencies
~225–670KB
~16K SLoC