On 10/24/2018 7:49 PM, Peter Dimov via Boost wrote:
Edward Diener wrote:
If we up the minimum requirement
What do you mean by the above ?
We announce that Boost has a minimum requirement of such and so, and will no longer support platforms not meeting it starting with release 1.X.
Suppose you made the minimum requirement C++11, what would you expect a library to do to meet that requirement ?
The library doesn't meet the minimum requirement, the compiler does. The library may assume the minimum requirement.
As an example, if our minimum requirement implies a working std::function, Boost.Test may use std::function in its interface and implementation, unconditionally and without checking cxxstd or BOOST_NO_CXX11_HDR_FUNCTIONAL or whatever else, and its maintainers can in good conscience accept pull requests making use of other C++11 features whose availability is guaranteed by the minimum requirement.
Haven't we already basically agreed, going forward with Boost, that a library can use C++11 features and the C++11 Standard Library without informing end-users in advance that it is going to do so, if previously it supported C++03 ? If not, that was what I thought the previous long discussion about dropping support for C++03 was largely about. I do not think there is anything more that Boost can do to attempt to promote C++11 as the minimum standard it supports, at least at the level of each individual library. As far as Boost Test is concerned, or any other Boost library, I think it should use C++11 if it desires. If C++03 library depends on a library which has gone from C++03 to C++11 then that C++03 library is now a C++11 library as long as it maintains that dependency.