#![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 | |
}; | |
} |