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.stderr58
1 files changed, 21 insertions, 37 deletions
diff --git a/testsuite/tests/simplCore/should_compile/simpl017.stderr b/testsuite/tests/simplCore/should_compile/simpl017.stderr
index 2d3c16ef71..bb74213dfe 100644
--- a/testsuite/tests/simplCore/should_compile/simpl017.stderr
+++ b/testsuite/tests/simplCore/should_compile/simpl017.stderr
@@ -1,38 +1,22 @@
-simpl017.hs:55:12:
- Couldn't match expected type ‘forall v. [E m i] -> E' v m a’
- with actual type ‘[E m i] -> E' v0 m a’
- In the first argument of ‘return’, namely ‘f’
- In a stmt of a 'do' block: 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:74:5:
- Couldn't match expected type ‘[E (ST t0) Int] -> E (ST s) Int’
- with actual type ‘forall v. [E (ST s) Int] -> E' v (ST s) Int’
- The function ‘a’ is applied to one argument,
- but its type ‘forall v. [E (ST s) Int] -> E' v (ST s) Int’ has none
- In the first argument of ‘plus’, namely ‘a [one]’
- In a stmt of a 'do' block: a [one] `plus` a [one]
- Relevant bindings include
- a :: forall v. [E (ST s) Int] -> E' v (ST s) Int
- (bound at simpl017.hs:71:5)
- 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)
-
-simpl017.hs:74:19:
- Couldn't match expected type ‘[E (ST t1) Int] -> E (ST s) Int’
- with actual type ‘forall v. [E (ST s) Int] -> E' v (ST s) Int’
- The function ‘a’ is applied to one argument,
- but its type ‘forall v. [E (ST s) Int] -> E' v (ST s) Int’ has none
- In the second argument of ‘plus’, namely ‘a [one]’
- In a stmt of a 'do' block: a [one] `plus` a [one]
- Relevant bindings include
- a :: forall v. [E (ST s) Int] -> E' v (ST s) Int
- (bound at simpl017.hs:71:5)
- 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)
+simpl017.hs:50:15: error:
+ • Couldn't match type ‘[E m i] -> E' v0 m a’
+ with ‘forall v. [E m i] -> E' v m a’
+ Expected type: E m (forall v. [E m i] -> E' v m a)
+ Actual type: E' RValue m ([E m i] -> E' v0 m a)
+ • 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
+ 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)