diff options
-rw-r--r-- | testsuite/tests/polykinds/T9017.hs | 8 | ||||
-rw-r--r-- | testsuite/tests/polykinds/T9017.stderr | 26 | ||||
-rw-r--r-- | testsuite/tests/polykinds/all.T | 1 |
3 files changed, 35 insertions, 0 deletions
diff --git a/testsuite/tests/polykinds/T9017.hs b/testsuite/tests/polykinds/T9017.hs new file mode 100644 index 0000000000..7f93f54f81 --- /dev/null +++ b/testsuite/tests/polykinds/T9017.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE PolyKinds #-} + +module T9017 where + +import Control.Arrow + +foo :: a b (m b) +foo = arr return diff --git a/testsuite/tests/polykinds/T9017.stderr b/testsuite/tests/polykinds/T9017.stderr new file mode 100644 index 0000000000..857d11aa96 --- /dev/null +++ b/testsuite/tests/polykinds/T9017.stderr @@ -0,0 +1,26 @@ + +T9017.hs:8:7: error: + • Couldn't match kind ‘k’ with ‘*’ + ‘k’ is a rigid type variable bound by + the type signature for: + foo :: forall k k1 (a :: k1 -> k -> *) (b :: k1) (m :: k1 -> k). + a b (m b) + at T9017.hs:7:8 + When matching the kind of ‘a’ + • In the expression: arr return + In an equation for ‘foo’: foo = arr return + • Relevant bindings include + foo :: a b (m b) (bound at T9017.hs:8:1) + +T9017.hs:8:7: error: + • Couldn't match kind ‘k1’ with ‘*’ + ‘k1’ is a rigid type variable bound by + the type signature for: + foo :: forall k k1 (a :: k1 -> k -> *) (b :: k1) (m :: k1 -> k). + a b (m b) + at T9017.hs:7:8 + When matching the kind of ‘a’ + • In the expression: arr return + In an equation for ‘foo’: foo = arr return + • Relevant bindings include + foo :: a b (m b) (bound at T9017.hs:8:1) diff --git a/testsuite/tests/polykinds/all.T b/testsuite/tests/polykinds/all.T index a93ad8bc41..0005abc87d 100644 --- a/testsuite/tests/polykinds/all.T +++ b/testsuite/tests/polykinds/all.T @@ -126,3 +126,4 @@ test('T10934', normal, compile, ['']) test('T11142', normal, compile_fail, ['']) test('SigTvKinds', expect_broken(11203), compile, ['']) test('SigTvKinds2', expect_broken(11203), compile_fail, ['']) +test('T9017', normal, compile_fail, ['']) |