On 10/24/2018 2:12 PM, Deniz Bahadir via Boost wrote:
Am 24.10.18 um 18:43 schrieb Peter Dimov via Boost:
Mike Dev wrote:
We can switch to std::function unconditionally, but only if we drop C++03 (for some definition of C++03 because only the latest and greatest > MSVC is ~fully C++11 compliant.)
That's my point: I don't want boost libraries to invest any more effort in maintaining c++03 support (I think I made that clear in the last ml-thread about this 2-3 month ago).
It's clear to all that everyone is held back by the inability to use C++11 things.
But we can't just stop investing effort in C++03 maintenance. We have to officially drop C++03 at the Boost level, meaning, refuse to compile Boost with C++03 at all, or make it difficult, or at least make it choose an intelligent default that is never C++03.
Otherwise it's easy for our (g++ 5 and clang) users to end up with Boost libraries compiled with C++03.
One thing I really do not understand is:
Why should people use the newest and latest Boost version when they are stuck with an ancient compiler or code-base, which does not even support C++11? Do they really need the newest libraries from Boost? (Most of them require at least C++11 anyways.)
Isn't it enough for them to stick to one Boost version that has all the needed Boost libraries and worked for a long time and be happy? OK, if they want to have the latest (security-)bugfixes, then they should get them as patches or as patch-releases of the same (old) version.
My recommendation is therefore:
1. Announce that e.g. Boost 1.70 will be the last release that guarantees to compile with C++03 and that you will support it for some (longer) time by providing patch-releases (1.70.1, 1.70.2...), only including (security-related) bugfixes but no new features. (You need specific git-branches for this and they will differ over time from develop/master branch.
There is no such thing currently of a Boost release that is guaranteed to compile with C++03. It has been an impossibility once the first Boost library which needed C++11 on up was created. That was a long time ago.