@@ -1374,17 +1374,17 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
13741374 candidates : & mut [ & mut Candidate < ' _ , ' tcx > ] ,
13751375 ) -> BasicBlock {
13761376 ensure_sufficient_stack ( || {
1377- self . match_candidates_with_enough_stack ( span, scrutinee_span, start_block, candidates)
1377+ self . match_candidates_inner ( span, scrutinee_span, start_block, candidates)
13781378 } )
13791379 }
13801380
13811381 /// Construct the decision tree for `candidates`. Don't call this, call `match_candidates`
13821382 /// instead to reserve sufficient stack space.
1383- fn match_candidates_with_enough_stack (
1383+ fn match_candidates_inner (
13841384 & mut self ,
13851385 span : Span ,
13861386 scrutinee_span : Span ,
1387- start_block : BasicBlock ,
1387+ mut start_block : BasicBlock ,
13881388 candidates : & mut [ & mut Candidate < ' _ , ' tcx > ] ,
13891389 ) -> BasicBlock {
13901390 if let [ first, ..] = candidates {
@@ -1417,7 +1417,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
14171417 } ;
14181418
14191419 // Process any candidates that remain.
1420- let BlockAnd ( start_block, remaining_candidates ) = rest;
1420+ let remaining_candidates = unpack ! ( start_block = rest) ;
14211421 self . match_candidates ( span, scrutinee_span, start_block, remaining_candidates)
14221422 }
14231423
0 commit comments