
#12784: Typechecker regression in GHC 8.0.2 involving DefaultSignatures -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.2 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Wow, those constraints are really off! To highlight how bad the behavior was in 8.0.1, even this typechecks! {{{#!hs class (MonadLogger m, MonadIO m) => MonadLoggerIO m where askLoggerIO :: m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) default askLoggerIO :: (Trans.MonadTrans t) => t m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) askLoggerIO = Trans.lift askLoggerIO }}} I'll draft up a patch for the 8.0.2 users' guide explaining this difference the a similar vein as ead83db8a7db772a9f248af9767a4283218a5c9f. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12784#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler