On 07/12/2016 12:55 PM, Shachar Shemesh wrote:
On 12/07/16 13:25, Walter Bright wrote:
On 7/12/2016 12:35 AM, Shachar Shemesh wrote:
[...]
struct A {
     void method() {}
}

void main() {
     A* a;

     a.method(); // Okay
     method(a);  // Not okay
}

I'm afraid I don't know what you're driving at with those examples.


It is a single example. It shows that when UCFS and the lack of operator
-> try to play together, the result is no longer as simple and elegant
as one tries to sell them. It was given as a response to Andrei's
request for examples of cross-features interference causing complexity.

There is no UFCS in that example, and the -> operator would only affect the "Okay" case.

The "Not okay" case fails because there is no free function "method". It would fail even if D didn't have UFCS and if it had the -> operator.

Reply via email to