warning: any use of this value will cause an error --> $DIR/issue-43197.rs:10:20 | LL | const X: u32 = 0 - 1; | ---------------^^^^^- | | | attempt to compute `0_u32 - 1_u32` which would overflow | note: the lint level is defined here --> $DIR/issue-43197.rs:3:9 | LL | #![warn(const_err)] | ^^^^^^^^^ warning: any use of this value will cause an error --> $DIR/issue-43197.rs:12:24 | LL | const Y: u32 = foo(0 - 1); | -------------------^^^^^-- | | | attempt to compute `0_u32 - 1_u32` which would overflow error[E0080]: evaluation of constant expression failed --> $DIR/issue-43197.rs:14:23 | LL | println!("{} {}", X, Y); | ^ referenced constant has errors warning: erroneous constant used --> $DIR/issue-43197.rs:14:23 | LL | println!("{} {}", X, Y); | ^ referenced constant has errors error[E0080]: evaluation of constant expression failed --> $DIR/issue-43197.rs:14:26 | LL | println!("{} {}", X, Y); | ^ referenced constant has errors warning: erroneous constant used --> $DIR/issue-43197.rs:14:26 | LL | println!("{} {}", X, Y); | ^ referenced constant has errors error: aborting due to 2 previous errors; 4 warnings emitted For more information about this error, try `rustc --explain E0080`.