On Wednesday, 6 August 2014 at 23:01:11 UTC, Andrei Alexandrescu wrote:
Somewhat sadly, this code does compile:

shared S s1, s2;
s1 = s2;

I have no idea what semantics this may have from just reading the snippet. IMHO killing it will be a good thing and totally in line with your comments about shared you have made during DConf conversations.

However, assigning Variant objects holding such structs does not compile, which in turn leads to the reported bug in std.concurrency. Now it seems to me that the only way is to adapt Variant to allow such assignments, otherwise we'd be breaking existing code. Thoughts appreciated.

I think biggest std.concurrency problem is that people try to use `shared` as poor replacement to `unique`/`isolated` and this is not what it is supposed to mean. Making `Unique` work with std.concurrency can be a good direction to make things much less confusing.

Reply via email to