On 8/17/17 8:41 AM, Kagamin wrote:
On Wednesday, 16 August 2017 at 13:14:55 UTC, Steven Schveighoffer wrote:
But that isn't a concern for Variant. It is only calling the postblit,
which does work.
Shouldn't it call destructor when it goes out of scope?
You're right, and it does. It uses the typeid to destroy it, which I
think ignores any attributes.
I've updated my PR to switch to the __xdtor method, which takes into
account attributes of the method.
This doesn't suffer from the same incorrect assumption the compiler
makes when destroying something in a scope, so ironically, using a
Variant to wrap a shared type with a destructor is going to work better
than using the stack :)
-Steve