refactor(rustc_middle): Substs -> GenericArg
This commit is contained in:
parent
df5c2cf9bc
commit
e55583c4b8
466 changed files with 4574 additions and 4604 deletions
|
@ -3,7 +3,7 @@ use rustc_data_structures::stack::ensure_sufficient_stack;
|
|||
use rustc_hir::def_id::{DefId, LocalDefId};
|
||||
use rustc_middle::mir::TerminatorKind;
|
||||
use rustc_middle::ty::TypeVisitableExt;
|
||||
use rustc_middle::ty::{self, subst::SubstsRef, InstanceDef, TyCtxt};
|
||||
use rustc_middle::ty::{self, GenericArgsRef, InstanceDef, TyCtxt};
|
||||
use rustc_session::Limit;
|
||||
|
||||
// FIXME: check whether it is cheaper to precompute the entire call graph instead of invoking
|
||||
|
@ -43,16 +43,16 @@ pub(crate) fn mir_callgraph_reachable<'tcx>(
|
|||
recursion_limit: Limit,
|
||||
) -> bool {
|
||||
trace!(%caller);
|
||||
for &(callee, substs) in tcx.mir_inliner_callees(caller.def) {
|
||||
let Ok(substs) = caller.try_subst_mir_and_normalize_erasing_regions(
|
||||
for &(callee, args) in tcx.mir_inliner_callees(caller.def) {
|
||||
let Ok(args) = caller.try_subst_mir_and_normalize_erasing_regions(
|
||||
tcx,
|
||||
param_env,
|
||||
ty::EarlyBinder::bind(substs),
|
||||
ty::EarlyBinder::bind(args),
|
||||
) else {
|
||||
trace!(?caller, ?param_env, ?substs, "cannot normalize, skipping");
|
||||
trace!(?caller, ?param_env, ?args, "cannot normalize, skipping");
|
||||
continue;
|
||||
};
|
||||
let Ok(Some(callee)) = ty::Instance::resolve(tcx, param_env, callee, substs) else {
|
||||
let Ok(Some(callee)) = ty::Instance::resolve(tcx, param_env, callee, args) else {
|
||||
trace!(?callee, "cannot resolve, skipping");
|
||||
continue;
|
||||
};
|
||||
|
@ -147,7 +147,7 @@ pub(crate) fn mir_callgraph_reachable<'tcx>(
|
|||
pub(crate) fn mir_inliner_callees<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
instance: ty::InstanceDef<'tcx>,
|
||||
) -> &'tcx [(DefId, SubstsRef<'tcx>)] {
|
||||
) -> &'tcx [(DefId, GenericArgsRef<'tcx>)] {
|
||||
let steal;
|
||||
let guard;
|
||||
let body = match (instance, instance.def_id().as_local()) {
|
||||
|
@ -165,7 +165,7 @@ pub(crate) fn mir_inliner_callees<'tcx>(
|
|||
if let TerminatorKind::Call { func, .. } = &terminator.kind {
|
||||
let ty = func.ty(&body.local_decls, tcx);
|
||||
let call = match ty.kind() {
|
||||
ty::FnDef(def_id, substs) => (*def_id, *substs),
|
||||
ty::FnDef(def_id, args) => (*def_id, *args),
|
||||
_ => continue,
|
||||
};
|
||||
calls.insert(call);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue