Add macro calls to else-no-if parser test

This commit is contained in:
David Tolnay 2023-12-29 17:34:50 -08:00
parent 728e117166
commit 0f6a51d495
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
2 changed files with 83 additions and 5 deletions

View File

@ -1,3 +1,7 @@
macro_rules! falsy {
() => { false };
}
fn foo() { fn foo() {
if true { if true {
} else false { } else false {
@ -25,6 +29,32 @@ fn foo4() {
{} {}
} }
fn foo5() {
if true {
} else falsy!() {
//~^ ERROR expected `{`, found `falsy`
}
}
fn foo6() {
if true {
} else falsy!();
//~^ ERROR expected `{`, found `falsy`
}
fn foo7() {
if true {
} else falsy! {} {
//~^ ERROR expected `{`, found `falsy`
}
}
fn foo8() {
if true {
} else falsy! {};
//~^ ERROR expected `{`, found `falsy`
}
fn falsy() -> bool { fn falsy() -> bool {
false false
} }

View File

@ -1,5 +1,5 @@
error: expected `{`, found keyword `false` error: expected `{`, found keyword `false`
--> $DIR/else-no-if.rs:3:12 --> $DIR/else-no-if.rs:7:12
| |
LL | } else false { LL | } else false {
| ---- ^^^^^ | ---- ^^^^^
@ -12,7 +12,7 @@ LL | } else if false {
| ++ | ++
error: expected `{`, found `falsy` error: expected `{`, found `falsy`
--> $DIR/else-no-if.rs:10:12 --> $DIR/else-no-if.rs:14:12
| |
LL | } else falsy() { LL | } else falsy() {
| ---- ^^^^^ | ---- ^^^^^
@ -25,7 +25,7 @@ LL | } else if falsy() {
| ++ | ++
error: expected `{`, found `falsy` error: expected `{`, found `falsy`
--> $DIR/else-no-if.rs:17:12 --> $DIR/else-no-if.rs:21:12
| |
LL | } else falsy(); LL | } else falsy();
| ^^^^^ expected `{` | ^^^^^ expected `{`
@ -36,7 +36,7 @@ LL | } else { falsy() };
| + + | + +
error: expected `{`, found keyword `loop` error: expected `{`, found keyword `loop`
--> $DIR/else-no-if.rs:23:12 --> $DIR/else-no-if.rs:27:12
| |
LL | } else loop{} LL | } else loop{}
| ^^^^ expected `{` | ^^^^ expected `{`
@ -46,5 +46,53 @@ help: try placing this code inside a block
LL | } else { loop{} } LL | } else { loop{} }
| + + | + +
error: aborting due to 4 previous errors error: expected `{`, found `falsy`
--> $DIR/else-no-if.rs:34:12
|
LL | } else falsy!() {
| ---- ^^^^^
| |
| expected an `if` or a block after this `else`
|
help: add an `if` if this is the condition of a chained `else if` statement
|
LL | } else if falsy!() {
| ++
error: expected `{`, found `falsy`
--> $DIR/else-no-if.rs:41:12
|
LL | } else falsy!();
| ^^^^^ expected `{`
|
help: try placing this code inside a block
|
LL | } else { falsy!() };
| + +
error: expected `{`, found `falsy`
--> $DIR/else-no-if.rs:47:12
|
LL | } else falsy! {} {
| ---- ^^^^^
| |
| expected an `if` or a block after this `else`
|
help: add an `if` if this is the condition of a chained `else if` statement
|
LL | } else if falsy! {} {
| ++
error: expected `{`, found `falsy`
--> $DIR/else-no-if.rs:54:12
|
LL | } else falsy! {};
| ^^^^^ expected `{`
|
help: try placing this code inside a block
|
LL | } else { falsy! {} };
| + +
error: aborting due to 8 previous errors