GhcPlugins: Fix lookup of TH names
authorBen Gamari <ben@smart-cactus.org>
Sat, 19 Jan 2019 18:59:18 +0000 (13:59 -0500)
committerBen Gamari <ben@smart-cactus.org>
Sun, 27 Jan 2019 13:32:12 +0000 (08:32 -0500)
commit0d9f105ba423af4f2ca215a18d04d4c8e2c372a8
treebfea743530b22249f2115aac0869abcadac0bcce
parent372b5d1b4543334d9b446dc897227b838e40cf4e
GhcPlugins: Fix lookup of TH names

Previously `thNameToGhcName` was calling `lookupOrigNameCache` directly, which
failed to handle the case that the name wasn't already in the name cache. This
happens, for instance, when the name was in scope in a plugin being used during
compilation but not in scope in the module being compiled. In this case we the
interface file containing the name won't be loaded and `lookupOrigNameCache`
fails. This was the cause of #16104.

The solution is simple: use the nicely packaged `lookupOrigIO` instead.
compiler/main/GhcPlugins.hs