summaryrefslogtreecommitdiffstats
path: root/library/core/src/panic/panic_info.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/core/src/panic/panic_info.rs')
-rw-r--r--library/core/src/panic/panic_info.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/library/core/src/panic/panic_info.rs b/library/core/src/panic/panic_info.rs
index 5576adde8..c7f04f11e 100644
--- a/library/core/src/panic/panic_info.rs
+++ b/library/core/src/panic/panic_info.rs
@@ -147,16 +147,18 @@ impl<'a> PanicInfo<'a> {
impl fmt::Display for PanicInfo<'_> {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
formatter.write_str("panicked at ")?;
+ self.location.fmt(formatter)?;
if let Some(message) = self.message {
- write!(formatter, "'{}', ", message)?
+ formatter.write_str(":\n")?;
+ formatter.write_fmt(*message)?;
} else if let Some(payload) = self.payload.downcast_ref::<&'static str>() {
- write!(formatter, "'{}', ", payload)?
+ formatter.write_str(":\n")?;
+ formatter.write_str(payload)?;
}
// NOTE: we cannot use downcast_ref::<String>() here
// since String is not available in core!
// The payload is a String when `std::panic!` is called with multiple arguments,
// but in that case the message is also available.
-
- self.location.fmt(formatter)
+ Ok(())
}
}