1{-# LANGUAGE PatternSynonyms #-}
2{-# LANGUAGE NoImplicitPrelude #-}
3{-# OPTIONS_GHC -Wall #-}
4module Simple where
5
6pattern Foo :: ()
7
8pattern Foo = ()
9
10a :: () -> ()
11a Foo = ()
12
13data A = B
14       | C
15       | D
16
17{-# COMPLETE Foo #-}
18
19{-# COMPLETE B, C #-}
20
21{-# COMPLETE B #-}
22
23b :: A -> A
24b B = B
25b C = C
26
27{-# COMPLETE Foo :: () #-}
28