https://issues.dlang.org/show_bug.cgi?id=23134
Issue ID: 23134
Summary: Mutate variable through immutable pointer
Product: D
Version: D2
Hardware: All
OS: Windows
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
As reported by deadalnix:
```d
struct S {
void delegate() dg;
}
void main() {
int x = 42;
immutable S s = { dg: () { x++; } };
s.dg();
import std.stdio;
writeln(x);
}
```
This still compiles and run and mutates a variable through an immutable
pointer. This variable could be shared too because immutable is safe to share.
May be related to https://issues.dlang.org/show_bug.cgi?id=16095 and
https://issues.dlang.org/show_bug.cgi?id=1983
--