@@ -5,6 +5,7 @@ use itertools::Itertools;
55use rustc_ast:: token:: { Delimiter , Lit , LitKind } ;
66use rustc_ast:: { ForLoopKind , MatchKind , ast, ptr, token} ;
77use rustc_span:: { BytePos , Span } ;
8+ use tracing:: debug;
89
910use crate :: chains:: rewrite_chain;
1011use crate :: closures;
@@ -467,7 +468,7 @@ fn rewrite_empty_block(
467468 return None ;
468469 }
469470
470- let label_str = rewrite_label ( label) ;
471+ let label_str = rewrite_label ( context , label) ;
471472 if attrs. map_or ( false , |a| !inner_attributes ( a) . is_empty ( ) ) {
472473 return None ;
473474 }
@@ -537,7 +538,7 @@ fn rewrite_single_line_block(
537538 . offset_left ( last_line_width ( prefix) )
538539 . max_width_error ( shape. width , block_expr. span ( ) ) ?;
539540 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) ;
541542 let result = format ! ( "{prefix}{label_str}{{ {expr_str} }}" ) ;
542543 if result. len ( ) <= shape. width && !result. contains ( '\n' ) {
543544 return Ok ( result) ;
@@ -572,7 +573,7 @@ pub(crate) fn rewrite_block_with_visitor(
572573 }
573574
574575 let inner_attrs = attrs. map ( inner_attributes) ;
575- let label_str = rewrite_label ( label) ;
576+ let label_str = rewrite_label ( context , label) ;
576577 visitor. visit_block ( block, inner_attrs. as_deref ( ) , has_braces) ;
577578 let visitor_context = visitor. get_context ( ) ;
578579 context
@@ -956,7 +957,7 @@ impl<'a> ControlFlow<'a> {
956957 fresh_shape
957958 } ;
958959
959- let label_string = rewrite_label ( self . label ) ;
960+ let label_string = rewrite_label ( context , self . label ) ;
960961 // 1 = space after keyword.
961962 let offset = self . keyword . len ( ) + label_string. len ( ) + 1 ;
962963
@@ -1189,9 +1190,9 @@ impl<'a> Rewrite for ControlFlow<'a> {
11891190 }
11901191}
11911192
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 > {
11931194 match opt_label {
1194- Some ( label) => Cow :: from ( format ! ( "{}: " , label. ident) ) ,
1195+ Some ( label) => Cow :: from ( format ! ( "{}: " , context . snippet ( label. ident. span ) ) ) ,
11951196 None => Cow :: from ( "" ) ,
11961197 }
11971198}
0 commit comments