Use PanicHookInfo::payload_as_str now that it's stable in beta
This commit is contained in:
parent
959b450747
commit
d8a1edc718
1 changed files with 1 additions and 14 deletions
|
|
@ -42,7 +42,7 @@ fn custom_panic_hook(default_hook: &PanicHook, info: &panic::PanicHookInfo<'_>)
|
|||
|
||||
let thread = thread::current().name().unwrap_or("(test runner)").to_owned();
|
||||
let location = get_location(info);
|
||||
let payload = payload_as_str(info).unwrap_or("Box<dyn Any>");
|
||||
let payload = info.payload_as_str().unwrap_or("Box<dyn Any>");
|
||||
let backtrace = Backtrace::capture();
|
||||
|
||||
writeln!(out, "\nthread '{thread}' panicked at {location}:\n{payload}").unwrap();
|
||||
|
|
@ -72,19 +72,6 @@ fn get_location<'a>(info: &'a PanicHookInfo<'_>) -> &'a dyn Display {
|
|||
}
|
||||
}
|
||||
|
||||
/// FIXME(Zalathar): Replace with `PanicHookInfo::payload_as_str` when that's
|
||||
/// stable in beta.
|
||||
fn payload_as_str<'a>(info: &'a PanicHookInfo<'_>) -> Option<&'a str> {
|
||||
let payload = info.payload();
|
||||
if let Some(s) = payload.downcast_ref::<&str>() {
|
||||
Some(s)
|
||||
} else if let Some(s) = payload.downcast_ref::<String>() {
|
||||
Some(s)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
fn rust_backtrace_full() -> bool {
|
||||
static RUST_BACKTRACE_FULL: LazyLock<bool> =
|
||||
LazyLock::new(|| matches!(env::var("RUST_BACKTRACE").as_deref(), Ok("full")));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue