warning: this constant cannot be used --> $DIR/issue-43197.rs:18:5 | LL | const X: u32 = 0-1; | ^^^^^^^^^^^^^^^---^ | | | attempt to subtract with overflow | note: lint level defined here --> $DIR/issue-43197.rs:11:9 | LL | #![warn(const_err)] | ^^^^^^^^^ warning: this constant cannot be used --> $DIR/issue-43197.rs:20:5 | LL | const Y: u32 = foo(0-1); | ^^^^^^^^^^^^^^^^^^^---^^ | | | attempt to subtract with overflow error[E0080]: referenced constant has errors --> $DIR/issue-43197.rs:22:26 | LL | const Y: u32 = foo(0-1); | --- attempt to subtract with overflow LL | //~^ WARN this constant cannot be used LL | println!("{} {}", X, Y); | ^ error[E0080]: erroneous constant used --> $DIR/issue-43197.rs:22:26 | LL | println!("{} {}", X, Y); | ^ referenced constant has errors error[E0080]: referenced constant has errors --> $DIR/issue-43197.rs:22:23 | LL | const X: u32 = 0-1; | --- attempt to subtract with overflow ... LL | println!("{} {}", X, Y); | ^ error[E0080]: erroneous constant used --> $DIR/issue-43197.rs:22:23 | LL | println!("{} {}", X, Y); | ^ referenced constant has errors error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0080`.