Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2019-11-08 13:48:10


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
>


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