summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T17804.hs
blob: 152812a72860d40c97d586575bd1ab41dfe0a21f (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
{-# OPTIONS_GHC -Wimplicit-lift #-}
{-# LANGUAGE TemplateHaskell #-}
module T17804 where

import Language.Haskell.TH.Syntax

warning1 :: Lift t => t -> Q Exp
warning1 x = [| x |]

warning2 :: Lift t => t -> Code Q t
warning2 x = [|| x ||]

noWarning1 :: Q Exp
noWarning1 = [| \x -> x |]

noWarning2 :: Code Q (a -> a)
noWarning2 = [|| \x -> x ||]

i :: Int
i = 0

noWarning3 :: Q Exp
noWarning3 = [| i |]

noWarning4 :: Code Q Int
noWarning4 = [|| i ||]