Remove projection_ty_from_predicates
This commit is contained in:
parent
52b22869db
commit
280d19395d
3 changed files with 1 additions and 29 deletions
|
@ -285,7 +285,7 @@ pub type DepNode = rustc_query_system::dep_graph::DepNode<DepKind>;
|
||||||
// required that their size stay the same, but we don't want to change
|
// required that their size stay the same, but we don't want to change
|
||||||
// it inadvertently. This assert just ensures we're aware of any change.
|
// it inadvertently. This assert just ensures we're aware of any change.
|
||||||
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
|
||||||
static_assert_size!(DepNode, 18);
|
static_assert_size!(DepNode, 17);
|
||||||
|
|
||||||
#[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
|
#[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
|
||||||
static_assert_size!(DepNode, 24);
|
static_assert_size!(DepNode, 24);
|
||||||
|
|
|
@ -191,10 +191,6 @@ rustc_queries! {
|
||||||
desc { |tcx| "elaborating item bounds for `{}`", tcx.def_path_str(key) }
|
desc { |tcx| "elaborating item bounds for `{}`", tcx.def_path_str(key) }
|
||||||
}
|
}
|
||||||
|
|
||||||
query projection_ty_from_predicates(key: (DefId, DefId)) -> Option<ty::ProjectionTy<'tcx>> {
|
|
||||||
desc { |tcx| "finding projection type inside predicates of `{}`", tcx.def_path_str(key.0) }
|
|
||||||
}
|
|
||||||
|
|
||||||
query native_libraries(_: CrateNum) -> Lrc<Vec<NativeLib>> {
|
query native_libraries(_: CrateNum) -> Lrc<Vec<NativeLib>> {
|
||||||
desc { "looking up the native libraries of a linked crate" }
|
desc { "looking up the native libraries of a linked crate" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,6 @@ pub fn provide(providers: &mut Providers) {
|
||||||
generics_of,
|
generics_of,
|
||||||
predicates_of,
|
predicates_of,
|
||||||
predicates_defined_on,
|
predicates_defined_on,
|
||||||
projection_ty_from_predicates,
|
|
||||||
explicit_predicates_of,
|
explicit_predicates_of,
|
||||||
super_predicates_of,
|
super_predicates_of,
|
||||||
super_predicates_that_define_assoc_type,
|
super_predicates_that_define_assoc_type,
|
||||||
|
@ -2352,29 +2351,6 @@ fn explicit_predicates_of(tcx: TyCtxt<'_>, def_id: DefId) -> ty::GenericPredicat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn projection_ty_from_predicates(
|
|
||||||
tcx: TyCtxt<'tcx>,
|
|
||||||
key: (
|
|
||||||
// ty_def_id
|
|
||||||
DefId,
|
|
||||||
// def_id of `N` in `<T as Trait>::N`
|
|
||||||
DefId,
|
|
||||||
),
|
|
||||||
) -> Option<ty::ProjectionTy<'tcx>> {
|
|
||||||
let (ty_def_id, item_def_id) = key;
|
|
||||||
let mut projection_ty = None;
|
|
||||||
for (predicate, _) in tcx.predicates_of(ty_def_id).predicates {
|
|
||||||
if let ty::PredicateKind::Projection(projection_predicate) = predicate.kind().skip_binder()
|
|
||||||
{
|
|
||||||
if item_def_id == projection_predicate.projection_ty.item_def_id {
|
|
||||||
projection_ty = Some(projection_predicate.projection_ty);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
projection_ty
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Converts a specific `GenericBound` from the AST into a set of
|
/// Converts a specific `GenericBound` from the AST into a set of
|
||||||
/// predicates that apply to the self type. A vector is returned
|
/// predicates that apply to the self type. A vector is returned
|
||||||
/// because this can be anywhere from zero predicates (`T: ?Sized` adds no
|
/// because this can be anywhere from zero predicates (`T: ?Sized` adds no
|
||||||
|
|
Loading…
Add table
Reference in a new issue