On Tuesday 19. May 2015 11:47:47 Marc Mutz wrote:
> Taking this train of thought one stop further: this is also makes QString
> BiC:
>
> class Q_CORE_EXPORT QString
> {
> public:
> // ...
> #ifdef Q_COMPILER_RVALUE_REFS
> inline QString(QString && other) Q_DECL_NOTHROW : d(other.d)
> { other.d = Data::sharedNull(); }
> inline QString &operator=(QString &&other) Q_DECL_NOTHROW
> { qSwap(d, other.d); return *this; }
> #endif
>
> By Sergio's problem, an application built in C++11 debug mode should not be
> able to link against a QtCore built in C++98 mode, either (unresolved
> QString(QString &&)). Yet, that is what we wanted to support with the policy
> that all C++11 code needs to be inline-only.
>
> And don't tell me this ain't a problem in practice - it just caused a CI
> failure on the above-mentioned, perfectly valid, patch :)
This is not a problem because this is only with MSVC and MSVC does not have
different modes for C++11 or C++14
--
Olivier
Woboq - Qt services and support - http://woboq.com - http://code.woboq.org
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development