
#14368: GHC 8.2.1 doesn't inform you when the monomorphism restriction kicks in anymore -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.2.1 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Poor/confusing | Unknown/Multiple error message | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): It was an ad-hoc special case before. This is tricky to report well. For example {{{ f = Just (==) }}} does not give that hint. And {{{ f = (==) foo = (f 'c', f True) }}} gives {{{ • Couldn't match expected type ‘Char’ with actual type ‘Bool’ • In the first argument of ‘f’, namely ‘True’ }}} Ironically, we do generate a warning {{{ Foo.hs:7:1: warning: The Monomorphism Restriction applies to the binding for ‘f’ Consider giving it a type signature }}} but since it's a warning it is suppressed when there is an error. Maybe errors should not suppress warnings? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14368#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler