summaryrefslogtreecommitdiff
path: root/testsuite/tests/impredicative/expr-sig.hs
blob: 7e155ad600f999b3ec2a8c552fdb17c791764094 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{-# LANGUAGE ImpredicativeTypes, RankNTypes #-}

module ExprSig where

import Data.Kind

f :: [forall a. a->a] -> Int
f x = error "urk"

g1 = f undefined

-- This should be accepted (and wasn't)
g2 = f (undefined :: forall b. b)

f3 :: [forall a. a->a] -> b
f3 x = error "urk"

g3 = f3 (undefined :: forall b. b)