Escaping the Tyranny of the GC: std.rcstring, first blood

Sean Kelly via Digitalmars-d digitalmars-d at puremagic.com
Mon Sep 15 11:24:07 PDT 2014


On Monday, 15 September 2014 at 12:47:08 UTC, Robert burner
Schadek wrote:
> On Monday, 15 September 2014 at 12:11:14 UTC, Jakob Ovrum wrote:
>>>> There's no use of `shared`, so all data involved is TLS.
>>>
>>> Then it must be made sure that send and receive work properly.
>>
>> They do. They only accept shared or immutable arguments (or
>> arguments with no mutable indirection).
>
> compiler says no: concurrency.d(554): Error: static assert  
> "Aliases to mutable thread-local data not allowed."
>
> I used the std.concurrency example

Probably because RCString is only logically immutable--it
contains unions of mutable and immutable members to simplify
construction.


More information about the Digitalmars-d mailing list