[phobos] phobos commit, revision 1776

Sean Kelly sean at invisibleduck.org
Fri Jul 23 06:59:19 PDT 2010


Why not just call rt_finalize?  How an object is finalized may vary by compiler. 

Sent from my iPhone

On Jul 23, 2010, at 2:17 AM, Max Samukha <maxsamukha at gmail.com> wrote:

> 
> The implementation is still incomplete. It doesn't call base class dtors. This unittest should pass:
> 
> unittest
> {
>     class A { static bool dead; ~this() { dead = true; } }
>     class B : A { static bool dead; ~this() { dead = true; } }
>     {
>         auto b = scoped!B;
>     }
>     assert(B.dead);
>     assert(A.dead);
> }
> 
> A less severe problem is that it doesn't delete the object's monitor if one was allocated.
> 
> Please refer to rt_finalize for correct destruction sequence. Essentially, Scoped dtor should do what rt_finalize does except there is no need to catch destructor exceptions and I'm not sure about collectHandler. Sean, please comment?
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos


More information about the phobos mailing list