#traits #macro #default #expand #display #collection #type

default-impl

一个用于实现具有默认实现的特性的宏

1 个不稳定版本

0.1.0 2024年1月20日

#2140Rust模式


2 个crate中使用(通过beetle-nonzero

MIT 许可协议

3KB

一个宏,它会展开到类型集合上特性的默认实现。

示例

trait Show: Display + Sized {
    fn show(&self) {
        println!("{self}");
    }
}

// Uses the default implementation of Show to implement it on all the provided types.
default_impl!(Show, u8, u16, u32, String, isize);

在这种情况下,default_impl 展开为什么

impl Show for u8 {}
impl Show for u16 {}
impl Show for u32 {}
impl Show for String {}
impl Show for isize {}

无运行时依赖