Stop removing definitions of record fields in GHC.Iface.Ext.Ast
I think this was originally put in to prevent validation failures in rare cases involving ambiguous record names being assigned wrong/inconsistent definition spans.
ghcide
needs to work around this by re-implementing the entire GHC.Iface.Ext.Ast
module in tree so that go-to-definition works for record fields. Given that all the other changes that ghcide
required have been merged upstream into ghc
, it would be very nice not to have to again clone the entire module into ghcide
for GHC 9.0.
Given that there are no tests for this, and there are other validation failures like #18425, I think this workaround should be merged. I am investigating the underlying failures and others, and will prepare a proper fix for them soon. However, that is unlikely to make it into GHC 9.0.
Backport: !4071 (closed)