about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2018-10-18 05:58:20 -0400
committerNiko Matsakis <niko@alum.mit.edu>2018-10-19 09:34:28 -0400
commitd5d5e8c5f52ccc5f88f8cf691118e364e64bf75b (patch)
tree2fcedb722ee17271631f294a79d1676456417e7e /src/test/ui
parent26fdac62244233a6dae0240ea649c49c188cc1b6 (diff)
lowering casts in constants now creates multiple uses
This can trigger more errors than before. Not sure what is the best
fix here.
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/consts/const-eval/conditional_array_execution.rs5
-rw-r--r--src/test/ui/consts/const-eval/conditional_array_execution.stderr16
-rw-r--r--src/test/ui/consts/const-eval/promoted_errors.stderr6
3 files changed, 21 insertions, 6 deletions
diff --git a/src/test/ui/consts/const-eval/conditional_array_execution.rs b/src/test/ui/consts/const-eval/conditional_array_execution.rs
index b3f56f27f63..9a6ffcd2c67 100644
--- a/src/test/ui/consts/const-eval/conditional_array_execution.rs
+++ b/src/test/ui/consts/const-eval/conditional_array_execution.rs
@@ -14,9 +14,10 @@ const X: u32 = 5;
 const Y: u32 = 6;
 const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
 //~^ WARN this constant cannot be used
+//~| ERROR
 
 fn main() {
     println!("{}", FOO);
-    //~^ ERROR erroneous constant used
-    //~| E0080
+    //~^ ERROR
+    //~| ERROR
 }
diff --git a/src/test/ui/consts/const-eval/conditional_array_execution.stderr b/src/test/ui/consts/const-eval/conditional_array_execution.stderr
index 29f5f8e2ade..b22a8d8aead 100644
--- a/src/test/ui/consts/const-eval/conditional_array_execution.stderr
+++ b/src/test/ui/consts/const-eval/conditional_array_execution.stderr
@@ -13,7 +13,7 @@ LL | #![warn(const_err)]
    |         ^^^^^^^^^
 
 error[E0080]: referenced constant has errors
-  --> $DIR/conditional_array_execution.rs:19:20
+  --> $DIR/conditional_array_execution.rs:20:20
    |
 LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
    |                   ----- attempt to subtract with overflow
@@ -21,12 +21,20 @@ LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
 LL |     println!("{}", FOO);
    |                    ^^^
 
-error[E0080]: erroneous constant used
-  --> $DIR/conditional_array_execution.rs:19:20
+error[E0080]: could not evaluate constant
+  --> $DIR/conditional_array_execution.rs:20:20
    |
 LL |     println!("{}", FOO);
    |                    ^^^ referenced constant has errors
 
-error: aborting due to 2 previous errors
+error[E0080]: constant evaluation error
+  --> $DIR/conditional_array_execution.rs:15:1
+   |
+LL | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize];
+   | ^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |                   |
+   |                   attempt to subtract with overflow
+
+error: aborting due to 3 previous errors
 
 For more information about this error, try `rustc --explain E0080`.
diff --git a/src/test/ui/consts/const-eval/promoted_errors.stderr b/src/test/ui/consts/const-eval/promoted_errors.stderr
index 85b5696be94..1c4868c2af9 100644
--- a/src/test/ui/consts/const-eval/promoted_errors.stderr
+++ b/src/test/ui/consts/const-eval/promoted_errors.stderr
@@ -34,6 +34,12 @@ warning: attempt to divide by zero
 LL |     println!("{}", 1/(false as u32));
    |                    ^^^^^^^^^^^^^^^^
 
+warning: this expression will panic at runtime
+  --> $DIR/promoted_errors.rs:24:20
+   |
+LL |     println!("{}", 1/(false as u32));
+   |                    ^^^^^^^^^^^^^^^^ attempt to divide by zero
+
 warning: attempt to divide by zero
   --> $DIR/promoted_errors.rs:26:14
    |