The spec doesn't mention anything about nested functions here.
This works void foo(int[] a, int x) { }; void main() { int[] array; foo(array, 3); array.foo(3); } But this gives "undefined identifier module t.foo" void main() { void foo(int[] a, int x) { }; int[] array; foo(array, 3); array.foo(3); }