Commit Graph
2 Commits
Author SHA1 Message Date
Richard SmithandJon Ross-Perkins 663ed32b1b Initial support for associated constants (#1376)
Basic support for declaring, specifying the values of, and using associated constants.

This is incomplete in various ways. For example, when checking whether a type satisfies a constraint, there is no check that its associated constants match those in the constraint, and name lookup into a value whose type is an associated constant is not supported yet.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-14 18:18:27 -07:00
Richard Smith 9512a9fcc1 Support implementing a non-interface constraint. (#1329)
This works by splitting the constraint up into interfaces and checking
that each of them is implemented in turn.

Also check that the parameters of the impl are deducible from each of
the resulting (type, interface) pairs.
2022-06-15 09:50:02 -07:00