@@ -191,16 +191,23 @@ fn print_backtrace(backtrace: &mut Backtrace) -> String {
191
191
write ! ( trace_text, "backtrace frames: {}\n " , backtrace. frames( ) . len( ) ) . unwrap ( ) ;
192
192
' frames: for ( i, frame) in backtrace. frames ( ) . iter ( ) . enumerate ( ) {
193
193
if frame. symbols ( ) . is_empty ( ) {
194
- write ! ( trace_text, "{}: no symbols\n " , i) . unwrap ( ) ;
194
+ write ! ( trace_text, " {}: no symbols\n " , i) . unwrap ( ) ;
195
195
}
196
+ let mut first = true ;
196
197
for symbol in frame. symbols ( ) {
197
- write ! ( trace_text, "{}: " , i) . unwrap ( ) ;
198
+ if first {
199
+ write ! ( trace_text, " {}: " , i) . unwrap ( ) ;
200
+ first = false ;
201
+ } else {
202
+ let len = i. to_string ( ) . len ( ) ;
203
+ write ! ( trace_text, " {} " , " " . repeat( len) ) . unwrap ( ) ;
204
+ }
198
205
if let Some ( name) = symbol. name ( ) {
199
206
write ! ( trace_text, "{}\n " , name) . unwrap ( ) ;
200
207
} else {
201
208
write ! ( trace_text, "<unknown>\n " ) . unwrap ( ) ;
202
209
}
203
- write ! ( trace_text, "\t at " ) . unwrap ( ) ;
210
+ write ! ( trace_text, " at " ) . unwrap ( ) ;
204
211
if let Some ( file_path) = symbol. filename ( ) {
205
212
write ! ( trace_text, "{}" , file_path. display( ) ) . unwrap ( ) ;
206
213
} else {
0 commit comments