Rollup merge of #118246 - fee1-dead-contrib:rm-hack, r=compiler-errors

Remove a hack for effects

Fallback was implemented in #115727, which addresses the inference errors mentioned in the comments.
This commit is contained in:
Michael Goulet 2023-11-24 07:29:14 -08:00 committed by GitHub
commit 592ee12245
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -526,14 +526,9 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
_ => self.instantiate_value_path(segs, opt_ty, res, expr.span, expr.hir_id).0, _ => self.instantiate_value_path(segs, opt_ty, res, expr.span, expr.hir_id).0,
}; };
if let ty::FnDef(did, callee_args) = *ty.kind() { if let ty::FnDef(did, _) = *ty.kind() {
let fn_sig = ty.fn_sig(tcx); let fn_sig = ty.fn_sig(tcx);
// HACK: whenever we get a FnDef in a non-const context, enforce effects to get the
// default `host = true` to avoid inference errors later.
if tcx.hir().body_const_context(self.body_id).is_none() {
self.enforce_context_effects(expr.hir_id, qpath.span(), did, callee_args);
}
if tcx.fn_sig(did).skip_binder().abi() == RustIntrinsic if tcx.fn_sig(did).skip_binder().abi() == RustIntrinsic
&& tcx.item_name(did) == sym::transmute && tcx.item_name(did) == sym::transmute
{ {