Refactor RdrName.Provenance, to fix #7672
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 3 Jun 2015 10:43:53 +0000 (11:43 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 3 Jun 2015 10:46:17 +0000 (11:46 +0100)
commit7ea156ae3e1c66e59935f0eb877ea1a3f3bfd5b9
tree9fe22f362259b215ab39b527c97558a143118131
parent7b6800c5ab62cb10b3c1b7a85e40c77897cc366f
Refactor RdrName.Provenance, to fix #7672

Trac #7672 has a data type T in module A that is in scope
*both* locally-bound *and* imported (with a qualified) name.
The Provenance of a GlobalRdrElt simply couldn't express that
before. Now you can.

In doing so, I flattened out Provenance into GlobalRdrElt,
so quite a lot of modules are touched in a not-very-interesting
way.
14 files changed:
compiler/basicTypes/RdrName.hs
compiler/deSugar/DsMonad.hs
compiler/iface/IfaceEnv.hs
compiler/main/DynamicLoading.hs
compiler/main/HscTypes.hs
compiler/main/InteractiveEval.hs
compiler/rename/RnEnv.hs
compiler/rename/RnNames.hs
compiler/rename/RnPat.hs
compiler/typecheck/TcCanonical.hs
compiler/typecheck/TcDeriv.hs
compiler/typecheck/TcRnDriver.hs
testsuite/tests/rename/should_compile/T7672.hs
testsuite/tests/rename/should_compile/all.T