https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105672
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #0) > <error loc>:<col>: note: tuple and std::tuple are not the same type And just to be clear, it was very intentional that this suggestion *doesn't* show the template argument lists. That's just clutter in this context (and those arg lists are already shown in the "error:" line). The template arg lists are irrelevant here, *no* argument list is going to make them the same type, so showing it doesn't help. What matters here is the nested-name-specifier and the name after it.