summaryrefslogtreecommitdiff
path: root/testsuite/tests/warnings/should_compile/T19564c.hs
blob: 6f950b7307838aefecaff6f3ae9d2803d5490d17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{-# OPTIONS_GHC -Wmissing-kind-signatures #-}
{-# LANGUAGE GADTs, PolyKinds, TypeFamilies #-}
-- with cusks but without -XCUSK, warnings
module T19564c where

import Data.Kind (Type, Constraint)

-- type family
type family Id (x :: Type) :: Type where
    Id Int = Int

-- class definition
class Functor f => Alt (f :: Type -> Type) where
    (<!>) :: f a -> f a -> f a

-- type alias
type Arr (a :: Type) (b :: Type) = a -> b :: Type
type B = Bool :: Type

-- Haskell98 data
data YesNo = Yes | No
data V2 (a :: Type) = V2 a a

-- GADT
data Free (f :: Type -> Type) (a :: Type) where
    Pure :: a -> Free f a
    Ap   :: f b -> Free f (b -> a) -> Free f a

-- data family
data family D1 (a :: Type)

-- associated type family
class C (a :: Type) where
    type AT a b