@@ -5,6 +5,7 @@ use itertools::Itertools;
5
5
use rustc_ast:: token:: { Delimiter , Lit , LitKind } ;
6
6
use rustc_ast:: { ForLoopKind , MatchKind , ast, ptr, token} ;
7
7
use rustc_span:: { BytePos , Span } ;
8
+ use tracing:: debug;
8
9
9
10
use crate :: chains:: rewrite_chain;
10
11
use crate :: closures;
@@ -467,7 +468,7 @@ fn rewrite_empty_block(
467
468
return None ;
468
469
}
469
470
470
- let label_str = rewrite_label ( label) ;
471
+ let label_str = rewrite_label ( context , label) ;
471
472
if attrs. map_or ( false , |a| !inner_attributes ( a) . is_empty ( ) ) {
472
473
return None ;
473
474
}
@@ -537,7 +538,7 @@ fn rewrite_single_line_block(
537
538
. offset_left ( last_line_width ( prefix) )
538
539
. max_width_error ( shape. width , block_expr. span ( ) ) ?;
539
540
let expr_str = block_expr. rewrite_result ( context, expr_shape) ?;
540
- let label_str = rewrite_label ( label) ;
541
+ let label_str = rewrite_label ( context , label) ;
541
542
let result = format ! ( "{prefix}{label_str}{{ {expr_str} }}" ) ;
542
543
if result. len ( ) <= shape. width && !result. contains ( '\n' ) {
543
544
return Ok ( result) ;
@@ -572,7 +573,7 @@ pub(crate) fn rewrite_block_with_visitor(
572
573
}
573
574
574
575
let inner_attrs = attrs. map ( inner_attributes) ;
575
- let label_str = rewrite_label ( label) ;
576
+ let label_str = rewrite_label ( context , label) ;
576
577
visitor. visit_block ( block, inner_attrs. as_deref ( ) , has_braces) ;
577
578
let visitor_context = visitor. get_context ( ) ;
578
579
context
@@ -956,7 +957,7 @@ impl<'a> ControlFlow<'a> {
956
957
fresh_shape
957
958
} ;
958
959
959
- let label_string = rewrite_label ( self . label ) ;
960
+ let label_string = rewrite_label ( context , self . label ) ;
960
961
// 1 = space after keyword.
961
962
let offset = self . keyword . len ( ) + label_string. len ( ) + 1 ;
962
963
@@ -1189,9 +1190,9 @@ impl<'a> Rewrite for ControlFlow<'a> {
1189
1190
}
1190
1191
}
1191
1192
1192
- fn rewrite_label ( opt_label : Option < ast:: Label > ) -> Cow < ' static , str > {
1193
+ fn rewrite_label ( context : & RewriteContext < ' _ > , opt_label : Option < ast:: Label > ) -> Cow < ' static , str > {
1193
1194
match opt_label {
1194
- Some ( label) => Cow :: from ( format ! ( "{}: " , label. ident) ) ,
1195
+ Some ( label) => Cow :: from ( format ! ( "{}: " , context . snippet ( label. ident. span ) ) ) ,
1195
1196
None => Cow :: from ( "" ) ,
1196
1197
}
1197
1198
}
0 commit comments