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

Reply via email to