[Issue 17572] New: unrestricted union erroneously invokes postblit
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Jun 29 06:11:56 PDT 2017
https://issues.dlang.org/show_bug.cgi?id=17572
Issue ID: 17572
Summary: unrestricted union erroneously invokes postblit
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: critical
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: wyrlon at gmx.net
Expected Behavior:
prints 0
Observed Behavior:
prints 1
import std.stdio;
long post = 0;
struct Node
{
uint val;
this(this) { ++post; }
}
union POD(T)
{
T val;
}
POD!Node g;
void Put(ref Node val)
{
g = cast(POD!Node)val;
}
void main()
{
auto x = Node(5);
x.Put();
post.writeln;
}
--
More information about the Digitalmars-d-bugs
mailing list