RFC: moving forward with @nogc Phobos
Paulo Pinto via Digitalmars-d
digitalmars-d at puremagic.com
Thu Oct 2 13:42:15 PDT 2014
On Thursday, 2 October 2014 at 20:10:42 UTC, Ola Fosheim Grøstad
wrote:
> On Thursday, 2 October 2014 at 19:45:17 UTC, Ola Fosheim
> Grøstad wrote:
>> But is sketchy on implementation details, semantic
>> restrictions that follows and consequences when interacting
>> with foreign code etc.
>
> Some Rust details. «sendable» means that a reference can be
> transferred to another thread (or task/fiber/whatever).
>
> From http://doc.rust-lang.org/std/gc/ :
>
> «The Gc type provides shared ownership of an immutable value.
> Destruction is not deterministic, and will occur some time
> between every Gc handle being gone and the end of the task. The
> garbage collector is task-local so Gc<T> is not sendable.»
>
> From http://doc.rust-lang.org/std/rc/index.html :
>
> «The Rc type provides shared ownership of an immutable value.
> Destruction is deterministic, and will occur as soon as the
> last owner is gone. It is marked as non-sendable because it
> avoids the overhead of atomic reference counting.
>
> The downgrade method can be used to create a non-owning Weak
> pointer to the box. A Weak pointer can be upgraded to an Rc
> pointer, but will return None if the value has already been
> freed.»
>
> So… they don't really solve the issues a @nogc version of D
> should be able to deal with beyond having built-in unique_ptr
> style semantics?
>
> Or?
The Gc type is gone as of this week.
https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-09-30.md
More information about the Digitalmars-d
mailing list