Specifying @nogc on structs seems to have no effect
Craig Black
craigblack1234 at gmail.com
Tue Sep 19 13:11:03 UTC 2017
I've recently tried coding in D again after some years. One of
my earlier concerns was the ability to code without the GC, which
seemed difficult to pull off. To be clear, I want my programs to
be garbage collected, but I want to use the GC sparingly so that
the mark and sweep collections will be fast. So I want
guarantees that certain sections of code and certain structs will
not require the GC in any way.
I realize that you can allocate on the non-GC heap using malloc
and free and emplace, but I find it troubling that you still need
to tell the GC to scan your allocation. What I would like is, for
example, to be able to write a @nogc templated struct that
guarantees that none of its members require GC scanning. Thus:
@nogc struct Array(T)
{
...
}
class GarbageCollectedClass
{
}
void main()
{
Array!int intArray; // fine
}
More information about the Digitalmars-d
mailing list