We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 6d57da7 commit 8db14cfCopy full SHA for 8db14cf
compiler/src/dmd/expression.d
@@ -3632,6 +3632,7 @@ extern (C++) final class CastExp : UnaExp
3632
if (rvalue || !e1.isLvalue())
3633
return false;
3634
return (to.ty == Tsarray && (e1.type.ty == Tvector || e1.type.ty == Tsarray)) ||
3635
+ (to.ty == Taarray && e1.type.ty == Taarray) ||
3636
e1.type.mutableOf.unSharedOf().equals(to.mutableOf().unSharedOf());
3637
}
3638
compiler/test/runnable/test21020.d
@@ -0,0 +1,11 @@
1
+// https://github.com/dlang/dmd/issues/21020
2
+
3
+shared struct Queue {
4
+ int[int] map;
5
+}
6
7
+void main() {
8
+ auto queue = Queue();
9
+ (cast(int[int]) queue.map)[1] = 2;
10
+ assert(queue.map[1] == 2);
11
0 commit comments