https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118515
--- Comment #1 from Egor Pugin <egor.pugin at gmail dot com> --- Actually the output is the same since gcc-6. from gcc-4.6 to gcc-5 output is: note: candidate: template<int <anonymous> > auto b() Slightly updated example: template <a> void b() {} void c() { b(0); } Is <typeprefixerror> considered an error at all or it was made such intentionally?