is ==

Uknown sireeshkodali1 at gmail.com
Fri May 18 23:58:18 UTC 2018


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
}
---


More information about the Digitalmars-d-learn mailing list