[GHC] #9204: Conflicting definition in hs-boot file
GHC
ghc-devs at haskell.org
Sat Jun 14 12:06:03 UTC 2014
#9204: Conflicting definition in hs-boot file
-------------------------------------+------------------------------------
Reporter: Feuerbach | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone:
Component: Documentation | Version: 7.8.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Changes (by goldfire):
* owner: => goldfire
* component: Compiler => Documentation
Comment:
Replying to [comment:1 Feuerbach]:
> If I add a role annotation to the hs-boot file, this works
Yes, that's the solution.
.
> My guess is that since the hs-boot doesn't have the information about
the data constructors, it cannot infer the phantom role of the parameter.
Yes. As documented
[http://www.haskell.org/ghc/docs/latest/html/users_guide/separate-
compilation.html#mutual-recursion here], in the last bullet point before
4.7.10, role inference in hs-boot files defaults to representational, the
most common case.
> Still, I wish I didn't have to deal with this. But if this isn't
possible, at least the error message should suggest adding the role
annotation to the hs-boot file.
Yes, absolutely. I will fix in due course, and clarify some of this in the
manual as well.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9204#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list