@@ -304,10 +304,12 @@ impl<'a, 'tcx> Visitor<'tcx> for GatherBorrows<'a, 'tcx> {
304304 self . local_map . entry ( borrowed_place. local ) . or_default ( ) . insert ( idx) ;
305305 } else if let & mir:: Rvalue :: Reborrow ( mutability, borrowed_place) = rvalue {
306306 let borrowed_place_ty = borrowed_place. ty ( self . body , self . tcx ) . ty ;
307- let & ty:: Adt ( reborrowed_adt, reborrowed_args ) = borrowed_place_ty. kind ( ) else {
307+ let & ty:: Adt ( reborrowed_adt, _reborrowed_args ) = borrowed_place_ty. kind ( ) else {
308308 unreachable ! ( )
309309 } ;
310- let & ty:: Adt ( target_adt, _) = assigned_place. ty ( self . body , self . tcx ) . ty . kind ( ) else {
310+ let & ty:: Adt ( target_adt, assigned_args) =
311+ assigned_place. ty ( self . body , self . tcx ) . ty . kind ( )
312+ else {
311313 unreachable ! ( )
312314 } ;
313315 let borrow = if mutability == Mutability :: Mut {
@@ -318,7 +320,7 @@ impl<'a, 'tcx> Visitor<'tcx> for GatherBorrows<'a, 'tcx> {
318320 )
319321 }
320322 let Some ( ty:: GenericArgKind :: Lifetime ( region) ) =
321- reborrowed_args . get ( 0 ) . map ( |r| r. kind ( ) )
323+ assigned_args . get ( 0 ) . map ( |r| r. kind ( ) )
322324 else {
323325 bug ! (
324326 "hir-typeck passed but {} does not have a lifetime argument" ,
@@ -343,7 +345,7 @@ impl<'a, 'tcx> Visitor<'tcx> for GatherBorrows<'a, 'tcx> {
343345 )
344346 }
345347 let Some ( ty:: GenericArgKind :: Lifetime ( region) ) =
346- reborrowed_args . get ( 0 ) . map ( |r| r. kind ( ) )
348+ assigned_args . get ( 0 ) . map ( |r| r. kind ( ) )
347349 else {
348350 bug ! (
349351 "hir-typeck passed but {} does not have a lifetime argument" ,
0 commit comments