Home | History | Annotate | Download | only in temp.deduct.type
      1 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
      2 // expected-no-diagnostics
      3 
      4 // If the original function parameter associated with A is a function
      5 // parameter pack and the function parameter associated with P is not
      6 // a function parameter pack, then template argument deduction fails.
      7 template<class ... Args> int& f(Args ... args);
      8 template<class T1, class ... Args> float& f(T1 a1, Args ... args);
      9 template<class T1, class T2> double& f(T1 a1, T2 a2);
     10 
     11 void test_f() {
     12   int &ir1 = f();
     13   float &fr1 = f(1, 2, 3);
     14   double &dr1 = f(1, 2);
     15 }
     16