// 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; } }