QTypeInfo: work around MSVC 2022 bug "isRelocatable: undeclared identifier"

Definitely a compiler bug because it passes for everything we threw at
the compiler in the CI but fails for a user. At least the workaround is
simple.

Fixes: QTBUG-133032
Pick-to: 6.8
Change-Id: Ie84590c466cf1d6f01bbfffd3ca1d6c262d77200
Reviewed-by: Irfan Omair <irfan.omair@gmail.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 0a5b37b706ee72c7d9042efcde244aa93a5ce9a5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Thiago Macieira 2025-01-29 18:19:18 -08:00 committed by Qt Cherry-pick Bot
parent d35a1eb1ac
commit d37960b35a

View File

@ -168,7 +168,7 @@ public: \
isIntegral [[deprecated("Use std::is_integral instead")]] = std::is_integral< TYPE >::value, \
isValueInitializationBitwiseZero = QtPrivate::qIsValueInitializationBitwiseZero<TYPE>, \
}; \
static_assert(!isRelocatable || \
static_assert(!QTypeInfo<TYPE>::isRelocatable || \
std::is_copy_constructible_v<TYPE > || \
std::is_move_constructible_v<TYPE >, \
#TYPE " is neither copy- nor move-constructible, so cannot be Q_RELOCATABLE_TYPE"); \