diff options
| author | Ariel Ben-Yehuda <ariel.byd@gmail.com> | 2015-09-14 14:58:19 +0300 |
|---|---|---|
| committer | Ariel Ben-Yehuda <ariel.byd@gmail.com> | 2015-09-14 15:15:48 +0300 |
| commit | 3dc780ed6fb3100cf60e035537710f8a645bac33 (patch) | |
| tree | dc4691574dad3cbe973b3a6fe39f5d2db4368277 | |
| parent | 5a95acb8aba07ea8e5255893aa4e01e5ba5c2349 (diff) | |
| download | rust-3dc780ed6fb3100cf60e035537710f8a645bac33.tar.gz rust-3dc780ed6fb3100cf60e035537710f8a645bac33.zip | |
use RegionEscape instead of inherent has_escaping_regions fns
| -rw-r--r-- | src/librustc/middle/ty/mod.rs | 16 | ||||
| -rw-r--r-- | src/librustc/middle/ty/structural_impls.rs | 6 | ||||
| -rw-r--r-- | src/librustc_typeck/check/method/mod.rs | 2 |
3 files changed, 7 insertions, 17 deletions
diff --git a/src/librustc/middle/ty/mod.rs b/src/librustc/middle/ty/mod.rs index dff423b35dd..a8adb388644 100644 --- a/src/librustc/middle/ty/mod.rs +++ b/src/librustc/middle/ty/mod.rs @@ -979,18 +979,6 @@ impl<'tcx> Predicate<'tcx> { vec.into_iter() } - pub fn has_escaping_regions(&self) -> bool { - match *self { - Predicate::Trait(ref trait_ref) => trait_ref.has_escaping_regions(), - Predicate::Equate(ref p) => p.has_escaping_regions(), - Predicate::RegionOutlives(ref p) => p.has_escaping_regions(), - Predicate::TypeOutlives(ref p) => p.has_escaping_regions(), - Predicate::Projection(ref p) => p.has_escaping_regions(), - Predicate::WellFormed(p) => p.has_escaping_regions(), - Predicate::ObjectSafe(_trait_def_id) => false, - } - } - pub fn to_opt_poly_trait_ref(&self) -> Option<PolyTraitRef<'tcx>> { match *self { Predicate::Trait(ref t) => { @@ -1037,10 +1025,6 @@ impl<'tcx> InstantiatedPredicates<'tcx> { InstantiatedPredicates { predicates: VecPerParamSpace::empty() } } - pub fn has_escaping_regions(&self) -> bool { - self.predicates.any(|p| p.has_escaping_regions()) - } - pub fn is_empty(&self) -> bool { self.predicates.is_empty() } diff --git a/src/librustc/middle/ty/structural_impls.rs b/src/librustc/middle/ty/structural_impls.rs index 0058ccbce3b..3b3c9bd0985 100644 --- a/src/librustc/middle/ty/structural_impls.rs +++ b/src/librustc/middle/ty/structural_impls.rs @@ -45,6 +45,12 @@ impl<'tcx> RegionEscape for ty::ExistentialBounds<'tcx> { } } +impl<'tcx> RegionEscape for ty::InstantiatedPredicates<'tcx> { + fn has_regions_escaping_depth(&self, depth: u32) -> bool { + self.predicates.has_regions_escaping_depth(depth) + } +} + impl<'tcx> RegionEscape for subst::Substs<'tcx> { fn has_regions_escaping_depth(&self, depth: u32) -> bool { self.types.has_regions_escaping_depth(depth) || diff --git a/src/librustc_typeck/check/method/mod.rs b/src/librustc_typeck/check/method/mod.rs index 1cfb495b36e..edf1cc9b7ef 100644 --- a/src/librustc_typeck/check/method/mod.rs +++ b/src/librustc_typeck/check/method/mod.rs @@ -17,7 +17,7 @@ use middle::def_id::DefId; use middle::privacy::{AllPublic, DependsOn, LastPrivate, LastMod}; use middle::subst; use middle::traits; -use middle::ty::{self, ToPredicate, ToPolyTraitRef, TraitRef}; +use middle::ty::{self, RegionEscape, ToPredicate, ToPolyTraitRef, TraitRef}; use middle::ty::adjustment::{AdjustDerefRef, AutoDerefRef, AutoPtr}; use middle::infer; |
