August 15, 2013 UFCS and function scope | ||||
---|---|---|---|---|
| ||||
Why does UFCS seem to require that functions be defined in a higher (global being the highest) scope than themselves while the normal function syntax works fine? This is OK: int fun1(int n) { return n + 1; } int fun2(int n) { return n.fun1; } This is also OK: int fun3(int n) { int fun4(int n) { return n + 1; } return fun4(n); } This is not OK: int fun5(int n) { int fun6(int n) { return n + 1; } return n.fun6; } |
August 15, 2013 Re: UFCS and function scope | ||||
---|---|---|---|---|
| ||||
Posted in reply to ixid | ixid:
> This is not OK:
> int fun5(int n) {
> int fun6(int n) {
> return n + 1;
> }
>
> return n.fun6;
> }
Unfortunately this is by design, and at the moment it's unlikely to change. And I think it's done this way to avoid troubles with code in class methods.
Bye,
bearophile
|
Copyright © 1999-2021 by the D Language Foundation