Fix invalid special casing of the unreachable! macro

This commit is contained in:
Loïc BRANSTETT
2022-01-21 23:04:06 +01:00
parent 86f5e177bc
commit 565710b33c
15 changed files with 140 additions and 19 deletions

View File

@@ -56,6 +56,14 @@ pub const fn panic_str(expr: &str) -> ! {
panic_display(&expr);
}
#[cfg(not(bootstrap))]
#[inline]
#[track_caller]
#[rustc_diagnostic_item = "unreachable_display"] // needed for `non-fmt-panics` lint
pub fn unreachable_display<T: fmt::Display>(x: &T) -> ! {
panic_fmt(format_args!("internal error: entered unreachable code: {}", *x));
}
#[inline]
#[track_caller]
#[lang = "panic_display"] // needed for const-evaluated panics