Remove same-package import lists, fixes #2835.
Instead of qualifying, in some cases I just added an extra 'hiding' pragma to squelch errors. Common conflicts (just grep for hiding): - Flag - Distribution.Simple.Compiler - Distribution.PackageDescription - Distribution.Simple.Setup - installedComponentId - Distribution.Package - Distribution.InstalledPackageInfo - doesFileExist - Distribution.PackageDescription.Check - instantiatedWith - I renamed the field in InstalledPackageInfo. But it's probably going away with Backpack bits; I migth just excise it soon. - absoluteInstallDirs and substPathTemplate - Distribution.Simple.InstallDirs - Distribution.Simple.LocalBuildInfo I fixed some shadowing errors by renaming local variables in some cases. Common shadowings (we should perhaps consider not using these as method/field names): - freeVars - components - noVersion - verbosity - get - description - name Some data structures were moved around (IPIConvert and ABIHash) to make it easier to handle import lists. Some functions in Utils could be turned into reexports of standard library functions. No explicit imports were removed from non-Cabal imports. These imports help maintain warning cleanliness across versions of GHC, so I don't recommend removing them. Signed-off-by: Edward Z. Yang <firstname.lastname@example.org>