Boost logo

Boost :

Subject: Re: [boost] A possible date for dropping c++03 support
From: James E. King III (jking_at_[hidden])
Date: 2018-08-29 03:29:07


On Tue, Aug 28, 2018 at 4:14 PM Edward Diener via Boost <
boost_at_[hidden]> wrote:

>
> Other than not removing useful Boost libraries which support c++03 as
> well as all subsequent C++ standard levels, and not telling people that
> they can not use such libraries in c++03 mode if they actually want to
> do so, I am perfectly willing to let others, including yourself, decide
> the best way in which support for c++03 in Boost is reduced. My argument
> has always been that putting a generalized statement on the website,
> without explaining what it actually entails as far as using Boost
> libraries is concerned, is going to lead to confusion and puzzlement
> from end-users and endless questions. What can it possibly cost to
> actually explain of what "Boost dropping support for c++03" actually
> consists, when it is finally decided what Boost is going to do in this
> area ? If it is a matter of correct grammar or exposition in the
> explanation, I will gladly volunteer to write it if no one else wants to
> do so.

I thought Peter Dimov got it right from the comment I saw earlier.
The project would no longer spend time and effort on qualifying or testing
C++03 compatibility. CI builds and the test matrix would no longer
specifically
test C++03. The default language level for b2 builds would be C++11.

Individual repository maintainers could attempt to continue to qualify
for C++03 however once an upstream dependency begins to include
C++11 code, that effort would have to give way.

Folks using C++03 in a project consuming boost would be encouraged
to continue to use an older version of boost that is known to with with
C++03. Folks in all repositories would be free to use C++11 language
features without having to worry about the downstream implications.

Existing libraries would not be refactored unless there was significant
demonstrable benefit to doing so. Also given recent discussions on the
mailing list about the need to build C++03 and C++11 DLL flavors (my
suggestion was to try and make everything header-only to avoid that);
dropping C++03 support would resolve that issue too.

I know of more than one project still supporting C++03 - one commercial
and one open-source, and both depend on Boost. Both have also discussed
raising the bar in their projects to C++11 (for open source) and C++14 (for
the
commercial one). Setting the bar globally enables everyone to freely use
new and more efficient language constructs. Doing so on each repository
separately has implications as discussed above.

Folks consuming boost can always hold back their boost upgrades to
stay with C++03 and they can weigh the pros and cons of staying on
C++03 versus moving forward. As a developer both working on and
consuming boost I would appreciate the permission to start using C++11
without fear.

- Jim


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk