--- /dev/null
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+const X: u32 = 5;
+const Y: u32 = 6;
+const FOO: u32 = [X - Y, Y - X][(X < Y) as usize]; //~ E0080
+
+fn main() {
+ println!("{}", FOO); //~ E0080
+}
--- /dev/null
+error[E0080]: constant evaluation error
+ --> $DIR/conditional_array_execution.rs:13:19
+ |
+13 | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize]; //~ E0080
+ | ^^^^^ attempt to subtract with overflow
+ |
+note: inside call to FOO
+ --> $DIR/conditional_array_execution.rs:13:1
+ |
+13 | const FOO: u32 = [X - Y, Y - X][(X < Y) as usize]; //~ E0080
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0080]: constant evaluation error
+ --> $DIR/conditional_array_execution.rs:16:20
+ |
+16 | println!("{}", FOO); //~ E0080
+ | ^^^ attempt to subtract with overflow
+ |
+note: inside call to main
+ --> $DIR/conditional_array_execution.rs:16:20
+ |
+16 | println!("{}", FOO); //~ E0080
+ | ^^^
+
+error: aborting due to 2 previous errors
+