// { dg-options "-std=c++0x" } template class TT> TT foo(TT) { return TT(); } template int& foo(T) { static int i = 0; return i; } template struct pair {}; void bar() { pair p; int& i = foo(p); }