diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2022-10-11 09:37:13 +0100 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2022-10-12 15:52:49 +0100 |
commit | c6d11bf560c5b7c55f87de310561b60f728739a1 (patch) | |
tree | cbdb8164fc9fd0fe092e31a8b1b1fbdec12676ab /LICENSE | |
parent | 2cf828e829011f103ea946756a0c53322fa238dd (diff) | |
download | haskell-wip/21619.tar.gz |
Fix nested type splices in hie fileswip/21619
The issue is that when we compile a typed bracket we replace the splice
with HsSpliced (unTypeCode ...).
Then when computing types for
> [|| T $$(...) ||]
GHC is asked to compute the type of `T $$(..)`, which panics because
of the bogus type of T applied to `HsSpliced`, which is not type
correct.
The fix is to not attempt to compute the type for `HsSpliceE`
constructors if we come across them as they should have either been
already evaluated or lifted into a splice environment.
As part of the patch I made hie files traverse into the splice
environments so now we also get type information for things used inside
nested splices.
Fixes #21619
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions