Skip to content

Apply cycle-breaker idea to Wanteds

Richard Eisenberg requested to merge wip/T19682 into master

This fixes #19682 (closed).

As you'll see in the changed comments, I wondered about the possibility of this scenario happening in a wanted (or, more accurately, a Derived), but we didn't have a concrete example, until #19682 (closed).

It's a bit fiddly in parts, but it does the trick. The details are all in Note [Type variable cycles] in GHC.Tc.Solver.Canonical.

I will squash and write a better commit message once tests pass.

Merge request reports