Fail fast in solveLocalEqualities
This patch makes us fail fast in TcSimplify.solveLocalEqualities, and in TcHsType.tc_hs_sig_type, if there are insoluble constraints. Previously we ploughed on even if there were insoluble constraints, leading to a cascade of hard-to-understand type errors. Failing eagerly is much better; hence a lot of testsuite error message changes. Eg if we have f :: [Maybe] -> blah f xs = e then trying typecheck 'f x = e' with an utterly bogus type is just asking for trouble. I can't quite remember what provoked me to make this change, but I think the error messages are notably improved, by removing confusing clutter and focusing on the real error.
Showing
- compiler/typecheck/TcHsType.hs 4 additions, 0 deletionscompiler/typecheck/TcHsType.hs
- compiler/typecheck/TcSimplify.hs 18 additions, 1 deletioncompiler/typecheck/TcSimplify.hs
- testsuite/tests/dependent/should_fail/DepFail1.stderr 0 additions, 16 deletionstestsuite/tests/dependent/should_fail/DepFail1.stderr
- testsuite/tests/ghci/scripts/T15898.stderr 0 additions, 28 deletionstestsuite/tests/ghci/scripts/T15898.stderr
- testsuite/tests/indexed-types/should_fail/T13877.stderr 2 additions, 20 deletionstestsuite/tests/indexed-types/should_fail/T13877.stderr
- testsuite/tests/partial-sigs/should_fail/T11976.stderr 0 additions, 11 deletionstestsuite/tests/partial-sigs/should_fail/T11976.stderr
- testsuite/tests/partial-sigs/should_fail/T12634.stderr 1 addition, 22 deletionstestsuite/tests/partial-sigs/should_fail/T12634.stderr
- testsuite/tests/patsyn/should_fail/T15289.stderr 0 additions, 6 deletionstestsuite/tests/patsyn/should_fail/T15289.stderr
- testsuite/tests/polykinds/T12593.stderr 1 addition, 106 deletionstestsuite/tests/polykinds/T12593.stderr
- testsuite/tests/polykinds/T15577.stderr 0 additions, 62 deletionstestsuite/tests/polykinds/T15577.stderr
- testsuite/tests/typecheck/should_fail/T11112.stderr 0 additions, 9 deletionstestsuite/tests/typecheck/should_fail/T11112.stderr
- testsuite/tests/typecheck/should_fail/T13819.stderr 0 additions, 11 deletionstestsuite/tests/typecheck/should_fail/T13819.stderr
- testsuite/tests/typecheck/should_fail/T14232.stderr 0 additions, 13 deletionstestsuite/tests/typecheck/should_fail/T14232.stderr
- testsuite/tests/typecheck/should_fail/T3540.stderr 0 additions, 10 deletionstestsuite/tests/typecheck/should_fail/T3540.stderr
- testsuite/tests/typecheck/should_fail/T7778.stderr 0 additions, 6 deletionstestsuite/tests/typecheck/should_fail/T7778.stderr
- testsuite/tests/typecheck/should_fail/T8806.stderr 2 additions, 4 deletionstestsuite/tests/typecheck/should_fail/T8806.stderr
- testsuite/tests/typecheck/should_fail/VtaFail.stderr 0 additions, 22 deletionstestsuite/tests/typecheck/should_fail/VtaFail.stderr
- testsuite/tests/typecheck/should_fail/tcfail057.stderr 0 additions, 9 deletionstestsuite/tests/typecheck/should_fail/tcfail057.stderr
- testsuite/tests/typecheck/should_fail/tcfail058.stderr 0 additions, 20 deletionstestsuite/tests/typecheck/should_fail/tcfail058.stderr
- testsuite/tests/typecheck/should_fail/tcfail063.stderr 0 additions, 17 deletionstestsuite/tests/typecheck/should_fail/tcfail063.stderr
Loading
Please register or sign in to comment