defatalize BangProcMacro::expand

This commit is contained in:
Mazdak Farrokhzad 2020-03-17 10:09:18 +01:00
parent b0537e2081
commit 35cca74212
8 changed files with 52 additions and 25 deletions

View file

@ -14,3 +14,5 @@
extern crate invalid_punct_ident;
invalid_punct!(); //~ ERROR proc macro panicked
fn main() {}

View file

@ -14,3 +14,5 @@
extern crate invalid_punct_ident;
invalid_ident!(); //~ ERROR proc macro panicked
fn main() {}

View file

@ -14,3 +14,5 @@
extern crate invalid_punct_ident;
invalid_raw_ident!(); //~ ERROR proc macro panicked
fn main() {}

View file

@ -1,7 +1,10 @@
// aux-build:invalid-punct-ident.rs
#[macro_use]
// We use `main` not found below as a witness for error recovery in proc macro expansion.
#[macro_use] //~ ERROR `main` function not found
extern crate invalid_punct_ident;
lexer_failure!(); //~ ERROR proc macro panicked
//~| ERROR unexpected closing delimiter: `)`
lexer_failure!();
//~^ ERROR proc macro panicked
//~| ERROR unexpected closing delimiter: `)`

View file

@ -1,5 +1,5 @@
error: unexpected closing delimiter: `)`
--> $DIR/invalid-punct-ident-4.rs:6:1
--> $DIR/invalid-punct-ident-4.rs:8:1
|
LL | lexer_failure!();
| ^^^^^^^^^^^^^^^^^ unexpected closing delimiter
@ -7,10 +7,20 @@ LL | lexer_failure!();
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: proc macro panicked
--> $DIR/invalid-punct-ident-4.rs:6:1
--> $DIR/invalid-punct-ident-4.rs:8:1
|
LL | lexer_failure!();
| ^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors
error[E0601]: `main` function not found in crate `invalid_punct_ident_4`
--> $DIR/invalid-punct-ident-4.rs:5:1
|
LL | / #[macro_use]
LL | | extern crate invalid_punct_ident;
LL | |
LL | | lexer_failure!();
| |_________________^ consider adding a `main` function to `$DIR/invalid-punct-ident-4.rs`
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0601`.