[Development] Raising the minimum to C++20
Marc Mutz
marc.mutz at qt.io
Thu May 4 09:53:24 CEST 2023
On 04.05.23 00:24, Thiago Macieira wrote:
> On Wednesday, 3 May 2023 11:15:19 PDT Marc Mutz via Development wrote:
>> That might be so, and I'm not Maurice or Vladimir, but if I was to
>> decide, I wouldn't commit my company to a roadmap that requires forward
>> binary compatibility from stdlib vendors without a written declaration
>> from each of them that this is a supported use-case.
>
> That problem exists whether we use C++20 or not. If a library decides to break
> BC, they'll likely *break* it for all versions. I don't think a C++20 symbol
> in 2025 is more likely to get replaced/removed than a C++17 or C++98 one.
>
> Compiling with a new version of the library and running with an old one is not
> and has never been supported. No one is suggesting that. That's why I listed a
> few oldest minimum versions, so that anyone interested in creating binary
> builds could choose exactly those.
Ah, now I understand. You assume that a C++20 build will use the same
DLL/SO/DYNLIB stdlib that a C++17 build will use, all else being equal.
That may be the case, and, for the major platforms, that may even be
probable, but personally, I wouldn't bet the house on it for embedded
platforms.
But yeah, that's something that can be checked, and would probably¹
enable said use-case.
Thanks,
Marc
¹ I say "probably" because history shows that our wholesale exporting of
non-polymorphic classes will find a way to break this in corner-cases,
I'm sure.
--
Marc Mutz <marc.mutz at qt.io>
Principal Software Engineer
The Qt Company
Erich-Thilo-Str. 10 12489
Berlin, Germany
www.qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht Charlottenburg,
HRB 144331 B
More information about the Development
mailing list