Shared and GC
Peter Alexander via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jan 15 07:31:16 PST 2015
On Thursday, 15 January 2015 at 15:24:55 UTC, Ola Fosheim Grøstad
wrote:
> I am trying to understand the idea behind "shared" typing fully.
>
> If I am only allowed to share objects with another thread if it
> is typed "shared", doesn't that imply that it should be
> allocated as shared too and only be allowed to contain pointers
> to "shared"?
Yes, shared is transitive.
struct S { int* p; }
void main() {
S s1;
shared S s2 = s1; // error, but ok if p is int.
}
> That would be nice, because then a precise garbage collector
> could choose between local collection scans and global
> collection scans.
I think something like this is part of the plan, but shared
semantics are still up in the air.
More information about the Digitalmars-d-learn
mailing list