summaryrefslogtreecommitdiff
path: root/testsuite/tests/overloadedrecflds/should_fail/OverloadedRecFldsFail08_A.hs
blob: aa830cc8bee567dcd65cb555fdb8c4e3487cfc2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{-# LANGUAGE OverloadedRecordFields, ExistentialQuantification, RankNTypes, TypeFamilies #-}

module OverloadedRecFldsFail08_A where

-- x is existential (naughty)
data T = forall e . MkT { x :: e }

-- y and z are higher-rank
data U = MkU { y :: forall a . a -> a }
       | MkU2 { z :: (forall b . b) -> () }

data family F a
data instance F Int = forall e . MkFInt { foo :: e }
data instance F Bool = MkFBool { foo :: forall a . a -> a }