Remove knot-tying bug in TcHsSyn.zonkTyVarOcc
[ghc.git] / testsuite / tests / typecheck / should_fail / T15552.hs
1 {-# LANGUAGE DataKinds, ExistentialQuantification, GADTs, PolyKinds, TypeOperators #-}
2 {-# LANGUAGE TypeInType, TypeFamilies #-}
3 module T15552 where
4
5 import Data.Kind
6
7 data Elem :: k -> [k] -> Type
8
9 data EntryOfVal (v :: Type) (kvs :: [Type]) where
10 EntryOfVal :: forall (v :: Type) (kvs :: [Type]) (k :: Type).
11 Elem (k, v) kvs -> EntryOfVal v kvs
12
13 type family EntryOfValKey (eov :: EntryOfVal v kvs) :: Type
14
15 type family GetEntryOfVal (eov :: EntryOfVal v kvs) :: Elem (EntryOfValKey eov, v) kvs
16
17 type family FirstEntryOfVal (v :: Type) (kvs :: [Type]) :: EntryOfVal v kvs where