| // In case of macro expansion, the errors should be matched using the deepest callsite in the | |
| // macro call stack whose span is in the current file | |
| macro_rules! macro_with_error { | |
| ( ) => { | |
| println!("{"); //~ ERROR invalid | |
| }; | |
| } | |
| fn foo() { | |
| } | |
| fn main() { | |
| macro_with_error!(); | |
| //^ In case of a local macro we want the error to be matched in the macro definition, not here | |
| println!("}"); //~ ERROR invalid | |
| //^ In case of an external macro we want the error to be matched here | |
| } |