diff options
Diffstat (limited to 'src/test/ui/consts/const-eval/const-eval-overflow2.rs')
-rw-r--r-- | src/test/ui/consts/const-eval/const-eval-overflow2.rs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow2.rs b/src/test/ui/consts/const-eval/const-eval-overflow2.rs new file mode 100644 index 000000000..b11f7d698 --- /dev/null +++ b/src/test/ui/consts/const-eval/const-eval-overflow2.rs @@ -0,0 +1,79 @@ +#![allow(unused_imports)] + +// Note: the relevant lint pass here runs before some of the constant +// evaluation below (e.g., that performed by codegen and llvm), so if you +// change this warn to a deny, then the compiler will exit before +// those errors are detected. + +#![deny(const_err)] + +use std::fmt; + +const VALS_I8: (i8,) = + ( + i8::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_I16: (i16,) = + ( + i16::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_I32: (i32,) = + ( + i32::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_I64: (i64,) = + ( + i64::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_U8: (u8,) = + ( + u8::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_U16: (u16,) = ( + u16::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_U32: (u32,) = ( + u32::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +const VALS_U64: (u64,) = + ( + u64::MIN - 1, + ); + //~^^ ERROR any use of this value will cause an error + //~| WARN this was previously accepted by the compiler but is being phased out + +fn main() { + foo(VALS_I8); + foo(VALS_I16); + foo(VALS_I32); + foo(VALS_I64); + + foo(VALS_U8); + foo(VALS_U16); + foo(VALS_U32); + foo(VALS_U64); +} + +fn foo<T>(_: T) { +} |