s/const_effect/host_effect
This commit is contained in:
parent
f1bf874fb1
commit
7467c3a45c
@ -172,7 +172,7 @@ fn in_any_value_of_ty<'tcx>(cx: &ConstCx<'_, 'tcx>, ty: Ty<'tcx>) -> bool {
|
|||||||
destruct_def_id,
|
destruct_def_id,
|
||||||
[
|
[
|
||||||
ty::GenericArg::from(ty),
|
ty::GenericArg::from(ty),
|
||||||
ty::GenericArg::from(cx.tcx.expected_const_effect_param_for_body(cx.def_id())),
|
ty::GenericArg::from(cx.tcx.expected_host_effect_param_for_body(cx.def_id())),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
@ -780,7 +780,7 @@ pub(super) fn enforce_context_effects(
|
|||||||
let generics = tcx.generics_of(callee_did);
|
let generics = tcx.generics_of(callee_did);
|
||||||
let Some(host_effect_index) = generics.host_effect_index else { return };
|
let Some(host_effect_index) = generics.host_effect_index else { return };
|
||||||
|
|
||||||
let effect = tcx.expected_const_effect_param_for_body(self.body_id);
|
let effect = tcx.expected_host_effect_param_for_body(self.body_id);
|
||||||
|
|
||||||
trace!(?effect, ?generics, ?callee_args);
|
trace!(?effect, ?generics, ?callee_args);
|
||||||
|
|
||||||
|
@ -782,7 +782,7 @@ pub fn is_user_visible_dep(self, key: CrateNum) -> bool {
|
|||||||
|| self.extern_crate(key.as_def_id()).is_some_and(|e| e.is_direct())
|
|| self.extern_crate(key.as_def_id()).is_some_and(|e| e.is_direct())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn expected_const_effect_param_for_body(self, def_id: LocalDefId) -> ty::Const<'tcx> {
|
pub fn expected_host_effect_param_for_body(self, def_id: LocalDefId) -> ty::Const<'tcx> {
|
||||||
// FIXME(effects): This is suspicious and should probably not be done,
|
// FIXME(effects): This is suspicious and should probably not be done,
|
||||||
// especially now that we enforce host effects and then properly handle
|
// especially now that we enforce host effects and then properly handle
|
||||||
// effect vars during fallback.
|
// effect vars during fallback.
|
||||||
@ -817,7 +817,7 @@ pub fn expected_const_effect_param_for_body(self, def_id: LocalDefId) -> ty::Con
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Constructs generic args for an item, optionally appending a const effect param type
|
/// Constructs generic args for an item, optionally appending a const effect param type
|
||||||
pub fn with_opt_const_effect_param(
|
pub fn with_opt_host_effect_param(
|
||||||
self,
|
self,
|
||||||
caller_def_id: LocalDefId,
|
caller_def_id: LocalDefId,
|
||||||
callee_def_id: DefId,
|
callee_def_id: DefId,
|
||||||
@ -826,9 +826,10 @@ pub fn with_opt_const_effect_param(
|
|||||||
let generics = self.generics_of(callee_def_id);
|
let generics = self.generics_of(callee_def_id);
|
||||||
assert_eq!(generics.parent, None);
|
assert_eq!(generics.parent, None);
|
||||||
|
|
||||||
let opt_const_param = generics.host_effect_index.is_some().then(|| {
|
let opt_const_param = generics
|
||||||
ty::GenericArg::from(self.expected_const_effect_param_for_body(caller_def_id))
|
.host_effect_index
|
||||||
});
|
.is_some()
|
||||||
|
.then(|| ty::GenericArg::from(self.expected_host_effect_param_for_body(caller_def_id)));
|
||||||
|
|
||||||
self.mk_args_from_iter(args.into_iter().map(|arg| arg.into()).chain(opt_const_param))
|
self.mk_args_from_iter(args.into_iter().map(|arg| arg.into()).chain(opt_const_param))
|
||||||
}
|
}
|
||||||
|
@ -500,7 +500,7 @@ fn non_scalar_compare(
|
|||||||
self.tcx,
|
self.tcx,
|
||||||
eq_def_id,
|
eq_def_id,
|
||||||
sym::eq,
|
sym::eq,
|
||||||
self.tcx.with_opt_const_effect_param(self.def_id, eq_def_id, [ty, ty]),
|
self.tcx.with_opt_host_effect_param(self.def_id, eq_def_id, [ty, ty]),
|
||||||
);
|
);
|
||||||
|
|
||||||
let bool_ty = self.tcx.types.bool;
|
let bool_ty = self.tcx.types.bool;
|
||||||
|
@ -272,7 +272,7 @@ fn type_has_partial_eq_impl(&self, ty: Ty<'tcx>) -> bool {
|
|||||||
ty::TraitRef::new(
|
ty::TraitRef::new(
|
||||||
tcx,
|
tcx,
|
||||||
partial_eq_trait_id,
|
partial_eq_trait_id,
|
||||||
tcx.with_opt_const_effect_param(
|
tcx.with_opt_host_effect_param(
|
||||||
tcx.hir().enclosing_body_owner(self.id),
|
tcx.hir().enclosing_body_owner(self.id),
|
||||||
partial_eq_trait_id,
|
partial_eq_trait_id,
|
||||||
[ty, ty],
|
[ty, ty],
|
||||||
|
Loading…
Reference in New Issue
Block a user