batch_trait!() { /* proc-macro */ }Expand description
对已声明的 trait 批量生成 impl 块的函数式宏。
§语法
batch_trait!(Trait路径: impl-specs; Trait路径: impl-specs): 前是 trait 路径(支持 sub::MyTrait),: 后是 #[batch_impl] 同款参数,
; 分隔不同的 trait。
trait A {}
trait B<T> {}
mod foo { pub trait C {} }
batch_trait!(
A: usize, isize;
B: <T> B<T> Vec<T>;
foo::C: u32
);
// → impl A for usize {} + impl A for isize {}
// → impl<T> B<T> for Vec<T> {}
// → impl foo::C for u32 {}注意:trait 有泛型时,必须在 : 后的 impl-spec 中显式写出 Trait名<泛型>。