> catastrophically bad, provides zero value, and shouldn’t exist
Again, if you don't like it, don't use it. Can I assume that you would agree that `std::format`, which does not use locales, was a good addition in C++20?
> Your bar of “clearly functional” is is not a compelling or meaningful bar.
I pointed to the existence of multiple widely adopted, successful, competing implementations as evidence that the standard does functionally achieve the explicit goal of standardization, i.e. to support multiple implementations.
> Those failures aren’t all due to my specific complaint of “battery specs are a bad idea”. But “functional” is the lowest possible bar. And one could argue that as a whole isn’t being met.
You recognize that you're moving the goalposts here, right? Your overall point appears to be that the benefit of multiple implementations is not worth the costs of standardization, and that centralizing to a single specific implementation would be better in certain ways. In particular, it seems you think that more features per release ("each following release got smaller and smaller"), different features that what we got ("just one or two useful improvements in C++20"), and less community input about proposed changes ("C++26 has failed to pass") would be better than the status quo.
That's a fine opinion, but it's not an argument that standardization isn't functional.
> concepts and modules have been catastrophic failures
You're right about modules. C++26 failed to pass because some in the community don't want to repeat the mistake with contracts. This is a victory for standardization, not a loss. Further evidence that the process is working: the other improvements in C++26 (like reflection) are so desirable that this delay meaningfully hurts. If nobody wanted the changes, we'd all still be using C++11. And as always, if it's C++11 you want, the existence of the standard makes it possible.