Fix #17405 by not checking imported equations
Previously, we checked all imported type family equations for injectivity. This is very silly. Now, we check only for conflicts. Before I could even imagine doing the fix, I needed to untangle several functions that were (in my opinion) overly complicated. It's still not quite as perfect as I'd like, but it's good enough for now. Test case: typecheck/should_compile/T17405
Showing
- compiler/typecheck/FamInst.hs 107 additions, 100 deletionscompiler/typecheck/FamInst.hs
- compiler/typecheck/TcValidity.hs 3 additions, 3 deletionscompiler/typecheck/TcValidity.hs
- compiler/types/Coercion.hs 1 addition, 1 deletioncompiler/types/Coercion.hs
- compiler/types/FamInstEnv.hs 7 additions, 0 deletionscompiler/types/FamInstEnv.hs
- compiler/utils/Util.hs 7 additions, 0 deletionscompiler/utils/Util.hs
- testsuite/tests/deriving/should_fail/T8165_fail1.stderr 3 additions, 2 deletionstestsuite/tests/deriving/should_fail/T8165_fail1.stderr
- testsuite/tests/ghci/scripts/T6018ghcifail.stderr 27 additions, 20 deletionstestsuite/tests/ghci/scripts/T6018ghcifail.stderr
- testsuite/tests/indexed-types/should_compile/T17405a.hs 6 additions, 0 deletionstestsuite/tests/indexed-types/should_compile/T17405a.hs
- testsuite/tests/indexed-types/should_compile/T17405b.hs 5 additions, 0 deletionstestsuite/tests/indexed-types/should_compile/T17405b.hs
- testsuite/tests/indexed-types/should_compile/T17405c.hs 4 additions, 0 deletionstestsuite/tests/indexed-types/should_compile/T17405c.hs
- testsuite/tests/indexed-types/should_compile/all.T 1 addition, 0 deletionstestsuite/tests/indexed-types/should_compile/all.T
- testsuite/tests/th/T6018th.stderr 2 additions, 1 deletiontestsuite/tests/th/T6018th.stderr
- testsuite/tests/typecheck/should_fail/T10836.stderr 12 additions, 10 deletionstestsuite/tests/typecheck/should_fail/T10836.stderr
- testsuite/tests/typecheck/should_fail/T12430.stderr 1 addition, 1 deletiontestsuite/tests/typecheck/should_fail/T12430.stderr
- testsuite/tests/typecheck/should_fail/T16512b.stderr 1 addition, 1 deletiontestsuite/tests/typecheck/should_fail/T16512b.stderr
- testsuite/tests/typecheck/should_fail/T6018fail.stderr 37 additions, 26 deletionstestsuite/tests/typecheck/should_fail/T6018fail.stderr
- testsuite/tests/typecheck/should_fail/T6018failclosed.stderr 17 additions, 12 deletionstestsuite/tests/typecheck/should_fail/T6018failclosed.stderr
Loading
Please register or sign in to comment