diff options
Diffstat (limited to 'testsuite/tests/simplCore/should_compile/simpl017.stderr')
-rw-r--r-- | testsuite/tests/simplCore/should_compile/simpl017.stderr | 58 |
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) |