summaryrefslogtreecommitdiff
path: root/testsuite/tests/deriving
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2017-10-09 13:16:59 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2017-10-11 12:33:29 +0100
commitf20cf982f126aea968ed6a482551550ffb6650cf (patch)
treecba52af91ab61484d29067e0c44b7d5cc24d57d5 /testsuite/tests/deriving
parent3e44562ae18526ae0df6370078321dd19b00616f (diff)
downloadhaskell-f20cf982f126aea968ed6a482551550ffb6650cf.tar.gz
Remove wc_insol from WantedConstraints
This patch is a pure refactoring, which I've wanted to do for some time. The main payload is * Remove the wc_insol field from WantedConstraints; instead put all the insolubles in wc_simple * Remove inert_insols from InertCans Instead put all the insolubles in inert_irreds * Add a cc_insol flag to CIrredCan, to record that the constraint is definitely insoluble Reasons * Quite a bit of code gets slightly simpler * Fewer concepts to keep separate * Insolubles don't happen at all in production code that is just being recompiled, so previously there was a lot of moving-about of empty sets A couple of error messages acutally improved.
Diffstat (limited to 'testsuite/tests/deriving')
-rw-r--r--testsuite/tests/deriving/should_fail/T3621.stderr16
1 files changed, 11 insertions, 5 deletions
diff --git a/testsuite/tests/deriving/should_fail/T3621.stderr b/testsuite/tests/deriving/should_fail/T3621.stderr
index 88004bb230..ec68e81f41 100644
--- a/testsuite/tests/deriving/should_fail/T3621.stderr
+++ b/testsuite/tests/deriving/should_fail/T3621.stderr
@@ -1,9 +1,15 @@
T3621.hs:24:43: error:
- • No instance for (MonadState state (State s))
- arising from the 'deriving' clause of a data type declaration
- Possible fix:
- use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ • Couldn't match type ‘s’ with ‘state’
+ arising from a functional dependency between:
+ constraint ‘MonadState state (State s)’
+ arising from the 'deriving' clause of a data type declaration
+ instance ‘MonadState s1 (State s1)’ at T3621.hs:21:10-31
+ ‘s’ is a rigid type variable bound by
+ the deriving clause for ‘MonadState state (WrappedState s)’
+ at T3621.hs:24:43-58
+ ‘state’ is a rigid type variable bound by
+ the deriving clause for ‘MonadState state (WrappedState s)’
+ at T3621.hs:24:43-58
• When deriving the instance for (MonadState
state (WrappedState s))