Fix bug involving finding hole fits in TH splices (Trac #15321)
AbandonedPublic

Authored by mgsloan on Jun 29 2018, 2:27 AM.

Details

Reviewers
bgamari
Summary

Before this fix, hole fitting within splices considered identifiers from the current module. These identifiers should not be candidates because their use is not allowed by the TH stage restriction. Not only is it useless to consider them, but this also meant that essentially no usage of holes in TH splices worked in 8.4. See https://ghc.haskell.org/trac/ghc/ticket/15321

Test Plan

testsuite/tests/th/T15321.hs

mgsloan created this revision.Jun 29 2018, 2:27 AM
mgsloan updated this revision to Diff 17127.Jun 29 2018, 2:35 AM

Decided to include module locals when in RunSplice stage. No use of this currently I think, but I think this choice makes more sense

Note that for convenience, I had my other patches merged on that branch - https://phabricator.haskell.org/D1979 and https://phabricator.haskell.org/D4904 . Not sure how this interacts with phabricator.

mgsloan updated this revision to Diff 17130.Jun 29 2018, 5:53 AM

Rebase onto master rather than basing off my not-yet-merged changes

mgsloan abandoned this revision.Jul 19 2018, 1:58 AM

https://phabricator.haskell.org/D4909 is a simpler fix for this. While this is more efficient, not sure if the complexity is worth its weight, so abandoning the revision.