// A more comprehensive test that const parameters have correctly implemented // hygiene // check-pass use std::ops::Add; struct VectorLike([T; {SIZE}]); macro_rules! impl_operator_overload { ($trait_ident:ident, $method_ident:ident) => { impl $trait_ident for VectorLike where T: $trait_ident, { type Output = VectorLike; fn $method_ident(self, _: VectorLike) -> VectorLike { let _ = SIZE; unimplemented!() } } } } impl_operator_overload!(Add, add); fn main() {}