On 12/12/2012 09:03 PM, Timon Gehr wrote:
On 12/12/2012 07:03 PM, H. S. Teoh wrote:
Is this a known bug or deliberate limitation?

    void func(T)(T data) {
        void subfunc1() {
            process(data);
            if (recurse) subfunc2(); // Error: subfunc2 undefined
        }

        void subfunc2() {
            process(data);
            if (recurse) subfunc1(); // Error: subfunc1 undefined
        }

        subfunc1();
    }


T


Both.

(A silly workaround is the following, but I do not know if this has been documented since it has been discovered:


    void func(T)(T data) {
        void subfunc1()() {
            process(data);
            if (recurse) subfunc2(); // Ok.
        }

        void subfunc2() {
            process(data);
            if (recurse) subfunc1(); // Ok.
        }

        subfunc1();
    }
)

Reply via email to