use duplicate::*;
#[duplicate_item(
name;
duplicate!{[ some_name; [SomeName1]; [SomeName2] ]
[some_name];
}
[SomeName3]
)]pub struct name();
#[duplicate_item(
name;
duplicate!{[ some_name; [SomeName4]; [SomeName5] ]
[some_name];
}
duplicate!{
[ // Test verbose syntax in nested call
[ some_name [SomeName6] ]
[ some_name [SomeName7] ]
]
[some_name];
}
)]pub struct name();
trait SomeTrait<T1, T2> {}
#[duplicate_item(
member1 member2;
duplicate!{ [ typ; [u8]; [u16]]
[typ] [u32];
[typ] [u64];
}
)]impl SomeTrait<member1, member2> for (){}
#[duplicate_item(
member1 member2;
duplicate!{[ typ; [i8]; [i16]]
duplicate!{[ typ2; [i32]; [i64] ]
[typ] [typ2];
}
}
)]impl SomeTrait<member1, member2> for (){}
#[duplicate_item(
name some_int;
[outer_1] [1];
[outer_2] [2]
)]fn name()
{
substitute! ( [
sub [ some_int ]
]
sub;
)
}