Associated types: Mention "lazy normalization" somewhere

This commit is contained in:
Tyler Mandry 2018-10-24 21:31:53 -05:00
parent e6ca31cb00
commit 9f5428144f
1 changed files with 5 additions and 4 deletions

View File

@ -5,7 +5,7 @@ associated types. The full system consists of several moving parts,
which we will introduce one by one:
- Projection and the `Normalize` predicate
- Skolemization
- Placeholder associated type projections
- The `ProjectionEq` predicate
- Integration with unification
@ -106,9 +106,10 @@ placeholder associated types (see the `TypeName` enum declared in
So far we have seen two ways to answer the question of "When can we
consider an associated type projection equal to another type?":
- the `Normalize` predicate could be used to transform associated type
projections when we knew which impl was applicable;
- **placeholder** associated types can be used when we don't.
- the `Normalize` predicate could be used to transform projections when we
knew which impl applied;
- **placeholder** associated types can be used when we don't. This is also
known as **lazy normalization**.
We now introduce the `ProjectionEq` predicate to bring those two cases
together. The `ProjectionEq` predicate looks like so: