Do not recover when parsing stmt in cfg-eval.

This commit is contained in:
Camille GILLOT 2023-05-01 08:51:47 +00:00
parent f2eb9f85b9
commit d56ce8e199
4 changed files with 38 additions and 2 deletions

View file

@ -0,0 +1,13 @@
// Verify that we do not ICE when failing to parse a statement in `cfg_eval`.
#![feature(cfg_eval)]
#![feature(stmt_expr_attributes)]
#[cfg_eval]
fn main() {
#[cfg_eval]
let _ = #[cfg(FALSE)] 0;
//~^ ERROR removing an expression is not supported in this position
//~| ERROR expected expression, found `;`
//~| ERROR removing an expression is not supported in this position
}

View file

@ -0,0 +1,20 @@
error: removing an expression is not supported in this position
--> $DIR/cfg-stmt-recovery.rs:9:13
|
LL | let _ = #[cfg(FALSE)] 0;
| ^^^^^^^^^^^^^
error: expected expression, found `;`
--> $DIR/cfg-stmt-recovery.rs:9:28
|
LL | let _ = #[cfg(FALSE)] 0;
| ^ expected expression
error: removing an expression is not supported in this position
--> $DIR/cfg-stmt-recovery.rs:9:13
|
LL | let _ = #[cfg(FALSE)] 0;
| ^^^^^^^^^^^^^
error: aborting due to 3 previous errors