static weirdness

Alex sascha.orlov at gmail.com
Thu Jan 25 12:25:42 UTC 2018


On Thursday, 25 January 2018 at 12:06:07 UTC, Jonathan M Davis 
wrote:
> On Thursday, January 25, 2018 10:17:34 Kagamin via 
> Digitalmars-d-learn wrote:
>> On Wednesday, 24 January 2018 at 02:01:54 UTC, Jonathan M Davis
>>
>> wrote:
>> > (so there's no need to dereference the pointer to call it)
>>
>> It used to check this pointer with an assert. When did it 
>> change?
>
> Actually, assert on a pointer to a struct or a reference to a 
> class checks for null _and_ calls the invariant, and that 
> hasn't changed. But you have to actually assert the pointer or 
> reference if you want to do that, and the OP didn't do that. He 
> asserted whether it == null.
>
> - Jonathan M Davis

Yeah... the cool thing is, that if the function does not need 
anything from the referenced object, then the pointer 
"degenerates" to a "namespace" implicitly... sorry, for strange 
wording.

It seems that this behavior changed from 2.076.1 to 2.077.


More information about the Digitalmars-d-learn mailing list