digitalmars.D.bugs - [Issue 19099] New: Struct with field that has postblit or destructor
- d-bugmail puremagic.com (42/42) Jul 19 2018 https://issues.dlang.org/show_bug.cgi?id=19099
https://issues.dlang.org/show_bug.cgi?id=19099 Issue ID: 19099 Summary: Struct with field that has postblit or destructor makes struct assignable Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: razvan.nitu1305 gmail.com struct B { //this(this) {} //~this() {} int a; } struct A { B b; immutable int a; this(int b) { a = b;} } void main() { import std.stdio : writeln; A a = A(2); writeln(a.a); A b = A(3); a = b; // line 21 writeln(a.a); } This code correctly yields : bug.d(21): Error: cannot modify struct a A with immutable members However, if the postblit or the destructor or commented (or both), the code compiles successfully and when ran it prints: 2 3 --
Jul 19 2018