1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// check-pass trait Foo1 {} trait A {} macro_rules! foo1(($t:path) => { impl<T: $t> Foo1 for T {} }); foo1!(A); trait Foo2 {} trait B<T> {} #[allow(unused)] struct C {} macro_rules! foo2(($t:path) => { impl<T: $t> Foo2 for T {} }); foo2!(B<C>); fn main() {}