error[E0080]: evaluation of constant value failed --> $DIR/issue-44578.rs:27:20 | LL | println!("{}", as Foo>::AMT); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors error: aborting due to previous error For more information about this error, try `rustc --explain E0080`. Future incompatibility report: Future breakage diagnostic: warning: any use of this value will cause an error --> $DIR/issue-44578.rs:15:24 | LL | const AMT: usize = [A::AMT][(A::AMT > B::AMT) as usize]; | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1 | note: the lint level is defined here --> $DIR/issue-44578.rs:3:10 | LL | #![allow(const_err)] | ^^^^^^^^^ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #71800 Future breakage diagnostic: warning: erroneous constant used --> $DIR/issue-44578.rs:27:20 | LL | println!("{}", as Foo>::AMT); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors | note: the lint level is defined here --> $DIR/issue-44578.rs:3:10 | LL | #![allow(const_err)] | ^^^^^^^^^ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #71800 = note: this warning originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)