#![allow(arithmetic_overflow, unconditional_panic)] // The only way to have promoteds that fail is in `const fn` called from `const`/`static`. // Make sure that in a `const` block, we do not promote such calls. const fn div_by_zero() -> i32 { 1 / 0 } const fn mk_false() -> bool { false } fn main() { let v = const { if mk_false() { let _x: &'static i32 = &div_by_zero(); //~^ ERROR: temporary value dropped while borrowed } 42 }; }