@@ -456,7 +456,7 @@ fn visit_local<'tcx>(ir: &mut IrMaps<'tcx>, local: &'tcx hir::Local) {
456456}
457457
458458fn visit_arm < ' tcx > ( ir : & mut IrMaps < ' tcx > , arm : & ' tcx hir:: Arm ) {
459- for pat in & arm. pats {
459+ for pat in arm. top_pats_hack ( ) {
460460 add_from_pat ( ir, pat) ;
461461 }
462462 intravisit:: walk_arm ( ir, arm) ;
@@ -1080,7 +1080,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
10801080 // the same bindings, and we also consider the first pattern to be
10811081 // the "authoritative" set of ids
10821082 let arm_succ =
1083- self . define_bindings_in_arm_pats ( arm. pats . first ( ) . map ( |p| & * * p) ,
1083+ self . define_bindings_in_arm_pats ( arm. top_pats_hack ( ) . first ( ) . map ( |p| & * * p) ,
10841084 guard_succ) ;
10851085 self . merge_from_succ ( ln, arm_succ, first_merge) ;
10861086 first_merge = false ;
@@ -1422,7 +1422,7 @@ fn check_arm<'a, 'tcx>(this: &mut Liveness<'a, 'tcx>, arm: &'tcx hir::Arm) {
14221422 // patterns so the suggestions to prefix with underscores will apply to those too.
14231423 let mut vars: BTreeMap < String , ( LiveNode , Variable , HirId , Vec < Span > ) > = Default :: default ( ) ;
14241424
1425- for pat in & arm. pats {
1425+ for pat in arm. top_pats_hack ( ) {
14261426 this. arm_pats_bindings ( Some ( & * pat) , |this, ln, var, sp, id| {
14271427 let name = this. ir . variable_name ( var) ;
14281428 vars. entry ( name)
0 commit comments