http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53862
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-07-05
Ever Confirmed|0 |1
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-07-05
09:48:33 UTC ---
It compiles OK if you just change f(Args...) to f(Args&&...)
Reduced to remove header (and C++11) dependencies:
typedef unsigned long size_t;
template<typename> struct is_scalar { static const bool value = true; };
template<bool, typename T> struct enable_if { typedef T type; };
template <size_t N, typename... Args>
void f(Args...) {}
template <size_t N, typename T, typename... Args>
typename enable_if<is_scalar<T>::value, void>::type f(T, Args...) {}
int main() {
f<1>(1);
}