#delegates #derive #delegatable #read

fast_delegate_derive

代理结构体 easy

3个版本 (重大更新)

0.13.0 2024年7月24日
0.12.0 2024年7月21日
0.11.0 2024年7月7日

#5#delegatable

Download history 140/week @ 2024-07-07 3/week @ 2024-07-14 250/week @ 2024-07-21 25/week @ 2024-07-28

每月下载量 275
用于 fast_delegate

MIT 许可证

10KB
210

fast_delegate

优点

  • auto_delegate 仓库更快
  • deleagate 仓库更简单

缺点

此仓库的示例

#[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();
}

依赖关系

~225–660KB
~16K SLoC