Structs§
- Assoc
TyTo 🔒Opaque - MapAnd
Compress 🔒Bound Vars - Given some where clause like
for<'b, 'c> <Self as Trait<'a_identity>>::Gat<'b>: Bound<'c>
, the mapping will map'b
back to the GAT’s'b_identity
. Then we need to compress the remaining bound var'c
to index 0.
Functions§
- associated_
type_ 🔒bounds - For associated types we include both bounds written on the type
(
type X: Trait
) and predicates from the trait:where Self::X: Trait
. - explicit_
item_ 🔒bounds - explicit_
item_ 🔒bounds_ with_ filter - explicit_
item_ 🔒self_ bounds - impl_
super_ 🔒outlives - This exists as an optimization to compute only the supertraits of this impl’s trait that are outlives bounds.
- item_
bounds 🔒 - item_
non_ 🔒self_ bounds - This exists as an optimization to compute only the item bounds of the item
that are not
Self
bounds. - item_
self_ 🔒bounds - opaque_
type_ 🔒bounds - Opaque types don’t inherit bounds from their parent: for return position impl trait it isn’t possible to write a suitable predicate on the containing function and for type-alias impl trait we don’t have a backwards compatibility issue.
- remap_
gat_ 🔒vars_ and_ recurse_ into_ nested_ projections - The code below is quite involved, so let me explain.