Thread overview
[Issue 24112] binary expressions with noreturn vars produce inconsistent results
Aug 30, 2023
Dlang Bot
Aug 30, 2023
Nick Treleaven
Sep 07, 2023
Dlang Bot
Sep 07, 2023
Basile-z
Sep 07, 2023
Dlang Bot
August 30, 2023
https://issues.dlang.org/show_bug.cgi?id=24112

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@ntrel created dlang/dmd pull request #15564 "Fix Issue 24112 - binary expressions with noreturn vars produce incon…" fixing this issue:

- Fix Issue 24112 - binary expressions with noreturn vars produce inconsistent results

https://github.com/dlang/dmd/pull/15564

--
August 30, 2023
https://issues.dlang.org/show_bug.cgi?id=24112

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nick@geany.org

--- Comment #2 from Nick Treleaven <nick@geany.org> ---
> except in the last three statements, which result in a compile error instead.

I think that's correct as the spec says:

> The operands must be integral types

https://dlang.org/spec/expression.html#shift_expressions

--
August 30, 2023
https://issues.dlang.org/show_bug.cgi?id=24112

--- Comment #3 from elpenguino+D@gmail.com ---
it's true that noreturn isn't an integral type, but it can implicitly convert to integral types. other instances of implicit conversion are allowed (structs with integer alias this, for example), so I think noreturn should be "allowed" as well, for consistency

--
September 07, 2023
https://issues.dlang.org/show_bug.cgi?id=24112

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #15564 "Fix Issue 24112 - binary expressions with noreturn vars produce incon…" was merged into master:

- c5f9ca5bd2952b8f0667ab94133477e83596cdb9 by Nick Treleaven:
  Fix Issue 24112 - binary expressions with noreturn vars produce inconsistent
results

https://github.com/dlang/dmd/pull/15564

--
September 07, 2023
https://issues.dlang.org/show_bug.cgi?id=24112

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |b2.temp@gmx.com
         Resolution|FIXED                       |---

--- Comment #5 from Basile-z <b2.temp@gmx.com> ---
The fixed that was merged breaks the one for https://issues.dlang.org/show_bug.cgi?id=24117

--
September 07, 2023
https://issues.dlang.org/show_bug.cgi?id=24112

--- Comment #6 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #15584 "Revert "Fix Issue 24112 - binary expressions with noreturn vars produ…" was merged into master:

- a90c6d25063b2f5a4e17c165acc63a2800ac68ac by Basile Burg:
  Revert "Fix Issue 24112 - binary expressions with noreturn vars produce
inconsistent results (#15564)"

  This reverts commit 1a9a19f8b384a4c9f6d27dcd04f83bf8dd1546cf.

  This breaks the test suite (fail_compilation/noreturn_expr.d).

https://github.com/dlang/dmd/pull/15584

--