On 2/19/2018 4:51 AM, Mike via Boost wrote:
Hello everyone, I hope it is ok, for me as a non-boost-dev, to chime in here. What I generally expect " dropping c++03 support" to mean are the following things: - Any library may start to use c++11 features at any point without prior announcement and/or without having to wait a few releases (I.e. it is no longer considered a breaking change).
I think that it is a breaking change in that end-users who previously compiled in C++03 mode when using such a library can no longer do so. Of course if Boost wants to tell end-users that compiling any particular library in C++03 mode is no longer guaranteed to work, even if it has worked previously, then this would not longer be a breaking change.
- c++03 builds are removed from the test matrices
The test matrices are up to those contributing them. If you would like to suggest to them that testing in C++03 mode is wasteful, please feel free to do so.
- Compilation paths that are c++03 only can be removed (thus simplifying the code base and future refactoring/development)
Any library developer can always do this now as a potential breaking change.
- My hope (obviously no one can or should force a volunteer to do anything) is that - where applicable - libraries start to replace boost types & functions that have been merged into the c++11 standard with their std equivalent or the equivalent c++11 language feature.
Using std versus boost libraries is almost always equivalent to working only in C++11 mode or above.
- In the long run, libraries that have been fully merged into c++11 could be deprecated and removed all together.
What does "fully merged into c++11" mean ? Requires C++11 mode to work ? If a library which previously worked in C++03 mode is changed so that it requires C++11 mode on up, why would you want to remove or deprecate it ?
Just to be clear: Dropping c++03 support doesn't mean a developer is forced to use c++11 constructs (if we ignore the potential future removal of boost libraries) - it primarily means that a user can no longer rely on the lib being usable in c++03 mode.
OK, at least this is your definition of what "dropping support for C++03" means.
And yes, this could be done on a per library basis, but especially older boost libraries are so tightly coupled that such decisions affect a lot of other libraries anyway. So my guess is that very few maintainers would dare to drop c++03 support as long as that hasn't been deemed acceptable by larger parts of the boost community.j
The problem with your definition of "dropping support for C++03" is that end-users of Boost libraries need to be told that Boost no longer can guarantee that a library which currently works in C++03 mode will continue to do so. This announcement as I see it would have to be determined by the Boost Steering Committee and announced on the website, as a minimum. I am not personally against doing so, but I am also glad I am not involved in any way ofd making such a decision. I am personally against dropping libraries from Boost just because they happen to work in C++03 mode, when that library also works fine in C++11 mode on up.
Best regards Mike -- Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.