digitalmars.D.learn - UFCS and function scope
- ixid (24/24) Aug 15 2013 Why does UFCS seem to require that functions be defined in a
- bearophile (6/13) Aug 15 2013 Unfortunately this is by design, and at the moment it's unlikely
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;
}
Aug 15 2013
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
Aug 15 2013








"bearophile" <bearophileHUGS lycos.com>