summaryrefslogtreecommitdiff
path: root/testsuite/tests/linear/should_compile/LinearConstructors.hs
blob: 59886a216ba8f62fbcfb9219236ec0c071ef5e34 (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
{-# LANGUAGE LinearTypes #-}
{-# LANGUAGE TupleSections #-}
module LinearConstructors where

data T a b = MkT a b

f1 :: a %1 -> b %1 -> T a b
f1 = MkT

f2 :: a %1 -> b -> T a b
f2 = MkT

f3 :: a -> b %1 -> T a b
f3 = MkT

f4 :: a -> b -> T a b
f4 = MkT

-- tuple sections
g1 :: a %1 -> b %1 -> (a, b, Int)
g1 = (,,0)

g2 :: a %1 -> b -> (a, b, Int)
g2 = (,,0)

g3 :: a -> b %1 -> (a, b, Int)
g3 = (,,0)

g4 :: a -> b -> (a, b, Int)
g4 = (,,0)