June 05, 2022
https://issues.dlang.org/show_bug.cgi?id=23112

--- Comment #6 from Walter Bright <bugzilla@digitalmars.com> ---
Regarding `f` as escaping produces far too many false positives.

1. semantic3 (the function body) analysis is done for a function. No gc use is found, and no escapes of an aliased reference are found, so the function is inferred @nogc. This also enables some NRVO optimizations.

2. code is generated that depends on the @nogc inferred attribute of the function, and/or does NRVO.

3. code is generated via another template getting expanded that escapes the alias reference.

4. this gets detected by the code the decides whether to generate a closure or not, and now (2) is invalid, but it's too late.

--
July 22, 2022
https://issues.dlang.org/show_bug.cgi?id=23112

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

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

--- Comment #7 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #14183 "fix Issue 23112 - code passes @nogc, allocates anyway" was merged into master:

- 7797df8b69ef91210753293060ca9454f078d35d by Walter Bright:
  fix Issue 23112 - code passes @nogc, allocates anyway

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

--
August 08, 2022
https://issues.dlang.org/show_bug.cgi?id=23112

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=23287

--
1 2
Next ›   Last »