@@ -1392,6 +1392,7 @@ impl HumanEmitter {
13921392 label : & str ,
13931393 override_style : Option < Style > ,
13941394 ) -> usize {
1395+ let line_offset = buffer. num_lines ( ) . saturating_sub ( 1 ) ;
13951396 // The extra 5 ` ` is padding that's always needed to align to the `note: `:
13961397 //
13971398 // error: message
@@ -1447,12 +1448,20 @@ impl HumanEmitter {
14471448 for ( i, line) in lines. iter ( ) . enumerate ( ) {
14481449 if i != 0 {
14491450 line_number += 1 ;
1450- buffer. append ( line_number, & padding, Style :: NoStyle ) ;
1451+ buffer. append ( line_number + line_offset , & padding, Style :: NoStyle ) ;
14511452 }
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+ ) ;
14531458 }
14541459 } 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+ ) ;
14561465 }
14571466 }
14581467 line_number
@@ -2470,8 +2479,9 @@ impl HumanEmitter {
24702479 level,
24712480 max_line_num_len,
24722481 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 ) ) ,
24752485 ) {
24762486 Ok ( ( ) ) => {
24772487 let mut buffer = StyledBuffer :: new ( ) ;
@@ -2480,7 +2490,16 @@ impl HumanEmitter {
24802490 if !self . short_message {
24812491 self . draw_col_separator_no_space ( & mut buffer, 0 , max_line_num_len + 1 ) ;
24822492 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+ ) ;
24842503 }
24852504 } else if !children. is_empty ( )
24862505 || suggestions. iter ( ) . any ( |s| s. style != SuggestionStyle :: CompletelyHidden )
0 commit comments