Skip to content

Commit 3dc780e

Browse files
committed
use RegionEscape instead of inherent has_escaping_regions fns
1 parent 5a95acb commit 3dc780e

File tree

3 files changed

+7
-17
lines changed

3 files changed

+7
-17
lines changed

src/librustc/middle/ty/mod.rs

-16
Original file line numberDiff line numberDiff line change
@@ -979,18 +979,6 @@ impl<'tcx> Predicate<'tcx> {
979979
vec.into_iter()
980980
}
981981

982-
pub fn has_escaping_regions(&self) -> bool {
983-
match *self {
984-
Predicate::Trait(ref trait_ref) => trait_ref.has_escaping_regions(),
985-
Predicate::Equate(ref p) => p.has_escaping_regions(),
986-
Predicate::RegionOutlives(ref p) => p.has_escaping_regions(),
987-
Predicate::TypeOutlives(ref p) => p.has_escaping_regions(),
988-
Predicate::Projection(ref p) => p.has_escaping_regions(),
989-
Predicate::WellFormed(p) => p.has_escaping_regions(),
990-
Predicate::ObjectSafe(_trait_def_id) => false,
991-
}
992-
}
993-
994982
pub fn to_opt_poly_trait_ref(&self) -> Option<PolyTraitRef<'tcx>> {
995983
match *self {
996984
Predicate::Trait(ref t) => {
@@ -1037,10 +1025,6 @@ impl<'tcx> InstantiatedPredicates<'tcx> {
10371025
InstantiatedPredicates { predicates: VecPerParamSpace::empty() }
10381026
}
10391027

1040-
pub fn has_escaping_regions(&self) -> bool {
1041-
self.predicates.any(|p| p.has_escaping_regions())
1042-
}
1043-
10441028
pub fn is_empty(&self) -> bool {
10451029
self.predicates.is_empty()
10461030
}

src/librustc/middle/ty/structural_impls.rs

+6
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ impl<'tcx> RegionEscape for ty::ExistentialBounds<'tcx> {
4545
}
4646
}
4747

48+
impl<'tcx> RegionEscape for ty::InstantiatedPredicates<'tcx> {
49+
fn has_regions_escaping_depth(&self, depth: u32) -> bool {
50+
self.predicates.has_regions_escaping_depth(depth)
51+
}
52+
}
53+
4854
impl<'tcx> RegionEscape for subst::Substs<'tcx> {
4955
fn has_regions_escaping_depth(&self, depth: u32) -> bool {
5056
self.types.has_regions_escaping_depth(depth) ||

src/librustc_typeck/check/method/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use middle::def_id::DefId;
1717
use middle::privacy::{AllPublic, DependsOn, LastPrivate, LastMod};
1818
use middle::subst;
1919
use middle::traits;
20-
use middle::ty::{self, ToPredicate, ToPolyTraitRef, TraitRef};
20+
use middle::ty::{self, RegionEscape, ToPredicate, ToPolyTraitRef, TraitRef};
2121
use middle::ty::adjustment::{AdjustDerefRef, AutoDerefRef, AutoPtr};
2222
use middle::infer;
2323

0 commit comments

Comments
 (0)