diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-06-02 16:01:40 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-08-18 15:38:55 -0400 |
commit | f4cc57fa2df08f5b33a4cf86c3e041b8de9f6ebf (patch) | |
tree | 53a11791ee7a0cf14c00e9e8f75d74209c207ae2 /testsuite/tests/codeGen | |
parent | 55fd1dc55990623dcf3b2e6143e766242315d757 (diff) | |
download | haskell-f4cc57fa2df08f5b33a4cf86c3e041b8de9f6ebf.tar.gz |
Allow unsaturated runRW# applications
Previously we had a very aggressive Core Lint check which caught
unsaturated applications of runRW#. However, there is nothing
wrong with such applications and they may naturally arise in desugared
Core. For instance, the desugared Core of Data.Primitive.Array.runArray#
from the `primitive` package contains:
case ($) (runRW# @_ @_) (\s -> ...) of ...
In this case it's almost certain that ($) will be inlined, turning the
application into a saturated application. However, even if this weren't
the case there isn't a problem: CorePrep (after deleting an unnecessary
case) can simply generate code in its usual way, resulting in a call to
the Haskell definition of runRW#.
Fixes #18291.
Diffstat (limited to 'testsuite/tests/codeGen')
0 files changed, 0 insertions, 0 deletions