Atomic updates

bearophile bearophileHUGS at lycos.com
Tue Jan 22 10:50:44 PST 2013


ixid:

> I note you always seem to use "in" in your functions and on 
> reddit seemed to imply that this was the idiomatic way of using 
> D yet I recall Jonathan M Davies posting that using "in" was a 
> bad idea.

I think "in" is supposed to be(come) idiomatic, because it's 
short, and it's supposed to combine two attributes that you 
usually want, const and scope.

On the other hand scope for arguments is not implemented yet (and 
Walter doesn't show lot of interest in implementing it, I don't 
know why. Few days ago Hara has said he wants to try to implement 
scope. But it's a lot of work, so I don't know if and when he 
will be done). So if you annotate something with scope, and you 
let the reference escape, the code now compiles, but later will 
break.

Breaking the D code on Rosettacode is acceptable, because that 
site is like a wide variety of tiny test programs. So using "in" 
in Rosettacode is good. But if you are writing a largish D2 
project, then Jonathan is right, it's better to not use "in" and 
scope arguments, unless you want to fix ton of future errors.

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list