On 29.05.19 17:17, Mutz, Marc via Development wrote:
But of course, that's a fallacy, because as soon as Qt internally uses said
inline functions, every use of them by the user with a different STL is an ODR
violation and therefore UB. So, again AFAICT, the decision was that we can use
std types in the API now, even when not inline.
Someone correct me if I'm wrong.
I believe you are right. But binary compatibility, as a whole, is a ODR
violation, and therefore is UB. (Unless we really do not touch any of the
existing class in a public header files, not even to add a typedef or a method
in them)
In practice, however, it works. Same as changing the stdlib, because they also
keeps binary compatibility across version and libc++ and libstdcpp are in
different namespace.
--
Olivier
Woboq - Qt services and support - https://woboq.com - https://code.woboq.org
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development