@@ -271,10 +271,12 @@ impl<'a, 'tcx> Visitor<'tcx> for GatherBorrows<'a, 'tcx> {
271271 self . local_map . entry ( borrowed_place. local ) . or_default ( ) . insert ( idx) ;
272272 } else if let & mir:: Rvalue :: Reborrow ( mutability, borrowed_place) = rvalue {
273273 let borrowed_place_ty = borrowed_place. ty ( self . body , self . tcx ) . ty ;
274- let & ty:: Adt ( reborrowed_adt, reborrowed_args ) = borrowed_place_ty. kind ( ) else {
274+ let & ty:: Adt ( reborrowed_adt, _reborrowed_args ) = borrowed_place_ty. kind ( ) else {
275275 unreachable ! ( )
276276 } ;
277- let & ty:: Adt ( target_adt, _) = assigned_place. ty ( self . body , self . tcx ) . ty . kind ( ) else {
277+ let & ty:: Adt ( target_adt, assigned_args) =
278+ assigned_place. ty ( self . body , self . tcx ) . ty . kind ( )
279+ else {
278280 unreachable ! ( )
279281 } ;
280282 let borrow = if mutability == Mutability :: Mut {
@@ -285,7 +287,7 @@ impl<'a, 'tcx> Visitor<'tcx> for GatherBorrows<'a, 'tcx> {
285287 )
286288 }
287289 let Some ( ty:: GenericArgKind :: Lifetime ( region) ) =
288- reborrowed_args . get ( 0 ) . map ( |r| r. kind ( ) )
290+ assigned_args . get ( 0 ) . map ( |r| r. kind ( ) )
289291 else {
290292 bug ! (
291293 "hir-typeck passed but {} does not have a lifetime argument" ,
@@ -310,7 +312,7 @@ impl<'a, 'tcx> Visitor<'tcx> for GatherBorrows<'a, 'tcx> {
310312 )
311313 }
312314 let Some ( ty:: GenericArgKind :: Lifetime ( region) ) =
313- reborrowed_args . get ( 0 ) . map ( |r| r. kind ( ) )
315+ assigned_args . get ( 0 ) . map ( |r| r. kind ( ) )
314316 else {
315317 bug ! (
316318 "hir-typeck passed but {} does not have a lifetime argument" ,
0 commit comments