
-----Original Message----- From: Boost <boost-bounces@lists.boost.org> On Behalf Of Michael Caisse via Boost Sent: 8 November 2019 07:18 To: boost@lists.boost.org Cc: Michael Caisse <mcaisse-lists@ciere.com> 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