diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-04-06 19:06:14 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-04-26 23:55:09 -0400 |
commit | 721ea018712606b9feddf09c130552ed981b4900 (patch) | |
tree | 215817bb16f777b35a153925073c46c7732ac423 /libraries/process | |
parent | 045e5f49f81f98b8cfaeee08b572617a173f33da (diff) | |
download | haskell-721ea018712606b9feddf09c130552ed981b4900.tar.gz |
codeGen: Teach unboxed sum rep logic about levity
Previously Unarise would happily project lifted and unlifted fields
to lifted slots. This broke horribly in #19645, where a ByteArray# was
passed in a lifted slot and consequently entered. The simplest way to
fix this is what I've done here, distinguishing between lifted and
unlifted slots in unarise.
However, one can imagine more clever solutions, where we coerce the
binder to the correct levity with respect to the sum's tag. I doubt that
this would be worth the effort.
Fixes #19645.
Diffstat (limited to 'libraries/process')
0 files changed, 0 insertions, 0 deletions