On Mon, Nov 4, 2013 at 8:13 AM, Patrick Walton <pcwal...@mozilla.com> wrote:

> On 11/3/13 10:11 PM, Oren Ben-Kiki wrote:
>
>> At any rate - is this something that makes sense in the Rust view?
>> If so, is there a chance of something like that being added (a
>> completely separate question :-)?
>>
>
> Two questions:
>
> (1) In your proposal, do the cross-thread GC pointers have mutable
> contents? If so, how do you prevent data races?
>

There are no cross-task data races because a heap can only be accessed by
one task at a time. This is actually tricky. The container of the heap +
components can be sent; separate components are not. I admit I'm not 100%
sure how to address that.

Preventing mutable aliasing requires an extra bit per pointer, but no
atomic operations or reference counting.


> (2) Why were ARC and RWarc not sufficient?
>

Because they don't allow cycles.
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to