http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56774



Daniel Frey <d.frey at gmx dot de> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |d.frey at gmx dot de



--- Comment #2 from Daniel Frey <d.frey at gmx dot de> 2013-03-29 00:09:10 UTC 
---

Here's a reduced testcase without any includes:



template< typename... > struct tuple {};



template< typename T, typename... Ts >

void f( tuple< T, Ts... >& ) {}



int main()

{

   tuple< int, bool, char > t;

   f< int, char, bool >(t);

}



This compiles with GCC 4.7.2 and GCC 4.8.0, but it shouldn't.

GCC 4.6.3 and Clang 3.2 reject the code as expected.



Output from GCC 4.6.3:



Compilation finished with errors:

source.cpp: In function 'int main()':

source.cpp:9:26: error: no matching function for call to 'f(tuple<int, bool,

char>&)'

source.cpp:9:26: note: candidate is:

source.cpp:4:6: note: template<class T, class ... Ts> void f(tuple<T, Ts ...>&)

Reply via email to