On Friday, 13 February 2015 at 12:58:40 UTC, Per Nordlöw wrote:
On Friday, 13 February 2015 at 12:50:14 UTC, Tobias Pankrath
wrote:
There are no reference counts involved, just simple arithmetic.
string a = "abc";
string b = a[1 .. $];
Then how does the GC know when to release when there are
multiple references?
Is this because string references immutable storage?
It scans the memory for pointers to the memory to be freed before
freeing them.
Isn't vgc recursively inferred bottom-up for calls to templates
functions?
I didn't know vgc exists until your question, so I don't know
what it does exactly. Thought that it will highlight calls to
GC.malloc in the current function, even if emitted by the
compiler for e.g. closures. I don't think it treats template
functions different than other functions (it only considers their
signature).