The "no gc" crowd
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Wed Oct 9 10:10:03 PDT 2013
On 10/9/13 4:30 AM, Jacob Carlborg wrote:
> On 2013-10-09 05:31, Walter Bright wrote:
>
>> Making this work is fraught with difficulty. It is normal behavior in D
>> to create local data with new(), build a data structure, and then cast
>> it to shared so it can be transferred to another thread. This will fail
>> miserably if the data is allocated on a thread local heap.
>
> I agree with Andrei here. Alternatively perhaps the runtime can move the
> data to a global pool if it's casted to shared.
I think a reasonable solution (in case we're unable to solve this
reasonably within the type system) is to offer a library solution that
does the shared allocation, mutation, and casting internally.
Again: USER CODE SHOULD HAVE NO BUSINESS CASTING CASUALLY TO GET WORK DONE.
Andrei
More information about the Digitalmars-d
mailing list