@@ -161,6 +161,7 @@ struct BacktraceSymbol {
161161 name : Option < Vec < u8 > > ,
162162 filename : Option < BytesOrWide > ,
163163 lineno : Option < u32 > ,
164+ colno : Option < u32 > ,
164165}
165166
166167enum BytesOrWide {
@@ -209,7 +210,7 @@ impl fmt::Debug for BacktraceSymbol {
209210 write ! ( fmt, ", file: \" {:?}\" " , fname) ?;
210211 }
211212
212- if let Some ( line) = self . lineno . as_ref ( ) {
213+ if let Some ( line) = self . lineno {
213214 write ! ( fmt, ", line: {:?}" , line) ?;
214215 }
215216
@@ -381,14 +382,15 @@ impl fmt::Display for Backtrace {
381382 f. print_raw ( frame. frame . ip ( ) , None , None , None ) ?;
382383 } else {
383384 for symbol in frame. symbols . iter ( ) {
384- f. print_raw (
385+ f. print_raw_with_column (
385386 frame. frame . ip ( ) ,
386387 symbol. name . as_ref ( ) . map ( |b| backtrace_rs:: SymbolName :: new ( b) ) ,
387388 symbol. filename . as_ref ( ) . map ( |b| match b {
388389 BytesOrWide :: Bytes ( w) => BytesOrWideString :: Bytes ( w) ,
389390 BytesOrWide :: Wide ( w) => BytesOrWideString :: Wide ( w) ,
390391 } ) ,
391392 symbol. lineno ,
393+ symbol. colno ,
392394 ) ?;
393395 }
394396 }
@@ -427,6 +429,7 @@ impl Capture {
427429 BytesOrWideString :: Wide ( b) => BytesOrWide :: Wide ( b. to_owned ( ) ) ,
428430 } ) ,
429431 lineno : symbol. lineno ( ) ,
432+ colno : symbol. colno ( ) ,
430433 } ) ;
431434 } ) ;
432435 }
0 commit comments