Skip to content

Commit 5a2ee10

Browse files
committed
---
yaml --- r: 164613 b: refs/heads/auto c: 885f7ee h: refs/heads/master i: 164611: 1050bbe v: v3
1 parent 788123e commit 5a2ee10

File tree

2 files changed

+22
-12
lines changed
  • branches/auto/src/librustc/middle/infer/higher_ranked

2 files changed

+22
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1010
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1111
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1212
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13-
refs/heads/auto: ff35eeb80a30ffbe3bcc334ed8accb97937676f4
13+
refs/heads/auto: 885f7ee12ec568ea2c3094407f8b1a94628b3853
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/src/librustc/middle/infer/higher_ranked/mod.rs

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,7 @@ impl<'tcx,C> HigherRankedRelations<'tcx> for C
7474

7575
// Second, we instantiate each bound region in the supertype with a
7676
// fresh concrete region.
77-
let (b_prime, skol_map) = {
78-
replace_late_bound_regions(self.tcx(), b, |br, _| {
79-
let skol =
80-
self.infcx().region_vars.new_skolemized(
81-
br, &snapshot.region_vars_snapshot);
82-
debug!("Bound region {} skolemized to {}",
83-
bound_region_to_string(self.tcx(), "", false, br),
84-
skol);
85-
skol
86-
})
87-
};
77+
let (b_prime, skol_map) = skolemize_regions(self.infcx(), b, snapshot);
8878

8979
debug!("a_prime={}", a_prime.repr(self.tcx()));
9080
debug!("b_prime={}", b_prime.repr(self.tcx()));
@@ -538,3 +528,23 @@ impl<'a,'tcx> InferCtxtExt<'tcx> for InferCtxt<'a,'tcx> {
538528
region_vars
539529
}
540530
}
531+
532+
fn skolemize_regions<'a,'tcx,HR>(infcx: &InferCtxt<'a,'tcx>,
533+
value: &HR,
534+
snapshot: &CombinedSnapshot)
535+
-> (HR, FnvHashMap<ty::BoundRegion,ty::Region>)
536+
where HR : HigherRankedFoldable<'tcx>
537+
{
538+
replace_late_bound_regions(infcx.tcx, value, |br, _| {
539+
let skol =
540+
infcx.region_vars.new_skolemized(
541+
br,
542+
&snapshot.region_vars_snapshot);
543+
544+
debug!("Bound region {} skolemized to {}",
545+
bound_region_to_string(infcx.tcx, "", false, br),
546+
skol);
547+
548+
skol
549+
})
550+
}

0 commit comments

Comments
 (0)