1 // PR c++/47999 2 // { dg-do compile { target c++11 } } 3 identity(int & i)4int& identity(int& i) 5 { 6 return i; 7 } 8 9 // In a function template, auto type deduction works incorrectly. 10 template <typename = void> f()11void f() 12 { 13 int i = 0; 14 auto&& x = identity(i); // Type of x should be `int&`, but it is `int&&`. 15 } 16 main(int argc,char * argv[])17int main (int argc, char* argv[]) 18 { 19 f(); 20 return 0; 21 } 22