Date: 2019-11-08 10:46:15
> -----Original Message-----
> From: Boost <boost-bounces_at_[hidden]> On Behalf Of Michael Caisse via
> 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
> >> 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
#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.")
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 A. Bristow
LA8 8AB UK
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk