Skip to content

1.2.1

Compare
Choose a tag to compare
@rillig rillig released this 15 Dec 21:03
· 163 commits to master since this release

Changes since 1.1.0:

Feature: In expressions with the operators '!', '&&', '||', only the terminal conditions are instrumented. The intermediate expressions are not instrumented, as that would be redundant.

Feature: Instrument the code in declaration order. Previously, the order of the conditions in the output was deterministic but unintuitive, especially for long chains of '&&' or '||', which were output mostly from right to left.

Bugfix: Generate proper code for switch statements that don't compare their tag expression to anything. Such statements are not expected to occur in practice.

Bugfix: Instrument comparisons that are nested in comparisons, such as the 'b > 0' in 'a == m[b > 0]'.

Cleanup: When instrumenting expression and type switch statements, generate simpler code. For example, only assign to '_' when necessary. Remove redundant switch statements from the generated code.