In both cases, getting mangleof should cause forward reference error.
Test case:
auto f1(int)
{
pragma(msg, f1.mangleof); // forward reference error -> OK
}
auto f2(T)(T)
{
pragma(msg, f2.mangleof); // weird output: "v"
}
void main()
{
f1(1);
f2(1);
}