This compiles allowing concurrent modifications to AA: --- shared string[string] t; void main() { t["a"] = "b"; } --- Though it doesn't look like AA is thread-safe. And functions like T rehash(T : shared Value[Key], Value, Key)(T aa) can lead to believe it is. It should be also documented whether AA is thread-safe http://dlang.org/hash-map.html because there's no legible AA source to consult.
*** This issue has been marked as a duplicate of issue 16597 ***