Opaques have duplicated lifetimes and we need to compute bidirectional outlives predicates to
enforce that these lifetimes stay in sync.
Compute the conditions that need to hold for a conditionally-const item to be const.
That is, compute the set of ~const
where clauses for a given item.
Ensures that the super-predicates of the trait with a DefId
of trait_def_id
are lowered and stored. This also ensures that
the transitive super-predicates are lowered.
Returns a list of user-specified type predicates for the definition with ID def_id
.
N.B., this does not include any implied/inferred constraints.
Ensures that the super-predicates of the trait with a DefId
of trait_def_id
are lowered and stored. This also ensures that
the transitive super-predicates are lowered.
Returns a list of all type predicates (explicit and implicit) for the definition with
ID def_id
. This includes all predicates returned by explicit_predicates_of
, plus
inferred constraints concerning which regions outlive other regions.
Returns the predicates defined on item_def_id
of the form
X: Foo
where X
is the type parameter def_id
.