//@ forbid-output: in this expansion of macro_rules! make_method { ($name:ident) => ( fn $name(&self) { } ) } struct S; impl S { // We had a bug where these wouldn't clean up macro backtrace frames. make_method!(foo1); make_method!(foo2); make_method!(foo3); make_method!(foo4); make_method!(foo5); make_method!(foo6); make_method!(foo7); make_method!(foo8); // Cause an error. It shouldn't have any macro backtrace frames. fn bar(&self) { } fn bar(&self) { } //~ ERROR duplicate definitions } fn main() { }