about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/backtrace.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libstd/backtrace.rs b/src/libstd/backtrace.rs
index 63669532ebc..46ea719b2ad 100644
--- a/src/libstd/backtrace.rs
+++ b/src/libstd/backtrace.rs
@@ -168,6 +168,8 @@ impl fmt::Debug for Backtrace {
         };
         capture.resolve();
 
+        write!(fmt, "Backtrace ")?;
+
         let mut dbg = fmt.debug_list();
 
         for frame in &capture.frames {
@@ -181,7 +183,12 @@ impl fmt::Debug for Backtrace {
 impl fmt::Debug for BacktraceSymbol {
     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
         let mut dbg = fmt.debug_struct("");
-        dbg.field("fn", &self.name.as_ref().map(|b| backtrace::SymbolName::new(b)));
+
+        if let Some(fn_name) = self.name.as_ref().map(|b| backtrace::SymbolName::new(b)) {
+            dbg.field("fn", &fn_name);
+        } else {
+            dbg.field("fn", &"<unknown>");
+        }
 
         if let Some(fname) = self.filename.as_ref() {
             dbg.field("file", fname);