1
Fork 0

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:
Andy Russell 2018-12-04 14:10:32 -05:00
parent cae164753f
commit 0a6fb84738
No known key found for this signature in database
GPG key ID: BE2221033EDBC374
22 changed files with 451 additions and 134 deletions

View file

@ -0,0 +1,44 @@
error: requires at least a format string argument
--> $DIR/format-parse-errors.rs:2:5
|
LL | format!(); //~ ERROR requires at least a format string argument
| ^^^^^^^^^^
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
error: expected expression, found keyword `struct`
--> $DIR/format-parse-errors.rs:3:13
|
LL | format!(struct); //~ ERROR expected expression
| ^^^^^^ expected expression
error: expected expression, found `<eof>`
--> $DIR/format-parse-errors.rs:4:23
|
LL | format!("s", name =); //~ ERROR expected expression
| ^ expected expression
error: expected expression, found keyword `struct`
--> $DIR/format-parse-errors.rs:5:24
|
LL | format!("s", foo = struct); //~ ERROR expected expression
| ^^^^^^ expected expression
error: expected expression, found keyword `struct`
--> $DIR/format-parse-errors.rs:6:18
|
LL | format!("s", struct); //~ ERROR expected expression
| ^^^^^^ expected expression
error: format argument must be a string literal
--> $DIR/format-parse-errors.rs:9:13
|
LL | format!(123); //~ ERROR format argument must be a string literal
| ^^^
help: you might be missing a string literal to format with
|
LL | format!("{}", 123); //~ ERROR format argument must be a string literal
| ^^^^^
error: aborting due to 6 previous errors