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

--- Comment #7 from Daniel Krügler <daniel.kruegler at googlemail dot com> 
2013-02-22 22:01:18 UTC ---
(In reply to comment #4)
> 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.

After a cross-check with the core language group I completely agree with
Jonathan and exactly because of the paragraphs he quoted. Further-on, the
example is ill-formed, but no diagnostics required, as of [temp.inst]p6: 

"If the overload resolution process can determine the correct function to call
without instantiating a class template definition, it is unspecified whether
that instantiation actually takes place."

This sentence explains the implementation divergence (Thanks to Richard Smith
for reminding me to this part).

Reply via email to