On Wednesday, 28 January 2015 at 12:29:09 UTC, Fyodor Ustinov wrote:
On Wednesday, 28 January 2015 at 11:27:53 UTC, Kagamin wrote:
Associative array doesn't support thread-safe operations, that's why they don't work on shared instance. You should use std.concurrency or implement low-level concurrency mechanism.

If associative array does not support "share" attribute, this code should not be compiled without any warning or error, I think:

shared string[string] t;
void main() {
    t["t"] = "bebebe";
}

But will.

In your case above, it's std.variant : Variant, which does not work when shared. You'll need to cast it and ensure yourself that no two threads access the same instance concurrently.

I don't know, if AA should/do work with shared.

Reply via email to