/*
TEST_OUTPUT:
---
fail_compilation/fail12236.d(16): Error: forward reference to inferred return type of function `f1`
fail_compilation/fail12236.d(16):        while evaluating `pragma(msg, f1.mangleof)`
fail_compilation/fail12236.d(21): Error: forward reference to inferred return type of function `f2`
fail_compilation/fail12236.d(21):        while evaluating `pragma(msg, f2(T)(T).mangleof)`
fail_compilation/fail12236.d(27): Error: template instance `fail12236.f2!int` error instantiating
fail_compilation/fail12236.d(31): Error: forward reference to inferred return type of function `__lambda1`
fail_compilation/fail12236.d(31):        while evaluating `pragma(msg, __lambda1.mangleof)`
---
*/

auto f1(int)
{
    pragma(msg, f1.mangleof);  // forward reference error
}

auto f2(T)(T)
{
    pragma(msg, f2.mangleof);  // error <- weird output: "v"
}

void main()
{
    f1(1);
    f2(1);

    (a) {
        int x;
        pragma(msg, __traits(parent, x).mangleof);
    } (1);
}
