Walter Bright:
>> assert(x != NULL);
>>
>> if(x != NULL) {
>> x->foo = 42;
>> // ...
>> }
>>...
> Your code is doomed to having problems using assert this way.
That usage of assert is fine. D programs use it that way. (And
you are going to break lot of D code if you will change the
semantics of D assert).
Bye,
bearophile