Constructor params with same name as members
    Ali Çehreli via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Oct 23 11:57:33 PDT 2014
    
    
  
On 10/22/2014 11:37 PM, Jonathan M Davis wrote:
 > x = x;
 >
 > which is so obviously wrong that I don't know how much of anyone could
 > make that mistake. But simply making it illegal to assign a variable to
 > itself would solve that problem, and that arguably should be done, since
 > it's a essentially a no-op.
Steve said the same thing and it's true for fundamental types but just 
to annoy you two, assignment can have side effects. :)
import std.stdio;
struct X
{
     X opAssign(X that)
     {
         writeln("side-effect!");
         return this;
     }
}
void main()
{
     auto x = X();
     x = x;
}
Ali
    
    
More information about the Digitalmars-d-learn
mailing list