// https://issues.dlang.org/show_bug.cgi?id=21479 | |
enum Side | |
{ | |
left, | |
right | |
} | |
struct Both(T) | |
{ | |
T left; | |
T right; | |
ref T get(Side side) | |
{ | |
return side == Side.left ? left : right; | |
} | |
} | |
void main() | |
{ | |
Both!(int[]) t; | |
t.get(Side.left) ~= 1; | |
assert (t.left.length == 1); | |
t.get(Side.right) ~= 1; | |
t.get(Side.right) ~= 2; | |
assert (t.right.length == 2); | |
} |