Rollup merge of #120958 - ShoyuVanilla:remove-subst, r=oli-obk
Dejargonize `subst` In favor of #110793, replace almost every occurence of `subst` and `substitution` from rustc codes, but they still remains in subtrees under `src/tools/` like clippy and test codes (I'd like to replace them after this)
This commit is contained in:
commit
cb0d74be28
130 changed files with 576 additions and 543 deletions
|
@ -62,7 +62,7 @@
|
|||
//! syntactic items in the source code. We find them by walking the HIR of the
|
||||
//! crate, and whenever we hit upon a public function, method, or static item,
|
||||
//! we create a mono item consisting of the items DefId and, since we only
|
||||
//! consider non-generic items, an empty type-substitution set. (In eager
|
||||
//! consider non-generic items, an empty type-parameters set. (In eager
|
||||
//! collection mode, during incremental compilation, all non-generic functions
|
||||
//! are considered as roots, as well as when the `-Clink-dead-code` option is
|
||||
//! specified. Functions marked `#[no_mangle]` and functions called by inlinable
|
||||
|
@ -1383,11 +1383,11 @@ fn create_mono_items_for_default_impls<'tcx>(
|
|||
// items, we never actually check that the predicates of this impl are satisfied
|
||||
// in a empty reveal-all param env (i.e. with no assumptions).
|
||||
//
|
||||
// Even though this impl has no type or const substitutions, because we don't
|
||||
// Even though this impl has no type or const generic parameters, because we don't
|
||||
// consider higher-ranked predicates such as `for<'a> &'a mut [u8]: Copy` to
|
||||
// be trivially false. We must now check that the impl has no impossible-to-satisfy
|
||||
// predicates.
|
||||
if tcx.subst_and_check_impossible_predicates((item.owner_id.to_def_id(), impl_args)) {
|
||||
if tcx.instantiate_and_check_impossible_predicates((item.owner_id.to_def_id(), impl_args)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1404,7 +1404,7 @@ fn create_mono_items_for_default_impls<'tcx>(
|
|||
}
|
||||
|
||||
// As mentioned above, the method is legal to eagerly instantiate if it
|
||||
// only has lifetime substitutions. This is validated by
|
||||
// only has lifetime generic parameters. This is validated by
|
||||
let args = trait_ref.args.extend_to(tcx, method.def_id, only_region_params);
|
||||
let instance = ty::Instance::expect_resolve(tcx, param_env, method.def_id, args);
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ fn should_polymorphize<'tcx>(
|
|||
def_id: DefId,
|
||||
instance: ty::InstanceDef<'tcx>,
|
||||
) -> bool {
|
||||
// If an instance's MIR body is not polymorphic then the modified substitutions that are
|
||||
// If an instance's MIR body is not polymorphic then the modified generic parameters that are
|
||||
// derived from polymorphization's result won't make any difference.
|
||||
if !instance.has_polymorphic_mir_body() {
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue