@@ -573,17 +573,11 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
573
573
// give, we will reverse the IndexMap after early captures.
574
574
let mut late_depth = 0 ;
575
575
let mut scope = self . scope ;
576
- let mut crossed_late_boundary = None ;
577
576
let mut opaque_capture_scopes = vec ! [ ( opaque. def_id, & captures) ] ;
578
577
loop {
579
578
match * scope {
580
579
Scope :: Binder { ref bound_vars, scope_type, s, .. } => {
581
580
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
- }
587
581
if let DefKind :: LifetimeParam = self . tcx . def_kind ( original_lifetime) {
588
582
let def = def. shifted ( late_depth) ;
589
583
let ident = lifetime_ident ( original_lifetime) ;
@@ -624,12 +618,8 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
624
618
625
619
Scope :: ObjectLifetimeDefault { s, .. }
626
620
| 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, .. } => {
633
623
scope = s;
634
624
}
635
625
}
0 commit comments