On 11/27/20 11:58 AM, Antony Polukhin via Boost wrote:
== The Solution TL;DR: we need a C++17 fork of Boost with close to 0 dependencies between libraries and namespace versioning.
ะก++17 provides many vocabulary types, feature test macro and a bunch of features for variadic templates. All of that allows us to drop a lot of weight and fix majority of popularity and usability problems.
Rule of a thumb should be: "If the C++17 provides that functionality - use the standard version".
We went over this multiple times. I'll just reiterate that I disagree with this approach. Many Boost libraries are superior to std equivalents, and I want to keep using them inside and outside Boost. Also, I don't see why Boost libraries are not allowed to exist as an extension over the std equivalents.
That approach would allow to loose a lot of weight, do not mess with vocabulary types and significantly reduce dependencies https://pdimov.github.io/boostdep-report/master/module-levels.html
By levels: config 0 -> we probably would not need it any more
That's wishful thinking, unfortunately. Compiler bugs still exist, and C++17 support level is not uniform across compilers. Moving forward, later C++ versions are also not uniformly implemented.
assert 1 -> 0
I'm not aware of a standard replacement of Boost.Assert. <cassert> is not one.