diff --git a/src/librustc/infer/mod.rs b/src/librustc/infer/mod.rs index 06c94d133344c..dabe1755b0bb6 100644 --- a/src/librustc/infer/mod.rs +++ b/src/librustc/infer/mod.rs @@ -1291,14 +1291,6 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> { value.visit_with(&mut r) } - pub fn resolve_type_and_region_vars_if_possible(&self, value: &T) -> T - where - T: TypeFoldable<'tcx>, - { - let mut r = resolve::OpportunisticTypeAndRegionResolver::new(self); - value.fold_with(&mut r) - } - pub fn fully_resolve>(&self, value: &T) -> FixupResult { /*! * Attempts to resolve all type/region variables in diff --git a/src/librustc/ty/fold.rs b/src/librustc/ty/fold.rs index 306c69666e596..551554b7e7f12 100644 --- a/src/librustc/ty/fold.rs +++ b/src/librustc/ty/fold.rs @@ -586,31 +586,6 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> { }).0 } - /// Flattens multiple binding levels into one. So `for<'a> for<'b> Foo` - /// becomes `for<'a,'b> Foo`. - pub fn flatten_late_bound_regions(self, bound2_value: &Binder>) - -> Binder - where T: TypeFoldable<'tcx> - { - let bound0_value = bound2_value.skip_binder().skip_binder(); - let value = self.fold_regions(bound0_value, &mut false, |region, current_depth| { - match *region { - ty::ReLateBound(debruijn, br) => { - // We assume no regions bound *outside* of the - // binders in `bound2_value` (nmatsakis added in - // the course of this PR; seems like a reasonable - // sanity check though). - assert!(debruijn == current_depth); - self.mk_region(ty::ReLateBound(current_depth, br)) - } - _ => { - region - } - } - }); - Binder::bind(value) - } - /// Returns a set of all late-bound regions that are constrained /// by `value`, meaning that if we instantiate those LBR with /// variables and equate `value` with something else, those