diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-04-14 10:04:10 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-04-26 23:56:18 -0400 |
commit | 06654a6e0e4c1f9eb58947439092ae27b00d8c10 (patch) | |
tree | 58832a08e590596b3a188fbb0a587ede973a3c8f /compiler/GHC/Unit | |
parent | 9d34f4546ab54c3dbb8f7be8f3e855d370592e8d (diff) | |
download | haskell-06654a6e0e4c1f9eb58947439092ae27b00d8c10.tar.gz |
Correct treatment of rexported modules in mkModuleNameProvidersMap
Before we would get the incorrect error message saying that the
rexporting package was the same as the defining package.
I think this only affects error messages for now.
```
- it is bound as p-0.1.0.0:P2 by a reexport in package p-0.1.0.0
- it is bound as P by a reexport in package p-0.1.0.0
+ it is bound as p-0.1.0.0:P2 by a reexport in package q-0.1.0.0
+ it is bound as P by a reexport in package r-0.1.0.0
```
and the output of `-ddump-mod-map` claimed..
```
Moo moo-0.0.0.1 (hidden package, reexport by moo-0.0.0.1)
```
Diffstat (limited to 'compiler/GHC/Unit')
-rw-r--r-- | compiler/GHC/Unit/State.hs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/GHC/Unit/State.hs b/compiler/GHC/Unit/State.hs index fe4796d1fc..9e154152d7 100644 --- a/compiler/GHC/Unit/State.hs +++ b/compiler/GHC/Unit/State.hs @@ -1729,8 +1729,7 @@ mkModuleNameProvidersMap ctx cfg pkg_map closure vis_map = case exposedReexport of Nothing -> (pk, m, fromExposedModules e) Just (Module pk' m') -> - let pkg' = unit_lookup pk' - in (pk', m', fromReexportedModules e pkg') + (pk', m', fromReexportedModules e pkg) return (m, mkModMap pk' m' origin') esmap :: UniqFM ModuleName (Map Module ModuleOrigin) |