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 :)