Specifying @nogc on structs seems to have no effect
Eugene Wissner
belka at caraus.de
Tue Sep 19 13:32:59 UTC 2017
On Tuesday, 19 September 2017 at 13:11:03 UTC, Craig Black wrote:
> 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
>
>
> }
struct Array(T)
{
@nogc:
...
}
?
More information about the Digitalmars-d
mailing list