http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55778
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-12-21 18:37:54 UTC --- (In reply to comment #0) > Am i wrong ? Yes. The foo(std::string const&, Args...) overload is not in scope within foo(int, Args...) so the call resolves to the foo(Args...) overload.