On Saturday, 29 August 2015 at 14:32:27 UTC, Timon Gehr wrote:
On 08/29/2015 04:20 PM, cym13 wrote:
On Saturday, 29 August 2015 at 14:17:10 UTC, rsw0x wrote:
On Saturday, 29 August 2015 at 13:14:26 UTC, ponce wrote:
...
All of this could be fixed by not letting the GC call
destructors.
It's a bad, error-prone design to begin with and I guarantee
any
semi-large D program is probably abusing undefined behavior
due to it.
After reading all that, I too am convinced that the GC
shouldn't call
the destructor.
But then classes with destructors shouldn't be allowed to be
allocated on the GC heap in the first place, which is a PITA as
well. (Note that classes/arrays can have destructors because
some component structs have them; structs generally assume that
their destructors will be called.)
make classes with destructors(and structs allocated via new) have
RC semantics.