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