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