June 11, 2021 [Issue 22016] New: [REG2.067] Wrong code with enum comparison in void ternary with side effects | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=22016 Issue ID: 22016 Summary: [REG2.067] Wrong code with enum comparison in void ternary with side effects Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Keywords: wrong-code Severity: major Priority: P1 Component: dmd Assignee: nobody@puremagic.com Reporter: dlang-bugzilla@thecybershadow.net /////////////// test.d ////////////// enum E { one = 1 } int i; void gun(int n) { return n == E.one ? ++i : (){}(); } void main() { gun(1); assert(i == 1); } ///////////////////////////////////// Introduced in https://github.com/dlang/dmd/pull/3979 -- |
Copyright © 1999-2021 by the D Language Foundation