[GHC] #14963: ghci -fdefer-type-errors can't run IO action from another module
GHC
ghc-devs at haskell.org
Wed Jun 6 17:47:55 UTC 2018
#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 tdammers):
Another data point; the Core ghci generates with `-fdefer-type-errors` is
slightly different from the normal output:
{{{#!diff
--- Foo-defer.dump-simpl 2018-06-06 17:53:34.436841703 +0200
+++ Foo.dump-simpl 2018-06-06 19:44:00.385228438 +0200
@@ -1,39 +1,39 @@
==================== Tidy Core ====================
-2018-06-06 15:53:34.440330463 UTC
+2018-06-06 17:44:00.38910864 UTC
Result size of Tidy Core
= {terms: 19, types: 9, coercions: 0, joins: 0/0}
--- RHS size: {terms: 4, types: 2, coercions: 0, joins: 0/0}
-test :: IO Int
-[GblId]
-test
- = break<0>() return @ IO GHC.Base.$fMonadIO @ Int (GHC.Types.I# 1#)
-
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
-$trModule1_r1Ss :: GHC.Prim.Addr#
+$trModule1_r1Sr :: GHC.Prim.Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
-$trModule1_r1Ss = "main"#
+$trModule1_r1Sr = "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$trModule2_r1SD :: GHC.Types.TrName
+$trModule2_r1SC :: GHC.Types.TrName
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
-$trModule2_r1SD = GHC.Types.TrNameS $trModule1_r1Ss
+$trModule2_r1SC = GHC.Types.TrNameS $trModule1_r1Sr
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
-$trModule3_r1SE :: GHC.Prim.Addr#
+$trModule3_r1SD :: GHC.Prim.Addr#
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
-$trModule3_r1SE = "Main"#
+$trModule3_r1SD = "Main"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
-$trModule4_r1SF :: GHC.Types.TrName
+$trModule4_r1SE :: GHC.Types.TrName
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
-$trModule4_r1SF = GHC.Types.TrNameS $trModule3_r1SE
+$trModule4_r1SE = GHC.Types.TrNameS $trModule3_r1SD
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
Main.$trModule :: GHC.Types.Module
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
-Main.$trModule = GHC.Types.Module $trModule2_r1SD $trModule4_r1SF
+Main.$trModule = GHC.Types.Module $trModule2_r1SC $trModule4_r1SE
+
+-- RHS size: {terms: 4, types: 2, coercions: 0, joins: 0/0}
+test :: IO Int
+[GblId]
+test
+ = break<0>() return @ IO GHC.Base.$fMonadIO @ Int (GHC.Types.I# 1#)
}}}
The only differences however are due to uniques not matching up, and
putting `main` first instead of last.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14963#comment:25>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list