Skip to content

Commit 8423a19

Browse files
KodrAusJDuchniewicz
authored andcommitted
make both panic display formats collapse frames
1 parent 5fb2986 commit 8423a19

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

library/std/src/backtrace.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,11 @@ impl fmt::Display for Backtrace {
399399
let mut f = backtrace_rs::BacktraceFmt::new(fmt, style, &mut print_path);
400400
f.add_context()?;
401401
for frame in frames {
402-
let mut f = f.frame();
403402
if frame.symbols.is_empty() {
404-
f.print_raw(frame.frame.ip(), None, None, None)?;
403+
f.frame().print_raw(frame.frame.ip(), None, None, None)?;
405404
} else {
406405
for symbol in frame.symbols.iter() {
407-
f.print_raw_with_column(
406+
f.frame().print_raw_with_column(
408407
frame.frame.ip(),
409408
symbol.name.as_ref().map(|b| backtrace_rs::SymbolName::new(b)),
410409
symbol.filename.as_ref().map(|b| match b {

library/std/src/sys_common/backtrace.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ unsafe fn _print_fmt(fmt: &mut fmt::Formatter<'_>, print_fmt: PrintFmt) -> fmt::
7171

7272
let mut hit = false;
7373
let mut stop = false;
74-
let mut frame_fmt = bt_fmt.frame();
7574
backtrace_rs::resolve_frame_unsynchronized(frame, |symbol| {
7675
hit = true;
7776
if print_fmt == PrintFmt::Short {
@@ -88,15 +87,15 @@ unsafe fn _print_fmt(fmt: &mut fmt::Formatter<'_>, print_fmt: PrintFmt) -> fmt::
8887
}
8988

9089
if start {
91-
res = frame_fmt.symbol(frame, symbol);
90+
res = bt_fmt.frame().symbol(frame, symbol);
9291
}
9392
});
9493
if stop {
9594
return false;
9695
}
9796
if !hit {
9897
if start {
99-
res = frame_fmt.print_raw(frame.ip(), None, None, None);
98+
res = bt_fmt.frame().print_raw(frame.ip(), None, None, None);
10099
}
101100
}
102101

0 commit comments

Comments
 (0)