diff options
Diffstat (limited to 'src/libstd/backtrace.rs')
| -rw-r--r-- | src/libstd/backtrace.rs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/libstd/backtrace.rs b/src/libstd/backtrace.rs index e65775c1ced..e10d466030f 100644 --- a/src/libstd/backtrace.rs +++ b/src/libstd/backtrace.rs @@ -91,7 +91,6 @@ // `Backtrace`, but that's a relatively small price to pay relative to capturing // a backtrace or actually symbolizing it. -use crate::backtrace_rs::{self, BytesOrWideString}; use crate::env; use crate::ffi::c_void; use crate::fmt; @@ -99,6 +98,8 @@ use crate::sync::atomic::{AtomicUsize, Ordering::SeqCst}; use crate::sync::Mutex; use crate::sys_common::backtrace::{lock, output_filename}; use crate::vec::Vec; +use backtrace::BytesOrWideString; +use backtrace_rs as backtrace; /// A captured OS thread stack backtrace. /// @@ -149,7 +150,7 @@ struct BacktraceFrame { } enum RawFrame { - Actual(backtrace_rs::Frame), + Actual(backtrace::Frame), #[cfg(test)] Fake, } @@ -196,7 +197,7 @@ impl fmt::Debug for BacktraceSymbol { fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { write!(fmt, "{{ ")?; - if let Some(fn_name) = self.name.as_ref().map(|b| backtrace_rs::SymbolName::new(b)) { + if let Some(fn_name) = self.name.as_ref().map(|b| backtrace::SymbolName::new(b)) { write!(fmt, "fn: \"{:#}\"", fn_name)?; } else { write!(fmt, "fn: <unknown>")?; @@ -222,7 +223,7 @@ impl fmt::Debug for BytesOrWide { BytesOrWide::Bytes(w) => BytesOrWideString::Bytes(w), BytesOrWide::Wide(w) => BytesOrWideString::Wide(w), }, - backtrace_rs::PrintFmt::Short, + backtrace::PrintFmt::Short, crate::env::current_dir().as_ref().ok(), ) } @@ -298,7 +299,7 @@ impl Backtrace { let mut frames = Vec::new(); let mut actual_start = None; unsafe { - backtrace_rs::trace_unsynchronized(|frame| { + backtrace::trace_unsynchronized(|frame| { frames.push(BacktraceFrame { frame: RawFrame::Actual(frame.clone()), symbols: Vec::new(), @@ -349,9 +350,9 @@ impl fmt::Display for Backtrace { let full = fmt.alternate(); let (frames, style) = if full { - (&capture.frames[..], backtrace_rs::PrintFmt::Full) + (&capture.frames[..], backtrace::PrintFmt::Full) } else { - (&capture.frames[capture.actual_start..], backtrace_rs::PrintFmt::Short) + (&capture.frames[capture.actual_start..], backtrace::PrintFmt::Short) }; // When printing paths we try to strip the cwd if it exists, otherwise @@ -363,7 +364,7 @@ impl fmt::Display for Backtrace { output_filename(fmt, path, style, cwd.as_ref().ok()) }; - let mut f = backtrace_rs::BacktraceFmt::new(fmt, style, &mut print_path); + let mut f = backtrace::BacktraceFmt::new(fmt, style, &mut print_path); f.add_context()?; for frame in frames { let mut f = f.frame(); @@ -373,7 +374,7 @@ impl fmt::Display for Backtrace { for symbol in frame.symbols.iter() { f.print_raw( frame.frame.ip(), - symbol.name.as_ref().map(|b| backtrace_rs::SymbolName::new(b)), + symbol.name.as_ref().map(|b| backtrace::SymbolName::new(b)), symbol.filename.as_ref().map(|b| match b { BytesOrWide::Bytes(w) => BytesOrWideString::Bytes(w), BytesOrWide::Wide(w) => BytesOrWideString::Wide(w), @@ -408,7 +409,7 @@ impl Capture { RawFrame::Fake => unimplemented!(), }; unsafe { - backtrace_rs::resolve_frame_unsynchronized(frame, |symbol| { + backtrace::resolve_frame_unsynchronized(frame, |symbol| { symbols.push(BacktraceSymbol { name: symbol.name().map(|m| m.as_bytes().to_vec()), filename: symbol.filename_raw().map(|b| match b { |
