diff options
Diffstat (limited to 'tests/ui/consts/const-eval/const-eval-overflow-2.rs')
-rw-r--r-- | tests/ui/consts/const-eval/const-eval-overflow-2.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-2.rs b/tests/ui/consts/const-eval/const-eval-overflow-2.rs new file mode 100644 index 000000000..535d91359 --- /dev/null +++ b/tests/ui/consts/const-eval/const-eval-overflow-2.rs @@ -0,0 +1,20 @@ +// Evaluation of constants in refutable patterns goes through +// different compiler control-flow paths. + +#![allow(unused_imports, warnings)] + +use std::fmt; +use std::{i8, i16, i32, i64, isize}; +use std::{u8, u16, u32, u64, usize}; + +const NEG_128: i8 = -128; +const NEG_NEG_128: i8 = -NEG_128; //~ ERROR constant + +fn main() { + match -128i8 { + NEG_NEG_128 => println!("A"), + //~^ ERROR could not evaluate constant pattern + //~| ERROR could not evaluate constant pattern + _ => println!("B"), + } +} |