[Issue 19099] New: Struct with field that has postblit or destructor makes struct assignable
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jul 19 12:29:54 UTC 2018
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 at puremagic.com
Reporter: razvan.nitu1305 at 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
--
More information about the Digitalmars-d-bugs
mailing list