On Thursday, 21 May 2020 at 02:50:22 UTC, data pulverizer wrote:
Can you also confirm that `@nogc` in a class do the same thing in that class as it does for a function?

I don't think it does anything in either case, but if it does anything it will just apply @nogc to each member function in them.

Is `data` in `MyType` tracked by the garbage collector?

Yes, it is tracked. What @nogc does is prohibit calling that function from ever calling the GC's collect method. It doesn't affect what is and isn't collected when that is eventually called somewhere else.

If it is how do I allocate it in such a way that it is not?

though you can malloc memory to hide it from the GC, you generally shouldn't.

Note that in your example if T is ubyte or some other trivial value type it isn't scanned anyway since the static type info tells it it will never contain pointers/references.

Reply via email to