@@ -187,23 +187,24 @@ impl EmitterWriter {
187
187
188
188
if let Some ( ref cm) = self . cm {
189
189
for span_label in msp. span_labels ( ) {
190
- let lo = cm. lookup_char_pos ( span_label. span . lo ) ;
191
- let hi = cm. lookup_char_pos ( span_label. span . hi ) ;
190
+ let mut lo = cm. lookup_char_pos ( span_label. span . lo ) ;
191
+ let mut hi = cm. lookup_char_pos ( span_label. span . hi ) ;
192
+ let mut is_minimized = false ;
192
193
193
194
// If the span is multi-line, simplify down to the span of one character
194
- let ( start_col , mut end_col , is_minimized ) = if lo. line != hi. line {
195
- ( lo . col , CharPos ( lo. col . 0 + 1 ) , true )
196
- } else {
197
- ( lo . col , hi . col , false )
198
- } ;
195
+ if lo. line != hi. line {
196
+ hi . line = lo. line ;
197
+ hi . col = CharPos ( lo . col . 0 + 1 ) ;
198
+ is_minimized = true ;
199
+ }
199
200
200
201
// Watch out for "empty spans". If we get a span like 6..6, we
201
202
// want to just display a `^` at 6, so convert that to
202
203
// 6..7. This is degenerate input, but it's best to degrade
203
204
// gracefully -- and the parser likes to supply a span like
204
205
// that for EOF, in particular.
205
- if start_col == end_col {
206
- end_col . 0 += 1 ;
206
+ if lo . col == hi . col {
207
+ hi . col = CharPos ( lo . col . 0 + 1 ) ;
207
208
}
208
209
209
210
add_annotation_to_file ( & mut output,
@@ -530,7 +531,7 @@ impl EmitterWriter {
530
531
buffer. prepend ( buffer_msg_line_offset, "--> " , Style :: LineNumber ) ;
531
532
let loc = primary_lo. clone ( ) ;
532
533
buffer. append ( buffer_msg_line_offset,
533
- & format ! ( "{}:{}:{}" , loc. file. name, loc. line, loc. col. 0 ) ,
534
+ & format ! ( "{}:{}:{}" , loc. file. name, loc. line, loc. col. 0 + 1 ) ,
534
535
Style :: LineAndColumn ) ;
535
536
for i in 0 ..max_line_num_len {
536
537
buffer. prepend ( buffer_msg_line_offset, " " , Style :: NoStyle ) ;
@@ -593,6 +594,10 @@ impl EmitterWriter {
593
594
}
594
595
}
595
596
597
+ if let Some ( ref primary_span) = msp. primary_span ( ) . as_ref ( ) {
598
+ self . render_macro_backtrace_old_school ( primary_span, & mut buffer) ?;
599
+ }
600
+
596
601
// final step: take our styled buffer, render it, then output it
597
602
emit_to_destination ( & buffer. render ( ) , level, & mut self . dst ) ;
598
603
@@ -1180,7 +1185,7 @@ impl EmitterWriter {
1180
1185
}
1181
1186
let snippet = cm. span_to_string ( trace. call_site ) ;
1182
1187
buffer. append ( line_offset, & format ! ( "{} " , snippet) , Style :: NoStyle ) ;
1183
- buffer. append ( line_offset, "Note " , Style :: Level ( Level :: Note ) ) ;
1188
+ buffer. append ( line_offset, "note " , Style :: Level ( Level :: Note ) ) ;
1184
1189
buffer. append ( line_offset, ": " , Style :: NoStyle ) ;
1185
1190
buffer. append ( line_offset, & diag_string, Style :: OldSchoolNoteText ) ;
1186
1191
}
0 commit comments