On 11/6/2016 10:31 AM, Daniela Engert wrote:
Am 06.11.2016 um 15:51 schrieb Edward Diener:
On 11/6/2016 1:14 AM, Daniela Engert wrote:
Am 05.11.2016 um 20:21 schrieb Marshall Clow:
... if you build with /std:c++latest.
I can send out PRs to library authors interested in that and help working on a converged Boost-wide solution
A number of changes require c++11 support so you can't just blindly introduce such changes for libraries which also support c++03.
As the maintainer of our in-house Boost distribution I have the freedom to do so, and I have no other choice but to make boost work with recent versions of msvc and /std:c++latest. I am perfectly aware of the fact that changes to make this happen may clash with c++03 and the possible lack of features introduced with c++11. Therefore I am sending out PRs for people to see what changes are required as bare minimum in a c++11 environment. Based upon that we may mull over c++03 compatible changes if needed.
My point is that if the Boost library supports c++03 then your PRs will be rejected if the change(s) in them do not take that into account for the relevant changes. As an example if you want to change 'std::auto_ptr' to 'std::unique_ptr' in some library which supports c++03, you need to check whether or not 'std::unique_ptr' is supported for a particular compilation, using the Boost config macro BOOST_NO_CXX11_SMART_PTR. I understand that you have the freedom to dictate what your own in-house Boost distribution supports, but when you create PRs for Boost libraries in general you need to take into account how anybody might use a particular Boost library and not just yourself. With all that said PRs are always appreciated for those who are willing to create them properly.
One note: my /std:c++latest-capable version of 1.62 passed the full test suite when compiled with vc14 update 3 in the same way as the Boost master test matrix showed (well, with fewer test failures in some cases). And I always run the test suite in all four combinations of 32/64 bit and debug/release mode to monitor the different outcomes that become apparent when doing so.
Ciao Dani