Thread overview
[Issue 21821] Optimizer assumes immutables do not change, but they can in @system code
[Issue 21821] Optimizer assumes immutables don't change, but they can in @system code
Apr 12, 2021
Walter Bright
Apr 12, 2021
Walter Bright
Apr 12, 2021
Dlang Bot
Apr 12, 2021
Mathias LANG
Dec 17, 2022
Iain Buclaw
Feb 07, 2023
Dlang Bot
April 12, 2021
https://issues.dlang.org/show_bug.cgi?id=21821

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |backend, wrong-code

--
April 12, 2021
https://issues.dlang.org/show_bug.cgi?id=21821

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Optimizer assumes           |Optimizer assumes
                   |immutables don't change,    |immutables do not change,
                   |but they can in @system     |but they can in @system
                   |code                        |code

--
April 12, 2021
https://issues.dlang.org/show_bug.cgi?id=21821

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

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

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@WalterBright created dlang/dmd pull request #12424 "fix Issue 21821 - Optimizer assumes immutables do not change, but the…" fixing this issue:

- fix Issue 21821 - Optimizer assumes immutables do not change, but they can in @system code

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

--
April 12, 2021
https://issues.dlang.org/show_bug.cgi?id=21821

Mathias LANG <pro.mathias.lang@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pro.mathias.lang@gmail.com

--- Comment #2 from Mathias LANG <pro.mathias.lang@gmail.com> ---
Where is this specified ? `immutable` should never change, that's the point! I've never seen, nor heard, that `immutable` could be violated in `@system`. This code in `core.lifetime` exhibits UB and should be changed to apply `immutable` after the `memcpy`, e.g. as `assummeUnique` does.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=21821

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

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

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

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

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #12424 "fix Issue 21821 - Optimizer assumes immutables do not change, but the…" was merged into master:

- ba1f1c3222a91ef6a56caa18afa3bf7464d9e422 by Walter Bright:
  fix Issue 21821 - Optimizer assumes immutables do not change, but they can in
@system code

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

--