Boost logo

Boost :

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


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