@@ -244,7 +244,7 @@ impl<'a, 'gcx, 'tcx> CombineFields<'a, 'gcx, 'tcx> {
244
244
245
245
fn generalize_region < ' a , ' gcx , ' tcx > ( infcx : & InferCtxt < ' a , ' gcx , ' tcx > ,
246
246
span : Span ,
247
- snapshot : & CombinedSnapshot ,
247
+ snapshot : & CombinedSnapshot < ' a , ' tcx > ,
248
248
debruijn : ty:: DebruijnIndex ,
249
249
new_vars : & [ ty:: RegionVid ] ,
250
250
a_map : & BTreeMap < ty:: BoundRegion , ty:: Region < ' tcx > > ,
@@ -340,7 +340,7 @@ impl<'a, 'gcx, 'tcx> CombineFields<'a, 'gcx, 'tcx> {
340
340
341
341
fn generalize_region < ' a , ' gcx , ' tcx > ( infcx : & InferCtxt < ' a , ' gcx , ' tcx > ,
342
342
span : Span ,
343
- snapshot : & CombinedSnapshot ,
343
+ snapshot : & CombinedSnapshot < ' a , ' tcx > ,
344
344
debruijn : ty:: DebruijnIndex ,
345
345
new_vars : & [ ty:: RegionVid ] ,
346
346
a_map : & BTreeMap < ty:: BoundRegion , ty:: Region < ' tcx > > ,
@@ -479,7 +479,7 @@ fn fold_regions_in<'a, 'gcx, 'tcx, T, F>(tcx: TyCtxt<'a, 'gcx, 'tcx>,
479
479
480
480
impl < ' a , ' gcx , ' tcx > InferCtxt < ' a , ' gcx , ' tcx > {
481
481
fn tainted_regions ( & self ,
482
- snapshot : & CombinedSnapshot ,
482
+ snapshot : & CombinedSnapshot < ' a , ' tcx > ,
483
483
r : ty:: Region < ' tcx > ,
484
484
directions : TaintDirections )
485
485
-> FxHashSet < ty:: Region < ' tcx > > {
@@ -491,7 +491,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
491
491
}
492
492
493
493
fn region_vars_confined_to_snapshot ( & self ,
494
- snapshot : & CombinedSnapshot )
494
+ snapshot : & CombinedSnapshot < ' a , ' tcx > )
495
495
-> Vec < ty:: RegionVid >
496
496
{
497
497
/*!
@@ -583,7 +583,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
583
583
/// See `README.md` for more details.
584
584
pub fn skolemize_late_bound_regions < T > ( & self ,
585
585
binder : & ty:: Binder < T > ,
586
- snapshot : & CombinedSnapshot )
586
+ snapshot : & CombinedSnapshot < ' a , ' tcx > )
587
587
-> ( T , SkolemizationMap < ' tcx > )
588
588
where T : TypeFoldable < ' tcx >
589
589
{
@@ -609,7 +609,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
609
609
overly_polymorphic : bool ,
610
610
_span : Span ,
611
611
skol_map : & SkolemizationMap < ' tcx > ,
612
- snapshot : & CombinedSnapshot )
612
+ snapshot : & CombinedSnapshot < ' a , ' tcx > )
613
613
-> RelateResult < ' tcx , ( ) >
614
614
{
615
615
debug ! ( "leak_check: skol_map={:?}" ,
@@ -684,7 +684,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
684
684
/// predicate is `for<'a> &'a int : Clone`.
685
685
pub fn plug_leaks < T > ( & self ,
686
686
skol_map : SkolemizationMap < ' tcx > ,
687
- snapshot : & CombinedSnapshot ,
687
+ snapshot : & CombinedSnapshot < ' a , ' tcx > ,
688
688
value : T ) -> T
689
689
where T : TypeFoldable < ' tcx >
690
690
{
@@ -770,8 +770,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
770
770
/// Note: popping also occurs implicitly as part of `leak_check`.
771
771
pub fn pop_skolemized ( & self ,
772
772
skol_map : SkolemizationMap < ' tcx > ,
773
- snapshot : & CombinedSnapshot )
774
- {
773
+ snapshot : & CombinedSnapshot < ' a , ' tcx > ) {
775
774
debug ! ( "pop_skolemized({:?})" , skol_map) ;
776
775
let skol_regions: FxHashSet < _ > = skol_map. values ( ) . cloned ( ) . collect ( ) ;
777
776
self . borrow_region_constraints ( )
0 commit comments