Ticket #5560 (closed bug: invalid)
case and type synonym
Description (last modified by igloo) (diff)
Observed on arch linux, 7.0.3 ghc. (package version 7.0.3-2) The warning is suspicious; the result for switchOnEvent2 bp is wrong. It works however if no type synonym is used (as illustrated).
Thanks
-- patrick
[patrick@eee2 launcher]$ ghci
GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :l testme
[1 of 1] Compiling Main ( testme.hs, interpreted )
testme.hs:10:1:
Warning: Pattern match(es) are overlapped
In an equation for `switchOnEvent2':
switchOnEvent2 bp = ...
switchOnEvent2 _ = ...
Ok, modules loaded: Main.
*Main> switchOnEvent2 kp
KP
*Main> switchOnEvent2 bp
KP
*Main> switchOnEvent3 202
KP
*Main> switchOnEvent3 204
BP
*Main> switchOnEvent3 203
??
*Main> >
-- testme.hs: import Data.Word type MyEventType = Word32 kp :: MyEventType kp = 102 bp :: MyEventType bp = 104 switchOnEvent2 :: MyEventType -> IO () switchOnEvent2 kp = do putStrLn "KP" switchOnEvent2 bp = do putStrLn "BP" switchOnEvent2 _ = do putStrLn "??" switchOnEvent3 :: Word32 -> IO () switchOnEvent3 202 = do putStrLn "KP" switchOnEvent3 204 = do putStrLn "BP" switchOnEvent3 _ = do putStrLn "??"
Change History
Note: See
TracTickets for help on using
tickets.
