Rewrite mix-in linking for error reporting, fix bugs.
The semantic change in this diff has to do with how
local signatures are treated. Previously, we threw them
into the bag when mix-in linking, which means that if
you declared a signature, and another package brought
that module into scope, the signature would get "filled".
This is actually never what you want in non-recursive
Backpack, so this commit moves it so that we only put the
signatures in post-facto. There is still some more sanity
checking we should do but I'm deferring that for a later
commit.
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
Showing
- Cabal/Distribution/Backpack/ConfiguredComponent.hs 12 additions, 8 deletionsCabal/Distribution/Backpack/ConfiguredComponent.hs
- Cabal/Distribution/Backpack/LinkedComponent.hs 28 additions, 15 deletionsCabal/Distribution/Backpack/LinkedComponent.hs
- Cabal/Distribution/Backpack/MixLink.hs 71 additions, 42 deletionsCabal/Distribution/Backpack/MixLink.hs
- Cabal/Distribution/Backpack/ModuleScope.hs 8 additions, 10 deletionsCabal/Distribution/Backpack/ModuleScope.hs
- Cabal/Distribution/Backpack/UnifyM.hs 166 additions, 52 deletionsCabal/Distribution/Backpack/UnifyM.hs
- Cabal/Distribution/Types/ComponentInclude.hs 4 additions, 1 deletionCabal/Distribution/Types/ComponentInclude.hs
Loading
Please register or sign in to comment