From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:03 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- .../ui/consts/const-eval/const-eval-overflow2c.rs | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 tests/ui/consts/const-eval/const-eval-overflow2c.rs (limited to 'tests/ui/consts/const-eval/const-eval-overflow2c.rs') diff --git a/tests/ui/consts/const-eval/const-eval-overflow2c.rs b/tests/ui/consts/const-eval/const-eval-overflow2c.rs new file mode 100644 index 000000000..33b892601 --- /dev/null +++ b/tests/ui/consts/const-eval/const-eval-overflow2c.rs @@ -0,0 +1,69 @@ +#![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. + +use std::fmt; + +const VALS_I8: (i8,) = + ( + i8::MIN * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_I16: (i16,) = + ( + i16::MIN * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_I32: (i32,) = + ( + i32::MIN * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_I64: (i64,) = + ( + i64::MIN * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_U8: (u8,) = + ( + u8::MAX * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_U16: (u16,) = ( + u16::MAX * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_U32: (u32,) = ( + u32::MAX * 2, + ); + //~^^ ERROR evaluation of constant value failed + +const VALS_U64: (u64,) = + ( + u64::MAX * 2, + ); + //~^^ ERROR evaluation of constant value failed + +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) { +} -- cgit v1.2.3