// https://issues.dlang.org/show_bug.cgi?id=21357 | |
// PERMUTE_ARGS: | |
struct BatchState | |
{ | |
int[10] arr; | |
BatchState copy() | |
{ | |
auto ret = BatchState(arr); | |
arr[0] += 1; | |
return ret; | |
} | |
} | |
struct GrayArea | |
{ | |
BatchState low; | |
this(this) | |
{ | |
low = low.copy; | |
} | |
} | |
void main() | |
{ | |
GrayArea a; | |
a.low.arr[0] = 1; | |
GrayArea b; | |
b.low.arr[0] = 4; | |
b = a; // calls the postblit | |
assert(a.low.arr[0] == 1); | |
assert(b.low.arr[0] == 1); | |
} |