Destructor order
Ali Çehreli via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Oct 22 16:11:14 PDT 2014
On 10/22/2014 04:05 PM, eles wrote:
> And the compiler swallows this without even barking?
The compiler must obey an alias this inside Scoped.
I've thinking for a way do disallow this but haven't been able to spend
much time on it today.
> Why Scoped!A is convertible to A, then?
So that Scoped!A can conveniently be used as an A.
> And what the resulting A-typed variable contains if the object
> gets destroyed.
Note that the A is not the object but the class reference to it. The
'alias this' hands out a reference to the object that is on the stack.
The reference is valid when that occurs. Then, the compiler destroys the
temporary Scoped!A object as it should, leaving behind a dangling reference.
There must be a way to disallow this.
Ali
More information about the Digitalmars-d-learn
mailing list