about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2023-12-29 17:34:50 -0800
committerDavid Tolnay <dtolnay@gmail.com>2024-05-11 15:49:51 -0700
commit0f6a51d4958dff5a29c121801bcdd619d71db541 (patch)
tree6a4bdb515be30dec1b68e6c8fa85c01c7eb02317
parent728e117166e1dab6f8333d61e1315172c558fce5 (diff)
downloadrust-0f6a51d4958dff5a29c121801bcdd619d71db541.tar.gz
rust-0f6a51d4958dff5a29c121801bcdd619d71db541.zip
Add macro calls to else-no-if parser test
-rw-r--r--tests/ui/parser/else-no-if.rs30
-rw-r--r--tests/ui/parser/else-no-if.stderr58
2 files changed, 83 insertions, 5 deletions
diff --git a/tests/ui/parser/else-no-if.rs b/tests/ui/parser/else-no-if.rs
index f0b40ecde66..ad5262cd2cc 100644
--- a/tests/ui/parser/else-no-if.rs
+++ b/tests/ui/parser/else-no-if.rs
@@ -1,3 +1,7 @@
+macro_rules! falsy {
+    () => { false };
+}
+
 fn foo() {
     if true {
     } 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 {
     false
 }
diff --git a/tests/ui/parser/else-no-if.stderr b/tests/ui/parser/else-no-if.stderr
index b9c1a75276c..9954505e7c8 100644
--- a/tests/ui/parser/else-no-if.stderr
+++ b/tests/ui/parser/else-no-if.stderr
@@ -1,5 +1,5 @@
 error: expected `{`, found keyword `false`
-  --> $DIR/else-no-if.rs:3:12
+  --> $DIR/else-no-if.rs:7:12
    |
 LL |     } else false {
    |       ---- ^^^^^
@@ -12,7 +12,7 @@ LL |     } else if false {
    |            ++
 
 error: expected `{`, found `falsy`
-  --> $DIR/else-no-if.rs:10:12
+  --> $DIR/else-no-if.rs:14:12
    |
 LL |     } else falsy() {
    |       ---- ^^^^^
@@ -25,7 +25,7 @@ LL |     } else if falsy() {
    |            ++
 
 error: expected `{`, found `falsy`
-  --> $DIR/else-no-if.rs:17:12
+  --> $DIR/else-no-if.rs:21:12
    |
 LL |     } else falsy();
    |            ^^^^^ expected `{`
@@ -36,7 +36,7 @@ LL |     } else { falsy() };
    |            +         +
 
 error: expected `{`, found keyword `loop`
-  --> $DIR/else-no-if.rs:23:12
+  --> $DIR/else-no-if.rs:27:12
    |
 LL |     } else loop{}
    |            ^^^^ expected `{`
@@ -46,5 +46,53 @@ help: try placing this code inside a block
 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