make panictry! private to libsyntax
This commit completely removes usage of the `panictry!` macro from outside libsyntax. The macro causes parse errors to be fatal, so using it in libsyntax_ext caused parse failures *within* a syntax extension to be fatal, which is probably not intended. Furthermore, this commit adds spans to diagnostics emitted by empty extensions if they were missing, à la #56491.
This commit is contained in:
10
src/test/ui/macros/format-parse-errors.rs
Normal file
10
src/test/ui/macros/format-parse-errors.rs
Normal file
@@ -0,0 +1,10 @@
|
||||
fn main() {
|
||||
format!(); //~ ERROR requires at least a format string argument
|
||||
format!(struct); //~ ERROR expected expression
|
||||
format!("s", name =); //~ ERROR expected expression
|
||||
format!("s", foo = struct); //~ ERROR expected expression
|
||||
format!("s", struct); //~ ERROR expected expression
|
||||
|
||||
// This error should come after parsing errors to ensure they are non-fatal.
|
||||
format!(123); //~ ERROR format argument must be a string literal
|
||||
}
|
||||
Reference in New Issue
Block a user