use std::fmt::Write;
pub fn setup() {
if cfg!(release) {
std::panic::set_hook(box |info| {
if cfg!(detailed_panic) {
let mut message = "program panicked".to_owned();
if let Some(location) = info.location() {
write!(&mut message, " at {}:{}", location.file(), location.line()).ok();
}
if let Some(payload) = info.payload().downcast_ref::<&str>() {
write!(&mut message, " with payload: {}", payload).ok();
}
println!("{}", message);
}
std::process::exit(-1);
});
}
}