GC being too eager?
monarch_dodra
monarchdodra at gmail.com
Fri Apr 11 05:33:24 PDT 2014
On Friday, 11 April 2014 at 12:26:14 UTC, Steven Schveighoffer
wrote:
> This is a side effect of classes being first-class reference
> types. Array needs to call destroy on structs, but not on
> classes. Sort of a "shallow destroy."
>
> It's an interesting bug.
>
> -Steve
Yeah, the issue "transcends" the language. Things like
"FieldTypeTuple" on a class (directly) also tell you what the
class is made of.
Ideally, the call should have been "protected" by a
"hasElaborateDestructor" to begin with. Not only does it make the
code faster for types that don't have destructors,
"hasElaborateDestructor" replies false for classes.
User @denis-sh had complained about "destroy" before for this
very reason, and had proposed a "destruct":
https://github.com/D-Programming-Language/phobos/pull/929
More information about the Digitalmars-d-learn
mailing list