
#14963: ghci -fdefer-type-errors can't run IO action from another module -------------------------------------+------------------------------------- Reporter: elaforge | Owner: tdammers Type: bug | Status: new Priority: high | Milestone: 8.4.2 Component: GHCi | Version: 8.4.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): The code in `TcUnify` described in comment:8 is {{{ implicationNeeded skol_tvs given | null skol_tvs , null given = -- Empty skolems and givens do { tc_lvl <- getTcLevel ; if not (isTopTcLevel tc_lvl) -- No implication needed if we are then return False -- already inside an implication else do { dflags <- getDynFlags -- If any deferral can happen, -- we must build an implication ; return (gopt Opt_DeferTypeErrors dflags || gopt Opt_DeferTypedHoles dflags || gopt Opt_DeferOutOfScopeVariables dflags) } } }}} So you have to switch of all three of `Opt_DeferTypeErrors`, `Opt_DeferTypedHoles` and `Opt_DeferOutOfScopeVariables`. But NB that ''the first implies the other two''; so I guess that you need to switch all three of them off in the workaround. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14963#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler