Things that keep D from evolving?

Steven Schveighoffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Feb 12 06:03:05 PST 2016


On 2/10/16 11:51 PM, Matt Elkins wrote:

> * The in keyword. This is nice syntactic sugar over having a special
> trait in C++ which deduces whether to pass by value or const-reference.
> "foo(in bar)" is way more readable than something like
> "foo(traits<bar>::fast_param bar)"

Hm... in is short for scope const. It is not pass by reference. Perhaps 
you meant auto ref?

> * @property. This little feature has been invaluable in porting my C++
> code, letting me shave off tons of accessors and mutators that existed
> only for the sake of possibly being needed in the future. I didn't even
> need to use @property for this; its simple existence did the work for me!

Well, interestingly, D still allows property syntax without the 
@property notation. I'm in the habit now of never documenting accessors 
with @property. Mutators, I still would like to see D require @property 
to access that syntax.

Note that the only good reason to defensively add accessors and mutators 
for public fields is to keep a consistent binary API. In other words, if 
have a shared library. D is not quite there yet for shared library 
support, however.



-Steve


More information about the Digitalmars-d-learn mailing list