UFCS and function scope

ixid adamsibson at hotmail.com
Thu Aug 15 13:45:55 PDT 2013


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;
}


More information about the Digitalmars-d-learn mailing list