canCFunEqCan: use isTcReflexiveCo (not isTcReflCo)
As Trac #15577 showed, it was possible for a /homo-kinded/ constraint to trigger the /hetero-kinded/ branch of canCFunEqCan, and that triggered an infinite loop. The fix is easier, but there remains a deeper questions: why is the flattener producing giant refexive coercions?
Showing
- compiler/typecheck/TcCanonical.hs 16 additions, 4 deletionscompiler/typecheck/TcCanonical.hs
- testsuite/tests/polykinds/T15577.hs 21 additions, 0 deletionstestsuite/tests/polykinds/T15577.hs
- testsuite/tests/polykinds/T15577.stderr 71 additions, 0 deletionstestsuite/tests/polykinds/T15577.stderr
- testsuite/tests/polykinds/all.T 1 addition, 0 deletionstestsuite/tests/polykinds/all.T
Loading
Please register or sign in to comment