On 03/08/2018 12:05 AM, ketmar wrote:
Nick Sabalausky (Abscissa) wrote:

I'm having trouble finding the documentation for what exactly the unary "not" operator does when applied to a class/interface object. Does this documentation exist somewhere?

I know at least part of it involves "is null", but I seem to remember hearing there was more to it than just that.

https://dlang.org/spec/operatoroverloading.html#boolean_operators

"Class references are converted to bool by checking to see if the class reference is null or not."

Ah, thanks.

But are we CERTAIN that's all there is to it? I have a non-reduced situation right now where outputting the address of a class reveals a non-null address, and yet assert(!!theObjectInQuestion) is failing. (this is occurring during stack unwinding, if that makes a difference)

(Or does &someObject return the address of the *reference* to the object rather than the address of the object?...You can see just how often I do OO in D ;) )

Reply via email to