// 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 | |
} |