mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 10:11:04 +01:00
If the RHS of a rewrite constraint refers to an associated constant, pull the value for that constant from other rewrite constraints. We repeat this each time a RHS value is changed until we reach a fixed point, as per the "Rewrite constraint resolution" rule: https://docs.carbon-lang.dev/docs/design/generics/appendix-rewrite-constraints.html#rewrite-constraint-resolution While replacing references to associated constants in the RHS, if the reference is to the LHS of the same rewrite constraint, we diagnose it as a cycle which has no fixed point, and replace reference to the associated constant with `ErrorInst`.