Confusing type error behaviour
Compile this example with GHC 7.8.3.
module Foo where broken :: [Int] broken = () ambiguous :: a -> String ambiguous _ = show 0
Foo.hs:4:10: Couldn't match expected type ‘[Int]’ with actual type ‘()’ In the expression: () In an equation for ‘broken’: broken = () Foo.hs:7:15: No instance for (Show a0) arising from a use of ‘show’ The type variable ‘a0’ is ambiguous
(and a similar ambiguous
(Num a0) error).
But if you comment out
broken, the program compiles, using the defaulting rules to choose
This is obviously wrong.
Reported by Evan Laforge.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information