// { dg-do compile { target c++11 } }
template<typename...> struct Tuple { };
template<typename... Types>              char& g(Tuple<Types...>);       // #1
template<typename T1, typename... Types> short& g(Tuple<T1, Types...>);   // #2
template<typename T1, typename... Types> int& g(Tuple<T1, Types&...>);  // #3

void f() {
  //  char& x1 = g(Tuple<>());             // calls #1
  short& y1 = g(Tuple<int, float>());  // calls #2
  //  int& z1 = g(Tuple<int, float&>());   // calls #3
  //  int& z2 = g(Tuple<int>());           // calls #3
  //  int& z3 = g(Tuple<int>());           // calls #3
}
