summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testsuite/tests/th/T8031.hs14
-rw-r--r--testsuite/tests/th/all.T1
2 files changed, 15 insertions, 0 deletions
diff --git a/testsuite/tests/th/T8031.hs b/testsuite/tests/th/T8031.hs
new file mode 100644
index 0000000000..e71f347bb4
--- /dev/null
+++ b/testsuite/tests/th/T8031.hs
@@ -0,0 +1,14 @@
+{-# LANGUAGE TemplateHaskell, RankNTypes, DataKinds, TypeOperators, PolyKinds,
+ GADTs #-}
+
+module T8031 where
+
+import Data.Proxy
+
+data SList :: [k] -> * where
+ SCons :: Proxy h -> Proxy t -> SList (h ': t)
+
+$( [d| foo :: forall (a :: k). Proxy a
+ -> forall (b :: [k]). Proxy b
+ -> SList (a ': b)
+ foo a b = SCons a b |] )
diff --git a/testsuite/tests/th/all.T b/testsuite/tests/th/all.T
index 60b6089221..8656fcb87e 100644
--- a/testsuite/tests/th/all.T
+++ b/testsuite/tests/th/all.T
@@ -347,3 +347,4 @@ test('T7484', normal, compile_fail, ['-v0'])
test('T1476', normal, compile, ['-v0'])
test('T1476b', normal, compile_fail, ['-v0'])
test('T9824', normal, compile, ['-v0'])
+test('T8031', normal, compile, ['-v0'])