@@ -573,17 +573,11 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
573573 // give, we will reverse the IndexMap after early captures.
574574 let mut late_depth = 0 ;
575575 let mut scope = self . scope ;
576- let mut crossed_late_boundary = None ;
577576 let mut opaque_capture_scopes = vec ! [ ( opaque. def_id, & captures) ] ;
578577 loop {
579578 match * scope {
580579 Scope :: Binder { ref bound_vars, scope_type, s, .. } => {
581580 for ( & original_lifetime, & def) in bound_vars. iter ( ) . rev ( ) {
582- if let ResolvedArg :: LateBound ( ..) = def
583- && crossed_late_boundary. is_some ( )
584- {
585- continue ;
586- }
587581 if let DefKind :: LifetimeParam = self . tcx . def_kind ( original_lifetime) {
588582 let def = def. shifted ( late_depth) ;
589583 let ident = lifetime_ident ( original_lifetime) ;
@@ -624,12 +618,8 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
624618
625619 Scope :: ObjectLifetimeDefault { s, .. }
626620 | Scope :: Supertrait { s, .. }
627- | Scope :: TraitRefBoundary { s, .. } => {
628- scope = s;
629- }
630-
631- Scope :: LateBoundary { s, what, .. } => {
632- crossed_late_boundary = Some ( what) ;
621+ | Scope :: TraitRefBoundary { s, .. }
622+ | Scope :: LateBoundary { s, .. } => {
633623 scope = s;
634624 }
635625 }
0 commit comments