#traits #macro #declaring #time #single

single-trait-impl

同时声明和实现特质的宏

1个不稳定版本

0.1.0 2023年3月13日

1287过程宏

33 每月下载量

MIT 许可证

4KB

single-trait-impl

提供了一个宏,用于同时声明和实现特质。当您只想向现有结构体添加功能,而不打算在其它结构体上也实现时,这很有用。

换句话说,这个宏简化了为单个结构体实现自己的特质的冗长过程。

#[single_trait_impl]
impl SocketAddrEx for std::net::SocketAddr {
    fn useful_function(&self) {
    }
}

这将扩展为以下代码

pub trait SocketAddrEx {
    fn useful_function(&self);
}

impl SocketAddrEx for std::net::SocketAddr {
    fn useful_function(&self) {
    }
}

依赖

~1.5MB
~36K SLoC