On Wednesday, 1 April 2015 at 23:03:02 UTC, bearophile wrote:
Walter Bright:
I'm thinking of a modest step which would be a subset of your
proposal:
1. implement 'scope' and 'return' for arrays, classes, and
pointers
2. implement inference for templates and lambdas
3. enable it with the -dip25 switch
and see how far that takes us.
This is interesting. For the final D programmer what's the
practical difference between your proposed subset compared to
the full proposal?
The main difference is that `@safe` doesn't imply `scope`
anymore, which means a bit more typing. It also makes `static`
annotations unnecessary.
I'm fine with that, because I only suggested it to reduce the
need for explicit annotations, as Walter said that's important
for him. Of course, it would also raise the risk of breaking
existing code considerably, so that the potential benefits may
not pull their weight overall.
But I hope overloading is included under point 1. It's very
important for efficiency.