@@ -19,7 +19,7 @@ use crate::source_map::SpanUtils;
1919use crate :: spanned:: Spanned ;
2020use crate :: utils:: {
2121 contains_skip, extra_offset, first_line_width, inner_attributes, last_line_extendable, mk_sp,
22- semicolon_for_expr, trimmed_last_line_width, unicode_str_width,
22+ mk_sp_lo_plus_one , semicolon_for_expr, trimmed_last_line_width, unicode_str_width,
2323} ;
2424
2525/// A simple wrapper type against `ast::Arm`. Used inside `write_list()`.
@@ -163,17 +163,14 @@ fn arm_comma(config: &Config, body: &ast::Expr, is_last: bool) -> &'static str {
163163fn collect_beginning_verts (
164164 context : & RewriteContext < ' _ > ,
165165 arms : & [ ast:: Arm ] ,
166- span : Span ,
167166) -> Vec < Option < BytePos > > {
168- let mut beginning_verts = Vec :: with_capacity ( arms. len ( ) ) ;
169- let mut lo = context. snippet_provider . span_after ( span, "{" ) ;
170- for arm in arms {
171- let hi = arm. pat . span . lo ( ) ;
172- let missing_span = mk_sp ( lo, hi) ;
173- beginning_verts. push ( context. snippet_provider . opt_span_before ( missing_span, "|" ) ) ;
174- lo = arm. span ( ) . hi ( ) ;
175- }
176- beginning_verts
167+ arms. iter ( )
168+ . map ( |a| {
169+ context
170+ . snippet_provider
171+ . opt_span_before ( mk_sp_lo_plus_one ( a. pat . span . lo ( ) ) , "|" )
172+ } )
173+ . collect ( )
177174}
178175
179176fn rewrite_match_arms (
@@ -191,7 +188,7 @@ fn rewrite_match_arms(
191188 let is_last_iter = repeat ( false )
192189 . take ( arm_len. saturating_sub ( 1 ) )
193190 . chain ( repeat ( true ) ) ;
194- let beginning_verts = collect_beginning_verts ( context, arms, span ) ;
191+ let beginning_verts = collect_beginning_verts ( context, arms) ;
195192 let items = itemize_list (
196193 context. snippet_provider ,
197194 arms. iter ( )
0 commit comments