[Issue 16056] immutable delegate can mutate through context pointer

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sun May 22 02:24:12 PDT 2016


ag0aep6g at gmail.com changed:

           What    |Removed                     |Added
           Keywords|                            |accepts-invalid
                 CC|                            |ag0aep6g at gmail.com
          Component|dlang.org                   |dmd
            Summary|[The D Bug Tracker]         |immutable delegate can
                   |                            |mutate through context
                   |                            |pointer
           Severity|enhancement                 |normal

--- Comment #1 from ag0aep6g at gmail.com ---
The struct doesn't really matter here, as far as I see. Simplified code:

import std.stdio;

pure void pure_func(immutable void delegate() pure f)

void main() {
    int y;
    writeln("Before: ", y);
    pure_func({ y++; });
    writeln("After: ", y);

Possibly a duplicate of issue 11043 or issue 1983.


More information about the Digitalmars-d-bugs mailing list