On 12/28/2011 11:34 PM, so wrote:
If you change "anything" in your interface, it is already a breaking
change.
That is why it is desirable to not let parameter names contribute to the
interface. Jonathan definitely has a point against making all parameters
named parameters by default.
From a recent thread in D.learn:
Christophe wrote:
Timon Gehr wrote:
but the drawback is that the parameter names become part of the
public interface.
Well, that's precisely the point. And it is a drawback if parameters are
systematically names, but not if it is triggered only on demand.
Example :
void foo(int a, int b:, int c:);
void main() {
foo(1, 2, 3);
foo(1, c: 3, b: 2;
foo(a: 1, b: 2, c: 3); // error : a is not a named parameter.
}
In the example, ":" is used to make a named parameter to recall the use
when you call the function.
I thought that was pretty convincing.