From 33d21e62d070e11385cb223c60519c0fb267a432 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Thu, 22 Jun 2023 17:44:44 -0300 Subject: [PATCH] Do not remove previously added predicates in param_env, extend them instead --- compiler/rustc_ty_utils/src/ty.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_ty_utils/src/ty.rs b/compiler/rustc_ty_utils/src/ty.rs index 2daab520a2f..2b391f94a63 100644 --- a/compiler/rustc_ty_utils/src/ty.rs +++ b/compiler/rustc_ty_utils/src/ty.rs @@ -131,7 +131,9 @@ fn param_env(tcx: TyCtxt<'_>, def_id: DefId) -> ty::ParamEnv<'_> { if let Some(ImplTraitInTraitData::Trait { fn_def_id, .. }) | Some(ImplTraitInTraitData::Impl { fn_def_id, .. }) = tcx.opt_rpitit_info(def_id) { - predicates = tcx.predicates_of(fn_def_id).instantiate_identity(tcx).predicates; + // FIXME(-Zlower-impl-trait-in-trait-to-assoc-ty): Should not need to add the predicates + // from the parent fn to our assumptions + predicates.extend(tcx.predicates_of(fn_def_id).instantiate_identity(tcx).predicates); } // Finally, we have to normalize the bounds in the environment, in