On Mon, Oct 7, 2024 at 5:31 PM Peter Dimov via Boost
The suggestion here wasn't about declaring core libraries deprecated... well, it was, but "obsolete" is a better term than "deprecated". It's about discouraging the use of obsolete libraries in new code. The problem is that when we display the list of libraries, we give no hints to the initiated that a library has been obsoleted by the language (which is the case with Move and Foreach), the stdlib (the case with Bind, MemFn, Ratio, and many others), or by another Boost library (MPL and Mp11.)
Changing the presentation of the libraries on the website is easy, and should be largely uncontroversial. Anyone who has thoughts on it can open an issue and it will be addressed. What I am proposing is something more fundamental. A deeper treatment of these obsolete libraries. How deep? Well, I don't quite know, hence the reason for the original post. At one extreme there is the idea to no longer include, for example Boost.Move in the release. The repository would not disappear but we wouldn't go out of our way to install it on people's machines. This may not be practical right now given the number of dependees but it still merits thought. At the other extreme we have just marking the library on the website as "obsolete." We should definitely do that. Yet there are still questions which we should consider. For example, do we want to list Boost.Move here? What purpose would that serve, other than to lay a trap for users of modern C++? https://www.boost.org/doc/libs/1_86_0/doc/html/libraries.html Many such examples exist. Thanks