diff options
| author | Thomas Bauereiss | 2018-01-16 16:56:46 +0000 |
|---|---|---|
| committer | Thomas Bauereiss | 2018-01-16 17:31:56 +0000 |
| commit | 3b252c7e6b37f0d8be7fbeba75331f7299072b1d (patch) | |
| tree | ac346306d49facda1d4934c639db35aa61e638d7 /src/value.ml | |
| parent | c1cea9e24e2722b0e7376fbe1339564f96d29961 (diff) | |
Fix problem with let-bindings in pattern guards
Monomorphisation sometimes produces pattern guard with let-bindings, e.g.
| ... if (let regsize = size_itself(regsize) in eq(regsize, 32)) -> ...
Previously, the rewriting pass for let-bindings (and pattern guards) pulled
these out of the guard condition and into the same scope as the case
expression, which potentially clashed with let-bindings for the same variables
in that case expression. The rewriter now leaves let-bindings in place within
pure if-conditions, solving this problem.
Diffstat (limited to 'src/value.ml')
0 files changed, 0 insertions, 0 deletions
