about summary refs log tree commit diff
path: root/src/test/ui/expr
diff options
context:
space:
mode:
authorCaio <c410.f3r@gmail.com>2021-02-16 21:22:21 -0300
committerCaio <c410.f3r@gmail.com>2021-02-16 21:22:21 -0300
commite7e93717ce8e6f5cec217ebfcda2d8c8b76f6b49 (patch)
tree95e02203894ab5b08fd6c2d6088c56a65549310c /src/test/ui/expr
parent097bc6a84f2280a889b9ab4b544f27851a978927 (diff)
downloadrust-e7e93717ce8e6f5cec217ebfcda2d8c8b76f6b49.tar.gz
rust-e7e93717ce8e6f5cec217ebfcda2d8c8b76f6b49.zip
Move some tests to more reasonable directories
Diffstat (limited to 'src/test/ui/expr')
-rw-r--r--src/test/ui/expr/if/expr-if-panic-pass.rs18
-rw-r--r--src/test/ui/expr/if/issue-4201.rs9
-rw-r--r--src/test/ui/expr/if/issue-4201.stderr18
3 files changed, 45 insertions, 0 deletions
diff --git a/src/test/ui/expr/if/expr-if-panic-pass.rs b/src/test/ui/expr/if/expr-if-panic-pass.rs
new file mode 100644
index 00000000000..6069cd835e1
--- /dev/null
+++ b/src/test/ui/expr/if/expr-if-panic-pass.rs
@@ -0,0 +1,18 @@
+// run-pass
+
+fn test_if_panic() {
+    let x = if false { panic!() } else { 10 };
+    assert_eq!(x, 10);
+}
+
+fn test_else_panic() {
+    let x = if true { 10 } else { panic!() };
+    assert_eq!(x, 10);
+}
+
+fn test_elseif_panic() {
+    let x = if false { 0 } else if false { panic!() } else { 10 };
+    assert_eq!(x, 10);
+}
+
+pub fn main() { test_if_panic(); test_else_panic(); test_elseif_panic(); }
diff --git a/src/test/ui/expr/if/issue-4201.rs b/src/test/ui/expr/if/issue-4201.rs
new file mode 100644
index 00000000000..1f292229fd6
--- /dev/null
+++ b/src/test/ui/expr/if/issue-4201.rs
@@ -0,0 +1,9 @@
+fn main() {
+    let a = if true {
+        0
+    } else if false {
+//~^ ERROR `if` may be missing an `else` clause
+//~| expected `()`, found integer
+        1
+    };
+}
diff --git a/src/test/ui/expr/if/issue-4201.stderr b/src/test/ui/expr/if/issue-4201.stderr
new file mode 100644
index 00000000000..bc638ddf55b
--- /dev/null
+++ b/src/test/ui/expr/if/issue-4201.stderr
@@ -0,0 +1,18 @@
+error[E0317]: `if` may be missing an `else` clause
+  --> $DIR/issue-4201.rs:4:12
+   |
+LL |       } else if false {
+   |  ____________^
+LL | |
+LL | |
+LL | |         1
+   | |         - found here
+LL | |     };
+   | |_____^ expected `()`, found integer
+   |
+   = note: `if` expressions without `else` evaluate to `()`
+   = help: consider adding an `else` block that evaluates to the expected type
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0317`.