質問です。
namespace ns {

struct Struct { int test; };

int func1(int) { return 0; }
int func2(const Struct&) { return 1; }

}

int main(int, char* []) {
ns::Struct data = { 1 }; // ns::付けないとエラー

ns::func1(data.test); // ns::付けないとエラー
func2(data); // ns::付けなくてもOK

return 0;
}
func2の呼び出しがワーニングすら出ずエラーにならないのは仕様通りなのでしょうか?
環境は g++ 4.8.1 で、MinGW・Linux共に結果同じです。