diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 4357f11776c..533d0a6d383 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -892,7 +892,7 @@ fn analysis(tcx: TyCtxt<'_>, cnum: CrateNum) -> Result<()> { if tcx.hir().body_const_context(def_id).is_some() { tcx.ensure() - .mir_drops_elaborated_and_const_checked(ty::WithOptConstParam::dummy(def_id)); + .mir_drops_elaborated_and_const_checked(ty::WithOptConstParam::unknown(def_id)); } } }); diff --git a/src/librustc_middle/ty/instance.rs b/src/librustc_middle/ty/instance.rs index 114ce491f27..1a5c7fe4859 100644 --- a/src/librustc_middle/ty/instance.rs +++ b/src/librustc_middle/ty/instance.rs @@ -196,7 +196,7 @@ impl<'tcx> InstanceDef<'tcx> { | InstanceDef::Intrinsic(def_id) | InstanceDef::ClosureOnceShim { call_once: def_id } | InstanceDef::DropGlue(def_id, _) - | InstanceDef::CloneShim(def_id, _) => ty::WithOptConstParam::dummy(def_id), + | InstanceDef::CloneShim(def_id, _) => ty::WithOptConstParam::unknown(def_id), } } @@ -298,7 +298,7 @@ impl<'tcx> Instance<'tcx> { def_id, substs ); - Instance { def: InstanceDef::Item(ty::WithOptConstParam::dummy(def_id)), substs } + Instance { def: InstanceDef::Item(ty::WithOptConstParam::unknown(def_id)), substs } } pub fn mono(tcx: TyCtxt<'tcx>, def_id: DefId) -> Instance<'tcx> { diff --git a/src/librustc_middle/ty/mod.rs b/src/librustc_middle/ty/mod.rs index 26ce8e54a65..497004b80a5 100644 --- a/src/librustc_middle/ty/mod.rs +++ b/src/librustc_middle/ty/mod.rs @@ -1613,7 +1613,8 @@ pub struct WithOptConstParam { } impl WithOptConstParam { - pub fn dummy(did: T) -> WithOptConstParam { + /// Creates a new `WithOptConstParam` setting `const_param_did` to `None`. + pub fn unknown(did: T) -> WithOptConstParam { WithOptConstParam { did, const_param_did: None } } } diff --git a/src/librustc_middle/ty/sty.rs b/src/librustc_middle/ty/sty.rs index 8cdfe5e5ac6..3104d2ee36a 100644 --- a/src/librustc_middle/ty/sty.rs +++ b/src/librustc_middle/ty/sty.rs @@ -2210,7 +2210,7 @@ impl<'tcx> Const<'tcx> { /// Literals and const generic parameters are eagerly converted to a constant, everything else /// becomes `Unevaluated`. pub fn from_anon_const(tcx: TyCtxt<'tcx>, def_id: LocalDefId) -> &'tcx Self { - Self::from_opt_const_arg_anon_const(tcx, ty::WithOptConstParam::dummy(def_id)) + Self::from_opt_const_arg_anon_const(tcx, ty::WithOptConstParam::unknown(def_id)) } pub fn from_opt_const_arg_anon_const( diff --git a/src/librustc_mir/borrow_check/mod.rs b/src/librustc_mir/borrow_check/mod.rs index 348c50720be..d8d988717b8 100644 --- a/src/librustc_mir/borrow_check/mod.rs +++ b/src/librustc_mir/borrow_check/mod.rs @@ -88,7 +88,7 @@ const DEREF_PROJECTION: &[PlaceElem<'_>; 1] = &[ProjectionElem::Deref]; pub fn provide(providers: &mut Providers) { *providers = Providers { - mir_borrowck: |tcx, did| mir_borrowck(tcx, ty::WithOptConstParam::dummy(did)), + mir_borrowck: |tcx, did| mir_borrowck(tcx, ty::WithOptConstParam::unknown(did)), mir_borrowck_const_arg: |tcx, (did, param_did)| { mir_borrowck(tcx, ty::WithOptConstParam { did, const_param_did: Some(param_did) }) }, diff --git a/src/librustc_mir/transform/check_unsafety.rs b/src/librustc_mir/transform/check_unsafety.rs index 42ac4d126a1..024244582bb 100644 --- a/src/librustc_mir/transform/check_unsafety.rs +++ b/src/librustc_mir/transform/check_unsafety.rs @@ -491,7 +491,7 @@ impl<'a, 'tcx> UnsafetyChecker<'a, 'tcx> { pub(crate) fn provide(providers: &mut Providers) { *providers = Providers { unsafety_check_result: |tcx, def_id| { - unsafety_check_result(tcx, ty::WithOptConstParam::dummy(def_id)) + unsafety_check_result(tcx, ty::WithOptConstParam::unknown(def_id)) }, unsafety_check_result_const_arg: |tcx, (did, param_did)| { unsafety_check_result( diff --git a/src/librustc_mir/transform/mod.rs b/src/librustc_mir/transform/mod.rs index ce8e71d878b..db091b3a0ab 100644 --- a/src/librustc_mir/transform/mod.rs +++ b/src/librustc_mir/transform/mod.rs @@ -49,7 +49,7 @@ pub(crate) fn provide(providers: &mut Providers) { mir_keys, mir_const, mir_const_qualif: |tcx, did| { - mir_const_qualif(tcx, ty::WithOptConstParam::dummy(did.expect_local())) + mir_const_qualif(tcx, ty::WithOptConstParam::unknown(did.expect_local())) }, mir_const_qualif_const_arg: |tcx, (did, param_did)| { mir_const_qualif(tcx, ty::WithOptConstParam { did, const_param_did: Some(param_did) }) @@ -60,7 +60,7 @@ pub(crate) fn provide(providers: &mut Providers) { optimized_mir_of_const_arg, is_mir_available, promoted_mir: |tcx, def_id| { - promoted_mir(tcx, ty::WithOptConstParam::dummy(def_id.expect_local())) + promoted_mir(tcx, ty::WithOptConstParam::unknown(def_id.expect_local())) }, promoted_mir_of_const_arg: |tcx, (did, param_did)| { promoted_mir(tcx, ty::WithOptConstParam { did, const_param_did: Some(param_did) }) @@ -128,7 +128,7 @@ pub struct MirSource<'tcx> { impl<'tcx> MirSource<'tcx> { pub fn item(def_id: DefId) -> Self { MirSource { - instance: InstanceDef::Item(ty::WithOptConstParam::dummy(def_id)), + instance: InstanceDef::Item(ty::WithOptConstParam::unknown(def_id)), promoted: None, } } @@ -414,7 +414,7 @@ fn run_post_borrowck_cleanup_passes<'tcx>( run_passes( tcx, body, - InstanceDef::Item(ty::WithOptConstParam::dummy(def_id.to_def_id())), + InstanceDef::Item(ty::WithOptConstParam::unknown(def_id.to_def_id())), promoted, MirPhase::DropElab, &[post_borrowck_cleanup], @@ -478,7 +478,7 @@ fn run_optimization_passes<'tcx>( run_passes( tcx, body, - InstanceDef::Item(ty::WithOptConstParam::dummy(def_id.to_def_id())), + InstanceDef::Item(ty::WithOptConstParam::unknown(def_id.to_def_id())), promoted, MirPhase::Optimized, &[ @@ -493,7 +493,7 @@ fn optimized_mir<'tcx>(tcx: TyCtxt<'tcx>, did: DefId) -> &'tcx Body<'tcx> { if let Some(param_did) = tcx.opt_const_param_of(did) { tcx.optimized_mir_of_const_arg((did, param_did)) } else { - tcx.arena.alloc(inner_optimized_mir(tcx, ty::WithOptConstParam::dummy(did))) + tcx.arena.alloc(inner_optimized_mir(tcx, ty::WithOptConstParam::unknown(did))) } } diff --git a/src/librustc_mir/util/pretty.rs b/src/librustc_mir/util/pretty.rs index e01badde217..990bfc064c2 100644 --- a/src/librustc_mir/util/pretty.rs +++ b/src/librustc_mir/util/pretty.rs @@ -249,7 +249,7 @@ pub fn write_mir_pretty<'tcx>( for (i, body) in tcx.promoted_mir(def_id).iter_enumerated() { writeln!(w)?; let src = MirSource { - instance: ty::InstanceDef::Item(ty::WithOptConstParam::dummy(def_id)), + instance: ty::InstanceDef::Item(ty::WithOptConstParam::unknown(def_id)), promoted: Some(i), }; write_mir_fn(tcx, src, body, &mut |_, _| Ok(()), w)?; diff --git a/src/librustc_mir_build/hair/cx/expr.rs b/src/librustc_mir_build/hair/cx/expr.rs index 8692363d006..89ad8a1b337 100644 --- a/src/librustc_mir_build/hair/cx/expr.rs +++ b/src/librustc_mir_build/hair/cx/expr.rs @@ -601,7 +601,7 @@ fn make_mirror_unadjusted<'a, 'tcx>( let substs = InternalSubsts::identity_for_item(cx.tcx(), did); let lhs = mk_const(cx.tcx().mk_const(ty::Const { val: ty::ConstKind::Unevaluated( - ty::WithOptConstParam::dummy(did), + ty::WithOptConstParam::unknown(did), substs, None, ), @@ -801,7 +801,7 @@ fn convert_path_expr<'a, 'tcx>( ExprKind::Literal { literal: cx.tcx.mk_const(ty::Const { val: ty::ConstKind::Unevaluated( - ty::WithOptConstParam::dummy(def_id), + ty::WithOptConstParam::unknown(def_id), substs, None, ), diff --git a/src/librustc_ty/instance.rs b/src/librustc_ty/instance.rs index 1a3308468bb..0bc6c470978 100644 --- a/src/librustc_ty/instance.rs +++ b/src/librustc_ty/instance.rs @@ -21,7 +21,7 @@ fn resolve_instance<'tcx>( } } - inner_resolve_instance(tcx, param_env.and((ty::WithOptConstParam::dummy(did), substs))) + inner_resolve_instance(tcx, param_env.and((ty::WithOptConstParam::unknown(did), substs))) } fn resolve_instance_of_const_arg<'tcx>( @@ -210,7 +210,7 @@ fn resolve_associated_item<'tcx>( Some(ty::Instance::new(leaf_def.item.def_id, substs)) } traits::ImplSourceGenerator(generator_data) => Some(Instance { - def: ty::InstanceDef::Item(ty::WithOptConstParam::dummy( + def: ty::InstanceDef::Item(ty::WithOptConstParam::unknown( generator_data.generator_def_id, )), substs: generator_data.substs, diff --git a/src/librustc_typeck/check/wfcheck.rs b/src/librustc_typeck/check/wfcheck.rs index 30aa861e55d..845a4fcafc2 100644 --- a/src/librustc_typeck/check/wfcheck.rs +++ b/src/librustc_typeck/check/wfcheck.rs @@ -424,7 +424,7 @@ fn check_type_defn<'tcx, F>( cause, fcx.param_env, ty::PredicateKind::ConstEvaluatable( - ty::WithOptConstParam::dummy(discr_def_id.to_def_id()), + ty::WithOptConstParam::unknown(discr_def_id.to_def_id()), discr_substs, ) .to_predicate(fcx.tcx), diff --git a/src/tools/clippy/clippy_lints/src/consts.rs b/src/tools/clippy/clippy_lints/src/consts.rs index 891cb69bb56..e6ef54f528f 100644 --- a/src/tools/clippy/clippy_lints/src/consts.rs +++ b/src/tools/clippy/clippy_lints/src/consts.rs @@ -332,7 +332,7 @@ impl<'a, 'tcx> ConstEvalLateContext<'a, 'tcx> { let result = self .lcx .tcx - .const_eval_resolve(self.param_env, ty::WithOptConstParam::dummy(def_id), substs, None, None) + .const_eval_resolve(self.param_env, ty::WithOptConstParam::unknown(def_id), substs, None, None) .ok() .map(|val| rustc_middle::ty::Const::from_value(self.lcx.tcx, val, ty))?; let result = miri_to_const(&result);