I have the following code:
test :: String -> Bool
test "g" = True
test "global" = True
test _ = False
When I load it into GHCi (7.0.3), I get:
Warning: Pattern match(es) are overlapped
In an equation for `test': test "g" = ...
Is this a bug or am I missing something here?
The following hold:
test "" == False
test "g" == True
test "gl" == False
test "global" == True
test "globalx" == False
UPDATE:
I am using {-# LANGUAGE OverloadedStrings #-}
.
This is GHC bug #5117, arising from the use of the OverloadedStrings
extension. It should be fixed in GHC 7.2.
As a workaround, you could turn off OverloadedStrings
for the module with {-# LANGUAGE NoOverloadedStrings #-}
, or turn off the warning with {-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}
. Or just ignore it :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With