On Fri, Feb 17, 2023 at 10:11 AM Jeff Garland
...many of those libraries require higher versions for good reason: Aedis (c++17) and Describe (C++14) for example.
Of course, hitting "Send" is the best way to discover that you had more to say. Often it is the case that newer standards don't really help the utility of my libraries. Sure, they help me as an implementor ("if constexpr" versus overloads for example) but the user is not affected and I can still achieve the same results but with more work and care. This is especially true for pure library features. It is relatively straightforward to backport the feature into Boost, as we are doing currently with charconv for instance. Sometimes though, a newer standard offers a compelling thing that cannot be substituted. co_await is one example. The language support enabling Boost.Describe is another example. Describe-enabled algorithms which work on the user's described types are pretty damn convenient. Our Powered By Boost technology server will require C++14 for this reason. Thus it is the case that over time, the advantages of switching to a newer standard increase while the costs of abandoning an older standard decreases.
...let's litigate deprecation on an ongoing basis instead.
Therefore, consensus to deprecate C++11 will naturally converge to agreement as the case for C++14 strengthens with each new library or program that uses its non-substitutable advantages. Thanks