refactor(rustc_middle): Substs -> GenericArg
This commit is contained in:
@@ -32,7 +32,7 @@ use rustc_middle::query::Providers;
|
||||
use rustc_middle::ty::fold::TypeFoldable;
|
||||
use rustc_middle::ty::visit::{TypeVisitable, TypeVisitableExt};
|
||||
use rustc_middle::ty::{self, ToPredicate, Ty, TyCtxt, TypeFolder, TypeSuperVisitable};
|
||||
use rustc_middle::ty::{InternalSubsts, SubstsRef};
|
||||
use rustc_middle::ty::{GenericArgs, GenericArgsRef};
|
||||
use rustc_span::def_id::DefId;
|
||||
use rustc_span::Span;
|
||||
|
||||
@@ -61,13 +61,13 @@ pub use self::select::{EvaluationResult, IntercrateAmbiguityCause, OverflowError
|
||||
pub use self::specialize::specialization_graph::FutureCompatOverlapError;
|
||||
pub use self::specialize::specialization_graph::FutureCompatOverlapErrorKind;
|
||||
pub use self::specialize::{
|
||||
specialization_graph, translate_substs, translate_substs_with_cause, OverlapError,
|
||||
specialization_graph, translate_args, translate_args_with_cause, OverlapError,
|
||||
};
|
||||
pub use self::structural_match::search_for_structural_match_violation;
|
||||
pub use self::structural_normalize::StructurallyNormalizeExt;
|
||||
pub use self::util::elaborate;
|
||||
pub use self::util::{
|
||||
check_substs_compatible, supertrait_def_ids, supertraits, transitive_bounds,
|
||||
check_args_compatible, supertrait_def_ids, supertraits, transitive_bounds,
|
||||
transitive_bounds_that_define_assoc_item, SupertraitDefIds,
|
||||
};
|
||||
pub use self::util::{expand_trait_aliases, TraitAliasExpander};
|
||||
@@ -454,7 +454,7 @@ pub fn impossible_predicates<'tcx>(tcx: TyCtxt<'tcx>, predicates: Vec<ty::Clause
|
||||
|
||||
fn subst_and_check_impossible_predicates<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
key: (DefId, SubstsRef<'tcx>),
|
||||
key: (DefId, GenericArgsRef<'tcx>),
|
||||
) -> bool {
|
||||
debug!("subst_and_check_impossible_predicates(key={:?})", key);
|
||||
|
||||
@@ -521,7 +521,7 @@ fn is_impossible_method(tcx: TyCtxt<'_>, (impl_def_id, trait_item_def_id): (DefI
|
||||
let impl_trait_ref = tcx
|
||||
.impl_trait_ref(impl_def_id)
|
||||
.expect("expected impl to correspond to trait")
|
||||
.subst_identity();
|
||||
.instantiate_identity();
|
||||
let param_env = tcx.param_env(impl_def_id);
|
||||
|
||||
let mut visitor = ReferencesOnlyParentGenerics { tcx, generics, trait_item_def_id };
|
||||
@@ -531,7 +531,7 @@ fn is_impossible_method(tcx: TyCtxt<'_>, (impl_def_id, trait_item_def_id): (DefI
|
||||
tcx,
|
||||
ObligationCause::dummy_with_span(*span),
|
||||
param_env,
|
||||
ty::EarlyBinder::bind(*pred).subst(tcx, impl_trait_ref.substs),
|
||||
ty::EarlyBinder::bind(*pred).instantiate(tcx, impl_trait_ref.args),
|
||||
)
|
||||
})
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user