is ==

IntegratedDimensions IntegratedDimensions at gmail.com
Sat May 19 00:59:12 UTC 2018


On Friday, 18 May 2018 at 23:58:18 UTC, Uknown wrote:
> On Friday, 18 May 2018 at 23:53:12 UTC, IntegratedDimensions 
> wrote:
>> Why does D complain when using == to compare with null? Is 
>> there really any technical reason? if one just defines == null 
>> to is null then there should be no problem. It seems like a 
>> pedantic move by who ever implemented it and I'm hoping there 
>> is actually a good technical reason for it.
>
> D only complains of this when you use ref types (classes or 
> AAs). For e.g:
> --- test.d
> void main()
> {
>     int * p;
>     assert (p == null && p is null);
>     class C
>     {
>         int x;
>     }
>     C c;
>     assert (c is null);
>     assert (c == null); //error, c is a reference, so there is 
> confusion between opEquals and null check
> }
> ---


or pointers.


More information about the Digitalmars-d-learn mailing list