Here's an idea, let's cram more and more stuff into the language specification until we have, let's say 1 or 2 compilers left who is even remotely close to a complete implementation of the standard. And then let's keep doing it until none of them is. It won't matter, what are standards for anyways right?
How is this an issue for C++?
That isn't an issue for most any language.
Sure, some languages force crap on the programmer, but even then knowledge of every facility is never necessary.
My mastery of the C++ generic mechanism is disturbing. I know parts of C++ as it lives in the wild that only a handful of people ever need to know.
And isn't that wonderful? (Oh, not that I know a lot of almost entirely useless bits of C++. That's just kind of pathetic.) You don't need to know that stuff. Ever. You can make great use of C++ without ever needing to understand how to specialize a template.
If C++ had a thousand more features and yet forced you to know none of them, would it really matter it the language specification was bloated?
No i haven't. You know what else i haven't done? I never said that every feature of a programming language should and must be used by everyone, so why are you arguing this? I also never said that compile time was critical in any way whatsoever, i just mentioned it as one of the consequences of COMPLEXITY, which is something you seem to think is an unconditionally good thing, under all circumstances, no exceptions.
Have you ever read, not searched, the C++11 standard? I only ask because, the language and library already are bloated. It just doesn't matter; you don't have to use every method `std::string' (actually a `typedef' of a `template') has just because it has those methods.