| // https://issues.dlang.org/show_bug.cgi?id=19754 |
| |
| void test19754() |
| { |
| shared int x; |
| static assert((cast(int*) &x) == &(cast() x)); |
| (cast() x) = 5; |
| (cast() x) += 3; |
| |
| const int x1; |
| static assert(&x1 == &(cast() x1)); |
| (cast() x1) = 5; |
| (cast() x1) *= 3; |
| |
| immutable int x2; |
| static assert(&x2 == &(cast() x2)); |
| (cast() x2) = 5; |
| (cast() x2) &= 3; |
| |
| int[4] a; |
| (cast(long[2]) a)[0] = 5; |
| (cast(long[2]) a)[0] += 3; |
| |
| static if (is(__vector(int[4]))) |
| { |
| __vector(int[4]) v; |
| (cast(int[4]) v)[0] = 5; |
| (cast(int[4]) v)[0] += 3; |
| } |
| } |
| |
| // https://issues.dlang.org/show_bug.cgi?id=20608 |
| |
| void foo(T...)(auto ref T args) {} |
| |
| struct Tuple |
| { |
| int expand; |
| } |
| |
| void test20608() |
| { |
| enum tup = Tuple(); |
| foo(tup.expand); |
| } |