https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71975
--- Comment #4 from Gert <gw.fossdev at gmail dot com> --- Regarding the "whitespace" I didn't know that with something like namespace foo { class bar {}; } one can actually write foo ::bar x; i.e. add whitespaces between a namespace or class name and "::" before the nested name, and I'm quite positive that I have never seen code where this is actually done. This led me to the conclusion that the parser might be skipping over whitespaces where it is not supposed to do so.