blob: 8df07d230d1097a7b0be03b2fa22404e6833e85c (
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
|
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE ViewPatterns #-}
module T13098 where
import Language.Haskell.TH
$( sequence [ dataD (cxt []) (mkName "T") [PlainTV (mkName "a")]
Nothing [normalC (mkName "T") []] []
, pragCompleteD [mkName "T"] Nothing ] )
$([d| class LL f where
go :: f a -> ()
instance LL [] where
go _ = ()
pattern T2 :: LL f => f a
pattern T2 <- (go -> ())
{-# COMPLETE T2 :: [] #-}
-- No warning
foo :: [a] -> Int
foo T2 = 5
|])
|