Auto merge of #113215 - compiler-errors:rpitit-predicates-tweaks, r=spastorino
Make RPITITs assume/require their parent method's predicates Removes a FIXME from the `param_env` query where we were manually adding the parent function's predicates to the RPITIT's assumptions. r? `@spastorino`
This commit is contained in:
commit
0130c3a06e
8 changed files with 76 additions and 41 deletions
|
@ -1151,10 +1151,10 @@ fn should_encode_type(tcx: TyCtxt<'_>, def_id: LocalDefId, def_kind: DefKind) ->
|
|||
let assoc_item = tcx.associated_item(def_id);
|
||||
match assoc_item.container {
|
||||
ty::AssocItemContainer::ImplContainer => true,
|
||||
// FIXME(-Zlower-impl-trait-in-trait-to-assoc-ty) always encode RPITITs,
|
||||
// since we need to be able to "project" from an RPITIT associated item
|
||||
// to an opaque when installing the default projection predicates in
|
||||
// default trait methods with RPITITs.
|
||||
// Always encode RPITITs, since we need to be able to project
|
||||
// from an RPITIT associated item to an opaque when installing
|
||||
// the default projection predicates in default trait methods
|
||||
// with RPITITs.
|
||||
ty::AssocItemContainer::TraitContainer => {
|
||||
assoc_item.defaultness(tcx).has_value() || assoc_item.opt_rpitit_info.is_some()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue