Remove the type-checking knot.
[ghc.git] / testsuite / tests / polykinds / T9063.hs
1 {-# LANGUAGE DataKinds, PolyKinds, TypeFamilies, TypeOperators,
2 UndecidableInstances #-}
3
4 module T9063 where
5
6 import Data.Type.Equality
7 import Data.Proxy
8
9 class kproxy ~ 'KProxy => PEq (kproxy :: KProxy a) where
10 type (:==) (x :: a) (y :: a) :: Bool
11 type x :== y = x == y
12
13 instance PEq ('KProxy :: KProxy Bool)
14
15 foo :: Proxy (True :== True) -> Proxy (True == True)
16 foo = id