summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T8031.hs
blob: 870d7d4fc9f0daac59af7e1e735b5df8eb2261b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{-# LANGUAGE TemplateHaskell, RankNTypes, TypeOperators, DataKinds, PolyKinds,
             GADTs #-}

module T8031 where

import Data.Proxy
import Data.Kind

data SList :: [k] -> Type where
  SCons :: Proxy h -> Proxy t -> SList (h ': t)

$( [d| foo :: forall k (a :: k). Proxy a
           -> forall (b :: [k]). Proxy b
           -> SList (a ': b)
       foo a b = SCons a b |] )