summaryrefslogtreecommitdiff
path: root/testsuite/tests/quantified-constraints/all.T
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2018-06-25 17:42:57 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2018-06-26 12:09:36 +0100
commit261dd83cacec71edd551e9c581d05285c9ea3226 (patch)
tree325b904128148fa6f865403b70f4c6e84ac54335 /testsuite/tests/quantified-constraints/all.T
parente53c113dcfeca9ee957722ede3d8b6a2c4c751a1 (diff)
downloadhaskell-261dd83cacec71edd551e9c581d05285c9ea3226.tar.gz
Fix TcLevel manipulation in TcDerivInfer.simplifyDeriv
The level numbers we were getting simply didn't obey the invariant (ImplicInv) in TcType Note [TcLevel and untouchable type variables] That leads to chaos. Easy to fix. I improved the documentation. I also added an assertion in TcSimplify that checks that level numbers go up by 1 as we dive inside implications, so that we catch the problem at source rather than than through its obscure consequences. That in turn showed up that TcRules was also generating constraints that didn't obey (ImplicInv), so I fixed that too. I have no idea what consequences were lurking behing that bug, but anyway now it's fixed. Hooray.
Diffstat (limited to 'testsuite/tests/quantified-constraints/all.T')
-rw-r--r--testsuite/tests/quantified-constraints/all.T1
1 files changed, 1 insertions, 0 deletions
diff --git a/testsuite/tests/quantified-constraints/all.T b/testsuite/tests/quantified-constraints/all.T
index 5f8547b5a8..65e636744f 100644
--- a/testsuite/tests/quantified-constraints/all.T
+++ b/testsuite/tests/quantified-constraints/all.T
@@ -13,3 +13,4 @@ test('T15231', normal, compile_fail, [''])
test('T15290', normal, compile, [''])
test('T15290a', normal, compile_fail, [''])
+test('T15290b', normal, compile_fail, [''])