@@ -116,26 +116,27 @@ pub(crate) fn move_arm_cond_to_match_guard(acc: &mut Assists, ctx: &AssistContex
116
116
}
117
117
} ) ?;
118
118
let replace_node = replace_node. unwrap_or_else ( || if_expr. syntax ( ) . clone ( ) ) ;
119
- // Dedent if if_expr is in a BlockExpr
120
- let dedent = if replace_node != * if_expr. syntax ( ) {
121
- cov_mark:: hit!( move_guard_ifelse_in_block) ;
122
- 1
123
- } else {
124
- cov_mark:: hit!( move_guard_ifelse_else_block) ;
125
- 0
126
- } ;
127
-
119
+ let needs_dedent = replace_node != * if_expr. syntax ( ) ;
128
120
let ( conds_blocks, tail) = parse_if_chain ( if_expr) ?;
129
121
130
- let then_arm_end = match_arm. syntax ( ) . text_range ( ) . end ( ) ;
131
- let indent_level = match_arm. indent_level ( ) ;
132
- let spaces = " " . repeat ( indent_level. 0 as _ ) ;
133
122
acc. add (
134
123
AssistId ( "move_arm_cond_to_match_guard" , AssistKind :: RefactorRewrite ) ,
135
124
"Move condition to match guard" ,
136
125
replace_node. text_range ( ) ,
137
126
|edit| {
138
127
edit. delete ( match_arm. syntax ( ) . text_range ( ) ) ;
128
+ // Dedent if if_expr is in a BlockExpr
129
+ let dedent = if needs_dedent {
130
+ cov_mark:: hit!( move_guard_ifelse_in_block) ;
131
+ 1
132
+ } else {
133
+ cov_mark:: hit!( move_guard_ifelse_else_block) ;
134
+ 0
135
+ } ;
136
+ let then_arm_end = match_arm. syntax ( ) . text_range ( ) . end ( ) ;
137
+ let indent_level = match_arm. indent_level ( ) ;
138
+ let spaces = " " . repeat ( indent_level. 0 as _ ) ;
139
+
139
140
let mut first = true ;
140
141
for ( cond, block) in conds_blocks {
141
142
if !first {
0 commit comments