Test #9017 in polykinds/T9017
authorRichard Eisenberg <eir@cis.upenn.edu>
Sat, 12 Dec 2015 03:07:06 +0000 (22:07 -0500)
committerRichard Eisenberg <eir@cis.upenn.edu>
Sat, 12 Dec 2015 03:07:06 +0000 (22:07 -0500)
testsuite/tests/polykinds/T9017.hs [new file with mode: 0644]
testsuite/tests/polykinds/T9017.stderr [new file with mode: 0644]
testsuite/tests/polykinds/all.T

diff --git a/testsuite/tests/polykinds/T9017.hs b/testsuite/tests/polykinds/T9017.hs
new file mode 100644 (file)
index 0000000..7f93f54
--- /dev/null
@@ -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 (file)
index 0000000..857d11a
--- /dev/null
@@ -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)
index a93ad8b..0005abc 100644 (file)
@@ -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, [''])