@@ -1392,6 +1392,7 @@ impl HumanEmitter {
1392
1392
label : & str ,
1393
1393
override_style : Option < Style > ,
1394
1394
) -> usize {
1395
+ let line_offset = buffer. num_lines ( ) . saturating_sub ( 1 ) ;
1395
1396
// The extra 5 ` ` is padding that's always needed to align to the `note: `:
1396
1397
//
1397
1398
// error: message
@@ -1447,12 +1448,20 @@ impl HumanEmitter {
1447
1448
for ( i, line) in lines. iter ( ) . enumerate ( ) {
1448
1449
if i != 0 {
1449
1450
line_number += 1 ;
1450
- buffer. append ( line_number, & padding, Style :: NoStyle ) ;
1451
+ buffer. append ( line_number + line_offset , & padding, Style :: NoStyle ) ;
1451
1452
}
1452
- buffer. append ( line_number, line, style_or_override ( * style, override_style) ) ;
1453
+ buffer. append (
1454
+ line_number + line_offset,
1455
+ line,
1456
+ style_or_override ( * style, override_style) ,
1457
+ ) ;
1453
1458
}
1454
1459
} else {
1455
- buffer. append ( line_number, text, style_or_override ( * style, override_style) ) ;
1460
+ buffer. append (
1461
+ line_number + line_offset,
1462
+ text,
1463
+ style_or_override ( * style, override_style) ,
1464
+ ) ;
1456
1465
}
1457
1466
}
1458
1467
line_number
@@ -2470,8 +2479,9 @@ impl HumanEmitter {
2470
2479
level,
2471
2480
max_line_num_len,
2472
2481
false ,
2473
- !children. is_empty ( )
2474
- || suggestions. iter ( ) . any ( |s| s. style != SuggestionStyle :: CompletelyHidden ) ,
2482
+ emitted_at. is_some ( )
2483
+ || ( !children. is_empty ( )
2484
+ || suggestions. iter ( ) . any ( |s| s. style != SuggestionStyle :: CompletelyHidden ) ) ,
2475
2485
) {
2476
2486
Ok ( ( ) ) => {
2477
2487
let mut buffer = StyledBuffer :: new ( ) ;
@@ -2480,7 +2490,16 @@ impl HumanEmitter {
2480
2490
if !self . short_message {
2481
2491
self . draw_col_separator_no_space ( & mut buffer, 0 , max_line_num_len + 1 ) ;
2482
2492
let track = format ! ( "-Ztrack-diagnostics: created at {tracked}" ) ;
2483
- buffer. append ( 1 , & track, Style :: NoStyle ) ;
2493
+
2494
+ self . draw_secondary_message (
2495
+ & mut buffer,
2496
+ & [ ( DiagMessage :: Str ( Cow :: Owned ( track) ) , Style :: NoStyle ) ] ,
2497
+ args,
2498
+ 1 ,
2499
+ & Level :: Note ,
2500
+ max_line_num_len,
2501
+ children. first ( ) . is_some_and ( |c| c. span . primary_spans ( ) . is_empty ( ) ) ,
2502
+ ) ;
2484
2503
}
2485
2504
} else if !children. is_empty ( )
2486
2505
|| suggestions. iter ( ) . any ( |s| s. style != SuggestionStyle :: CompletelyHidden )
0 commit comments