On Friday, 11 August 2017 at 17:12:22 UTC, bitwise wrote:
On Friday, 11 August 2017 at 17:06:40 UTC, HyperParrow wrote:
[...]
int i;
struct Foo
{
    template ToMix(){ ~this(){++++i;}}
    ~this(){++i;}
    mixin ToMix;
}

void main()
{
    Foo* foo = new Foo;
    foo.__xdtor;
    assert(i==3);
    Foo* other = new Foo;
    foo.__dtor;
    assert(i==4); // and not 6 ;)
}
=================

I think you mean assert(i == 1) for the second one, right?

I made a mistake but it's not about i, which is a global.
I meant "other.__dtor." just before the last assert.
This doesn't change the results.

Reply via email to