Ticket #4139: GADTbug.hs

File GADTbug.hs, 369 bytes (added by goldfire, 4 years ago)

produces warning about non-exhaustive pattern match in GADT

Line 
1{-# LANGUAGE GADTs
2 #-}
3
4module GADTbug where
5
6data F a where
7  FInt :: F Int
8  FBool :: F Bool
9
10class Baz a where
11  baz :: F a -> G a
12instance Baz Int where
13  baz _ = GInt
14instance Baz Bool where
15  baz _ = GBool
16
17data G a where
18  GInt :: G Int
19  GBool :: G Bool
20
21bar :: Baz a => F a -> ()
22bar a@(FInt) =
23  case baz a of
24    GInt -> ()
25    -- GBool -> ()
26bar _ = ()
27
28