Remove the type-checking knot.
[ghc.git] / testsuite / tests / polykinds / T6020a.hs
1 {-# OPTIONS_GHC -Wno-redundant-constraints -Wno-simplifiable-class-constraints #-}
2 {-# LANGUAGE DataKinds, FunctionalDependencies, FlexibleInstances,
3 UndecidableInstances, PolyKinds, KindSignatures,
4 ConstraintKinds, FlexibleContexts, GADTs #-}
5
6 module T6020a where
7
8 class Id (a :: k) (b :: k) | b -> a
9 instance a ~ b => Id a b
10
11 class Test (x :: a) (y :: a)
12 instance (Id x y, Id y z) => Test x z
13 -- Weird test case: (Id x y) and (Id y z) are both simplifiable
14
15 test :: Test True True => ()
16 -- Weird test case: (Test True True) is simplifiable
17 test = ()
18
19