refactor(rustc_middle): Substs -> GenericArg
This commit is contained in:
parent
df5c2cf9bc
commit
e55583c4b8
466 changed files with 4574 additions and 4604 deletions
|
@ -1,6 +1,6 @@
|
|||
use rustc_index::bit_set::ChunkedBitSet;
|
||||
use rustc_middle::mir::{Body, TerminatorKind};
|
||||
use rustc_middle::ty::subst::SubstsRef;
|
||||
use rustc_middle::ty::GenericArgsRef;
|
||||
use rustc_middle::ty::{self, ParamEnv, Ty, TyCtxt, VariantDef};
|
||||
use rustc_mir_dataflow::impls::MaybeInitializedPlaces;
|
||||
use rustc_mir_dataflow::move_paths::{LookupResult, MoveData, MovePathIndex};
|
||||
|
@ -98,7 +98,7 @@ fn is_needs_drop_and_init<'tcx>(
|
|||
// This pass is only needed for const-checking, so it doesn't handle as many cases as
|
||||
// `DropCtxt::open_drop`, since they aren't relevant in a const-context.
|
||||
match ty.kind() {
|
||||
ty::Adt(adt, substs) => {
|
||||
ty::Adt(adt, args) => {
|
||||
let dont_elaborate = adt.is_union() || adt.is_manually_drop() || adt.has_dtor(tcx);
|
||||
if dont_elaborate {
|
||||
return true;
|
||||
|
@ -118,7 +118,7 @@ fn is_needs_drop_and_init<'tcx>(
|
|||
let downcast =
|
||||
move_path_children_matching(move_data, mpi, |x| x.is_downcast_to(vid));
|
||||
let Some(dc_mpi) = downcast else {
|
||||
return variant_needs_drop(tcx, param_env, substs, variant);
|
||||
return variant_needs_drop(tcx, param_env, args, variant);
|
||||
};
|
||||
|
||||
dc_mpi
|
||||
|
@ -130,7 +130,7 @@ fn is_needs_drop_and_init<'tcx>(
|
|||
.fields
|
||||
.iter()
|
||||
.enumerate()
|
||||
.map(|(f, field)| (FieldIdx::from_usize(f), field.ty(tcx, substs), mpi))
|
||||
.map(|(f, field)| (FieldIdx::from_usize(f), field.ty(tcx, args), mpi))
|
||||
.any(field_needs_drop_and_init)
|
||||
})
|
||||
}
|
||||
|
@ -148,11 +148,11 @@ fn is_needs_drop_and_init<'tcx>(
|
|||
fn variant_needs_drop<'tcx>(
|
||||
tcx: TyCtxt<'tcx>,
|
||||
param_env: ParamEnv<'tcx>,
|
||||
substs: SubstsRef<'tcx>,
|
||||
args: GenericArgsRef<'tcx>,
|
||||
variant: &VariantDef,
|
||||
) -> bool {
|
||||
variant.fields.iter().any(|field| {
|
||||
let f_ty = field.ty(tcx, substs);
|
||||
let f_ty = field.ty(tcx, args);
|
||||
f_ty.needs_drop(tcx, param_env)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue