summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/simpl017.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/simplCore/should_compile/simpl017.stderr')
-rw-r--r--testsuite/tests/simplCore/should_compile/simpl017.stderr44
1 files changed, 34 insertions, 10 deletions
diff --git a/testsuite/tests/simplCore/should_compile/simpl017.stderr b/testsuite/tests/simplCore/should_compile/simpl017.stderr
index 96c8e1ea2d..0326e339fb 100644
--- a/testsuite/tests/simplCore/should_compile/simpl017.stderr
+++ b/testsuite/tests/simplCore/should_compile/simpl017.stderr
@@ -1,22 +1,46 @@
-simpl017.hs:50:15: error:
+simpl017.hs:55:5: error:
• Couldn't match type: [E m i] -> E' v0 m a
with: forall v. [E m i] -> E' v m a
- Expected: E m (forall v. [E m i] -> E' v m a)
- Actual: E' RValue m ([E m i] -> E' v0 m a)
- • In the expression:
+ Expected: m (forall v. [E m i] -> E' v m a)
+ Actual: m ([E m i] -> E' v0 m a)
+ • In a stmt of a 'do' block: return f
+ In the first argument of ‘E’, namely
+ ‘(do let ix :: [E m i] -> m i
+ ix [i] = runE i
+ {-# INLINE f #-}
+ ....
+ return f)’
+ In the expression:
E (do let ix :: [E m i] -> m i
ix [i] = runE i
{-# INLINE f #-}
....
return f)
- In an equation for ‘liftArray’:
- liftArray a
- = E (do let ix :: [E m i] -> m i
- ix [i] = runE i
- ....
- return f)
• Relevant bindings include
+ f :: [E m i] -> E' v0 m a (bound at simpl017.hs:54:9)
+ ix :: [E m i] -> m i (bound at simpl017.hs:52:9)
a :: arr i a (bound at simpl017.hs:50:11)
liftArray :: arr i a -> E m (forall v. [E m i] -> E' v m a)
(bound at simpl017.hs:50:1)
+
+simpl017.hs:71:10: error:
+ • Couldn't match type: forall v. [E (ST s) Int] -> E' v (ST s) Int
+ with: [E (ST t0) Int] -> E (ST s) Int
+ Expected: E' RValue (ST s) ([E (ST t0) Int] -> E (ST s) Int)
+ Actual: E (ST s) (forall v. [E (ST s) Int] -> E' v (ST s) Int)
+ • In a stmt of a 'do' block: a <- liftArray ma
+ In the second argument of ‘($)’, namely
+ ‘do a <- liftArray ma
+ let one :: E (ST t) Int
+ one = return 1
+ a [one] `plus` a [one]’
+ In the expression:
+ runE
+ $ do a <- liftArray ma
+ let one :: E (ST t) Int
+ one = return 1
+ a [one] `plus` a [one]
+ • Relevant bindings include
+ ma :: STArray s Int Int (bound at simpl017.hs:70:5)
+ foo :: STArray s Int Int -> ST s Int (bound at simpl017.hs:70:1)