$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: pbristow_at_[hidden]
Date: 2019-11-08 10:46:15
> -----Original Message-----
> From: Boost <boost-bounces_at_[hidden]> On Behalf Of Michael Caisse via
> Boost
> Sent: 8 November 2019 07:18
> To: boost_at_[hidden]
> Cc: Michael Caisse <mcaisse-lists_at_[hidden]>
> Subject: Re: [boost] Suggested policy for dropping C++03 support in Boost libraries
>
> On 11/7/19 21:37, Robert Ramey via Boost wrote:
> > On 11/7/19 7:24 PM, James E. King III via Boost wrote:
> >
> >>
> >> This was already debated before. No need to rehash it. Maintainers
> >> are already empowered to drop C++03 support.
> >
> > Right. they've been empowered to do this for 20 years. How does this
> > change anything
>
> It would seem that you are not the audience. Some authors apparently feel
> conflict in dropping C++03 support. A clearly documented policy of how to do this
> provides no harm and may cause authors/maintainers to deprecate old compiler
> support.
>
> >
> >
> >> They can start by updating their
> >> readme and docs and stop running their C++03 CI jobs.
> >
> > Is it being proposed that they should be required to do this?. If not
> > what are library maintainers expected to do differently?
> >
>
> The proposal does not say this. The proposal provides the minimum steps that
> should be taken when a library maintainer is going to deprecate
> C++03 support.
>
> It seems very reasonable to have a written policy. I fully understand that some
> maintainers will feel no additional power from such a declaration; however, it does
> allow a uniform process to be pointed to.
I agree that the existing policy of 20 years has not changed, (but is frequently misunderstood) but agree that a statement of policy could be helpful to users.
The essence of Peter Dimov proposal https://pdimov.github.io/articles/phasing_out_cxx03.html is
Suggested Policy is
"
A library author or maintainer will be allowed to announce that C++03 support in the library is deprecated.
This announcement will take the following forms:
A note in the documentation;
An item in the release notes in the Boost release deprecating C++03 support;
A message issued at compilation time if a library header is included in C++03 mode.
The recommended form of the code issuing the message will be
#include <boost/config.hpp>
#include <boost/config/pragma_message.hpp>
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_HDR_MEMORY)
BOOST_PRAGMA_MESSAGE("C++03 support is deprecated in Boost.Library 1.73 and will be removed in Boost.Library 1.76.")
#endif
with the condition of the #if directive adjusted appropriately to reflect the actual library requirements.
At least three Boost releases must ship with a deprecation notice before support is dropped.
"
Previously, I think we had suggested only two releases (my preference).
But that still seems a reasonable policy to me.
Paul
Paul A. Bristow
Prizet Farmhouse
Kendal, Cumbria
LA8 8AB UK