summaryrefslogtreecommitdiff
path: root/testsuite/tests/patsyn
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2019-02-14 08:28:43 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2019-02-14 08:40:03 +0000
commit5c1f268e2744fab2d36e64c163858995451d7095 (patch)
treecb9b05c9112e6df43d90f28b6e3a252b2a077d46 /testsuite/tests/patsyn
parent682783828275cca5fd8bf5be5b52054c75e0e22c (diff)
downloadhaskell-5c1f268e2744fab2d36e64c163858995451d7095.tar.gz
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.
Diffstat (limited to 'testsuite/tests/patsyn')
-rw-r--r--testsuite/tests/patsyn/should_fail/T15289.stderr6
1 files changed, 0 insertions, 6 deletions
diff --git a/testsuite/tests/patsyn/should_fail/T15289.stderr b/testsuite/tests/patsyn/should_fail/T15289.stderr
index 952d358692..64cc153ff8 100644
--- a/testsuite/tests/patsyn/should_fail/T15289.stderr
+++ b/testsuite/tests/patsyn/should_fail/T15289.stderr
@@ -1,10 +1,4 @@
-T15289.hs:5:16: error:
- • Couldn't match expected type ‘Maybe’ with actual type ‘Bool’
- • In the pattern: True
- In the pattern: True :: Maybe
- In the declaration for pattern synonym ‘What’
-
T15289.hs:5:24: error:
• Expecting one more argument to ‘Maybe’
Expected a type, but ‘Maybe’ has kind ‘* -> *’