foremost among them are coroutines Note that on OSX / Clang, coroutines is still in <experimental/...
Philippe On Thu, 27 Jan 2022 11:38:05 +0000 Marc Mutz <[email protected]> wrote: Hi, > > > C++20 brings several new library features that would be great to use in the > Qt API, foremost among them are coroutines and std::span. > > > > Yet, both of these are, in a sense, type-erasure techniques, and therefore > most useful across ABI boundaries. > > > Traditionally, Qt has defined a set of minimum supported C++ compilers and > whatever their lowest common denominator was, that's what could be used in > the Qt ABI, everything else, let's call it conditionally-supported, could > only be used in inline API. > > > It is worth noting that on MSVC, inline API in exported classes already forms > part of the ABI, and no-one seems to have cared. > > > I would therefore like to propose to soften our ABI guidelines such that we > can officially use said conditionally-supported types also in the ABI. This > would allow to create non-inline APIs that use std::span and coroutines > without having to wait for all compilers to support them. > > > This is not such a big step: We already have that, de facto, in MSVC. The > only difference would be that a C++20 project would require a C++20(or > later)-build of Qt. The error upon failure to comply would be unspectacular: > linker not finding a symbol in the Qt library. > > > Seeing as we have allowed C++latest types in our ABI de-facto in the past, I > think it's time to allow it de-jure, too. > > > > > Discuss ?? > > > > Thanks, > Marc > > > > > > > > Marc Mutz > > Principal Software Engineer > > > > > The Qt Company > Erich-Thilo-Str. 10 12489 > Berlin, Germany > > [email protected] > > <https://www.qt.io>www.qt.io > > > > > Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen > Sitz der Gesellschaft: Berlin, > Registergericht: Amtsgericht Charlottenburg, > HRB 144331 B > > > > > > <https://www.qt.io/> > <https://www.facebook.com/qt/> <https://twitter.com/qtproject> > <https://www.linkedin.com/company/the-qt-company/> > <https://www.youtube.com/QtStudios> > > > > > >
_______________________________________________ Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
