https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101811

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Tobias Schlüter from comment #4)
> we are at a stage where grammatical niceties matter, I would make the symbol
> in the first message the subject, so
> 
> <source>:6:6: error: 'template<int> void X::f()' matches no declaration
>     6 | void X::f()
>       |      ^

No, I disagree. The function declarator can be arbitrarily long, sometimes
wrapping over several lines on the screen. If the important "matches no
declaration" text is at an arbitrary place on the screen it is hard to find. If
it appears immediately after the "error:" string (which is typically
highlighted in red) then you don't have to scan the output to find it.

"X matches no declaration" also seems grammatically worse than "no declaration
matches X", but that's debatable.

Reply via email to