diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-06-04 00:42:10 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-06-13 02:49:25 -0400 |
commit | a657543c4d676b7e6e0984b72b31dd95949855e4 (patch) | |
tree | 950a4eb77414f8703fe751a1e9705e2f17981605 /hadrian/src/Rules/Program.hs | |
parent | fc6b23be509e290f8d27775a1c637284a335ed81 (diff) | |
download | haskell-a657543c4d676b7e6e0984b72b31dd95949855e4.tar.gz |
PrelRules: Ensure that string unpack/append rule fires with source notes
Previously the presence of source notes could hide nested applications
of `unpackFoldrCString#` from our constant folding logic. For instance,
consider the expression:
```haskell
unpackFoldrCString# "foo" c (unpackFoldrCString# "baz" c n)
```
Specifically, ticks appearing in two places can defeat the rule:
a. Surrounding the inner application of `unpackFoldrCString#`
b. Surrounding the fold function, `c`
The latter caused the `str_rules` testcase to fail when `base` was built
with `-g3`.
Fixes #16740.
Diffstat (limited to 'hadrian/src/Rules/Program.hs')
0 files changed, 0 insertions, 0 deletions