summaryrefslogtreecommitdiff
path: root/testsuite/tests/roles/should_compile/Roles1.hs
blob: 8488665fc613cd8a4154023cbd2d19d243754fd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{-# LANGUAGE RoleAnnotations, PolyKinds #-}

module Roles1 where

import Data.Kind (Type)

data T1 a = K1 a
data T2 a = K2 a
data T3 (a :: k) = K3
data T4 (a :: Type -> Type) b = K4 (a b)

data T5 a = K5 a
data T6 a = K6
data T7 a b = K7 b

type role T1 nominal
type role T2 representational
type role T3 phantom
type role T4 nominal _
type role T5 _