summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T23036.hs
blob: f841ede059c5f8be9565c71e933a5c607ed11120 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{-# LANGUAGE TemplateHaskell #-}
module T23036 where

import Language.Haskell.TH

a, b, c :: ()
a = $([|let x = undefined in ()|])
b = $([|let !x = undefined in ()|])
c = $([|let ~x = undefined in ()|])

-- Test strictness annotations are also correctly handled in function and pattern binders
d, e, f:: ()
d = $([|let !(x,y) = undefined in ()|])
e = $([|let (!x,y,~z) = undefined in ()|])
f = $([|let f !x ~y z = undefined in ()|])