testsuite: Assert that testsuite ways are known
[ghc.git] / testsuite / tests / typecheck / should_compile / T14735.hs
1 {-# Language QuantifiedConstraints #-}
2 {-# Language StandaloneDeriving #-}
3 {-# Language DataKinds #-}
4 {-# Language TypeOperators #-}
5 {-# Language GADTs #-}
6 {-# Language KindSignatures #-}
7 {-# Language FlexibleInstances #-}
8 {-# Language UndecidableInstances #-}
9 {-# Language MultiParamTypeClasses #-}
10 {-# Language RankNTypes #-}
11 {-# Language ConstraintKinds #-}
12
13 module T14735 where
14
15 import Data.Kind
16
17 data D c where
18 D :: c => D c
19
20 newtype a :- b = S (a => D b)
21
22 class C1 a b
23 class C2 a b
24 instance C1 a b => C2 a b
25
26 class (forall xx. f xx) => Limit f
27 instance (forall xx. f xx) => Limit f
28
29 impl :: Limit (C1 a) :- Limit (C2 a)
30 impl = S D