Commit 9de0eb95 authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

Test Trac #6069

parent 2098689f
{-# LANGUAGE Rank2Types #-}
module T6069 where
import Control.Monad.ST
import Data.STRef
fourty_two :: forall s. ST s Int
fourty_two = do
x <- newSTRef (42::Int)
readSTRef x
f1 = (print . runST) fourty_two -- (1)
f2 = (print . runST) $ fourty_two -- (2)
f3 = ((print . runST) $) fourty_two -- (3)
T6069.hs:13:15:
Couldn't match type `ST s0 Int' with `forall s. ST s b0'
Expected type: ST s0 Int -> b0
Actual type: (forall s. ST s b0) -> b0
In the second argument of `(.)', namely `runST'
In the expression: print . runST
In the expression: (print . runST) fourty_two
T6069.hs:14:15:
Couldn't match type `ST s1 Int' with `forall s. ST s b1'
Expected type: ST s1 Int -> b1
Actual type: (forall s. ST s b1) -> b1
In the second argument of `(.)', namely `runST'
In the expression: (print . runST)
In the expression: (print . runST) $ fourty_two
T6069.hs:15:16:
Couldn't match type `ST s2 Int' with `forall s. ST s b2'
Expected type: ST s2 Int -> b2
Actual type: (forall s. ST s b2) -> b2
In the second argument of `(.)', namely `runST'
In the first argument of `($)', namely `(print . runST)'
In the expression: (print . runST) $
......@@ -285,3 +285,4 @@ test('T7210', normal, compile_fail, [''])
test('T6161', normal, compile_fail, [''])
test('T7368', normal, compile_fail, [''])
test('T7264', normal, compile_fail, [''])
test('T6069', normal, compile_fail, [''])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment