http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56421
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-02-22 16:24:42 UTC --- I think 13.3 [over.match] ¶2 and 13.3.1 [over.match.funcs] ¶7 say the function template specialization must be generated before the number of arguments is checked to see if the candidate function is viable.