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: which we will introduce one by one:
- Projection and the `Normalize` predicate - Projection and the `Normalize` predicate
- Skolemization - Placeholder associated type projections
- The `ProjectionEq` predicate - The `ProjectionEq` predicate
- Integration with unification - 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 So far we have seen two ways to answer the question of "When can we
consider an associated type projection equal to another type?": consider an associated type projection equal to another type?":
- the `Normalize` predicate could be used to transform associated type - the `Normalize` predicate could be used to transform projections when we
projections when we knew which impl was applicable; knew which impl applied;
- **placeholder** associated types can be used when we don't. - **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 We now introduce the `ProjectionEq` predicate to bring those two cases
together. The `ProjectionEq` predicate looks like so: together. The `ProjectionEq` predicate looks like so: