about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAriel Ben-Yehuda <ariel.byd@gmail.com>2015-09-14 14:58:19 +0300
committerAriel Ben-Yehuda <ariel.byd@gmail.com>2015-09-14 15:15:48 +0300
commit3dc780ed6fb3100cf60e035537710f8a645bac33 (patch)
treedc4691574dad3cbe973b3a6fe39f5d2db4368277
parent5a95acb8aba07ea8e5255893aa4e01e5ba5c2349 (diff)
downloadrust-3dc780ed6fb3100cf60e035537710f8a645bac33.tar.gz
rust-3dc780ed6fb3100cf60e035537710f8a645bac33.zip
use RegionEscape instead of inherent has_escaping_regions fns
-rw-r--r--src/librustc/middle/ty/mod.rs16
-rw-r--r--src/librustc/middle/ty/structural_impls.rs6
-rw-r--r--src/librustc_typeck/check/method/mod.rs2
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;