
#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