On 11/8/19 4:58 AM, Glen Fernandes via Boost wrote:
On Fri, Nov 8, 2019 at 7:43 AM Robert Ramey wrote:
I don't see this either. I'm sure that any library which works with C++03 will work with C++20.
What about this scenario: The maintainer of Boost.TypeTraits decides to stop supporting C++03 and removes all C++03 workarounds and tests for the 1.75 release. Serialization depends on TypeTraits, so in 1.75, Serialization cannot be used by C++03 users. Right now, the release managers would probably hold up the 1.75 release because of failing tests for Serialization. (Or if not failing tests, then maybe they might hold up the release if users complain about the 1.75-beta's Serialization not working for them).
Hmmmm - good observation. My understanding of the policy "one is only obligated to support the latest legal version of C++" would suggest that release managers would not currently be required to enforce or even test for compatibility with C++03. So maybe this idea isn't aimed at library authors but at release managers. That would make sense.
The idea is the release managers would not hold up the release, for something like that. i.e. C++03 Serialization tests wouldn't matter to the release managers, only the C++11+ tests. User complaints about C++03 support wouldn't matter to the release managers, because they would reply saying that the standard mode is no longer officially supported.
Correct - this makes sense to me.
As the Boost Serialization author, you would be free to reimplement those TypeTraits inside Boostorg/Serialization to keep your C++03 users happy. But the TypeTraits maintainer would feel like he can make that change without any concerns.
Agreed. The same situation that I'm on now.
If you believe that this is the way of things today, then there's nothing to worry about. Everyone's already in agreement about the state that we want to be in.
Sounds like we all agree that we're already where we want to be and that no change in policy is necessary. Perhaps the only thing needed is for release managers to announce that lack of C++03 compatibility is not grounds for holding up a release so C++03 won't be tested any more. Actually, I was not aware that C++03 was still being used to test anything. One interesting thing - The author of a library developed under C++03 doesn't really have much if any incentive to "upgrade" the implementation to a later version. And normally he doesn't because it doesn't add anything but more work. Older libraries like serialization were developed depending on boost as it existed at the time. So in practice, the scenario you cite above doesn't seem to present itself much. The only time I can see it happening is when the author/maintainer of an older library might re-implement using more up-to-date techniques. Perhaps the intention of this announcement is to provide cover for maintainers who want to do this. Robert Ramey
Glen
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost