3 releases (breaking)
0.13.0 | Jul 24, 2024 |
---|---|
0.12.0 | Jul 21, 2024 |
0.11.0 | Jul 7, 2024 |
#13 in #delegates
Used in fast_delegate
10KB
210 lines
fast_delegate
Pros
- Faster than
auto_delegate
crate - Easier than
deleagate
crate
Cons
- All delegatable traits must be object safe.
example of this crate
#[delegate]
pub trait Read {
fn read(&self) -> &usize;
}
#[derive(Delegate)]
struct Wrapper<R>
where
R: Read,
{
#[to(Read)]
inner: R,
}
struct Io {
value: usize,
}
impl Read for Io {
fn read(&self) -> &usize {
&self.value
}
}
fn main() {
let wrapper = Wrapper {
inner: Io { value: 1 },
};
wrapper.read();
}
Dependencies
~240–690KB
~16K SLoC