Haddock needs to pass visible modules for instance filtering
authorAlec Theriault <alec.theriault@gmail.com>
Fri, 26 Jan 2018 18:05:31 +0000 (13:05 -0500)
committerBen Gamari <ben@smart-cactus.org>
Sat, 3 Feb 2018 16:58:00 +0000 (11:58 -0500)
commit42a82cf4c8fa95195b4ab55795c919512f92d5f4
treee0caa7602a54980e5c6be35ac59d8fea80f8a432
parent233c5ced6e9e9ac9f8f91f4bfecb73a6274daefd
Haddock needs to pass visible modules for instance filtering

The GHC-side `getNameToInstancesIndex` filters out incorrectly some
instances because it is not aware of what modules are visible. Using
`runTcInteractive` means that `ie_visible` gets initialized to a one
module set containing some dummy GHCi module. This is clearly not the
module set we want to check against to see if a given orphan instance
is visible or not.

In fact, GHC has no way of knowing what we want that module set to be
since it doesn't know ahead of time which modules Haddock is making its
docs for. The fix is just to pass that set in as an argument.

Bumps haddock submodule.

Reviewers: bgamari

Reviewed By: bgamari

Subscribers: duog, alexbiehl, rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4290

(cherry picked from commit a47438e88e685971a81874565f2914043c8233c3)
compiler/main/GHC.hs
testsuite/tests/perf/haddock/all.T
utils/haddock