#10176: Invalid core generated with GHC 7.10 RC3 -------------------------------------+------------------------------------- Reporter: NeilMitchell | Owner: Type: bug | Status: new Priority: high | Milestone: 7.10.1 Component: Compiler | Version: 7.10.1-rc3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by NeilMitchell): Running {{{ghc -outputdir obj -O -ddump-simpl Buggy.hs}}} produces the output: {{{ case (\ _ [Occ=Dead] _ [Occ=Dead, OS=OneShot] -> case lvl_r1lh unit_XyJ of wild2_00 { }) `cast` ((<()>_R -> Sym (GHC.Types.NTCo:IO[0] <GHC.Prim.Any>_R)) ; Sym (Buggy.NTCo:ReaderT[0] <()>_R <GHC.Prim.Any>_R) :: (() -> GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Any #)) ~R# ReaderT () GHC.Prim.Any) of _ [Occ=Dead] { } }}} Ignoring the cast (which I don't think is relevant) that is: {{{ case (\_ _ -> ...) of {} }}} I've reduced the bug so the code only depends on {{{Prelude}}}, requiring no external libraries. I have not been able to remove the requirement for two modules. The partial implementation of {{{ReaderT}}} is taken from the {{{transformers}}} library then specialised to {{{IO}}}. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10176#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler