dmd/compiler/test/compilable/union_initialization.d
2022-07-09 18:53:07 +02:00

43 lines
540 B
D

// https://issues.dlang.org/show_bug.cgi?id=20068
union B
{
int i;
int* p;
@safe this(int* p)
{
// Error: cannot access pointers in @safe code that overlap other fields
this.p = p;
}
}
/**************************************************************/
// https://issues.dlang.org/show_bug.cgi?id=21229
struct NeedsInit
{
int var;
@disable this();
}
union Union
{
NeedsInit ni;
}
union Proxy
{
Union union_;
}
struct S
{
Union union_;
Proxy proxy;
this(NeedsInit arg)
{
union_.ni = arg;
proxy.union_.ni = arg;
}
}