summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds/T6015a.hs
blob: f42019cc521cc50d96360a202403db7320d2fedb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{-# LANGUAGE PolyKinds, KindSignatures, FunctionalDependencies,  FlexibleInstances,
              UndecidableInstances, TypeOperators, DataKinds,  FlexibleContexts #-}

module T6015a where

import Prelude hiding ((++))

data T a = T

class ((a :: [k]) ++ (b :: [k])) (c :: [k]) | a b -> c  
instance ('[] ++ b) b  
instance (a ++ b) c => ((x ': a) ++ b) (x ': c)

test = T :: ('[True] ++ '[]) l => T l