// { dg-do compile { target c++11 } } 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); }