Robert Jacques, el 10 de julio a las 02:31 me escribiste: > As for the bug, it's actually somewhat old. Issue 2834 was filed > back in April of 09 - Struct Destructors are not called by the GC, > but called on explicit delete. And this is a bug in the spec, not > DMD; the only way to run struct destructors from the GC is to add > vtables to them or hidden in the GC (i.e. to make them classes).
You don't need a vtable, because you don't have inheritance with structs. All you need is a function pointer pointing to the finalization function/method. This plays well with the concept of having type information associated to blocks of memory in the GC, which means (semi)precise heap scanning. So maybe is not a bad idea to make the destructors of structs get called by the GC :) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Debemos creer en los sueños del niño. Cuando el niño sueña con tetas, se toca. -- Ricardo Vaporeso. Toulouse, 1915.