[GHC] #10714: After implementing new installed package ID (hash of sdist), get rid of package keys
GHC
ghc-devs at haskell.org
Wed Aug 26 00:52:05 UTC 2015
#10714: After implementing new installed package ID (hash of sdist), get rid of
package keys
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner: ezyang
Type: bug | Status: new
Priority: normal | Milestone:
Component: Package system | Version: 7.10.2
Resolution: | Keywords: backpack
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by ezyang):
Here is a complication: what should shadowing do in this world?
Of course, within a package database, shadowing cannot occur, because
there can only ever be one entry per IPID, whereas shadowing occurred when
there were two entries with differing IPIDs but identical package keys.
However, there is now a thorny problem of what should be done if the user
and global package database both have an entry for the same IPID!
Previously, GHC assumed that the ABIs are the same, and thus they are
interchangeable; however, it is possible for this invariant to be broken.
What it seems GHC should do is check the ABI of the package in question,
and if they match filter out as before. However, if the ABIs do not match,
we can either (1) complain loudly, or (2) shadow all prior references to
the IPID so that we can safely use the newer IPID. The second possibility
seems like a lot of complication for a case that really shouldn't happen,
so let's not do it.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10714#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list