Make InstalledUnitId be ONLY a FastString.
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Thu, 6 Oct 2016 20:40:10 +0000 (13:40 -0700)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Sat, 8 Oct 2016 08:37:56 +0000 (01:37 -0700)
commit5bd8e8d30c046187f2804db3af1768ea8b07dc41
treeecea3d97b4599e19893ff8b9ca6da3c51066b27b
parent4e8a0607140b23561248a41aeaf837224aa6315b
Make InstalledUnitId be ONLY a FastString.

It turns out that we don't really need to be able to
extract a ComponentId from UnitId, except in one case.
So compress UnitId into a single FastString.

The one case where we do need the ComponentId is when
we are compiling an instantiated version of a package;
we need the ComponentId to look up the indefinite
version of this package from the database.  So now we
just pass it in as an argument -this-component-id.

Also: ghc-pkg now no longer will unregister a package if
you register one with the same package name, if the
instantiations don't match.

Cabal submodule update which tracks the same data type
change.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
15 files changed:
compiler/backpack/DriverBkp.hs
compiler/basicTypes/Module.hs
compiler/basicTypes/Module.hs-boot
compiler/iface/LoadIface.hs
compiler/main/DynFlags.hs
compiler/main/Finder.hs
compiler/main/GhcMake.hs
compiler/main/HscTypes.hs
compiler/main/PackageConfig.hs
compiler/main/Packages.hs
compiler/main/Packages.hs-boot
compiler/typecheck/TcBackpack.hs
libraries/Cabal
libraries/ghc-boot/GHC/PackageDb.hs
utils/ghc-pkg/Main.hs