//@revisions: noopt opt //@ build-fail //@[noopt] compile-flags: -Copt-level=0 //@[opt] compile-flags: -O //! This fails without optimizations, so it should also fail with optimizations. struct Fail(T); impl Fail { const C: () = panic!(); //~ERROR evaluation of `Fail::::C` failed } #[inline(never)] fn not_called() { if false { let _ = Fail::::C; } } #[inline(never)] fn callit_not(f: impl Fn()) { if false { f(); } } fn main() { if false { callit_not(not_called::) } }