From 2d34d2ae9bcab0e7bb160c3bb44c107faa2b252b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 17 Mar 2025 11:17:24 -0700 Subject: [PATCH] QMetaType: suppress non-conversion content in convert() Many of the conversions are implemented by macros and may include conversion from a type to itself. We never call the convert() function with those parameters, so that code can be safely suppressed. Change-Id: I31904243ae8f750a3002fffd85f944305f0eee6b Reviewed-by: Ulf Hermann (cherry picked from commit 3e1d147986cfbce0da7cd0623aad5c1351642bc6) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/kernel/qmetatype_p.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h index 7e0457771f0..5b579b19b7a 100644 --- a/src/corelib/kernel/qmetatype_p.h +++ b/src/corelib/kernel/qmetatype_p.h @@ -22,6 +22,8 @@ QT_BEGIN_NAMESPACE #define QMETATYPE_CONVERTER(To, From, assign_and_return) \ case makePair(QMetaType::To, QMetaType::From): \ + if constexpr (QMetaType::To == QMetaType::From) \ + Q_UNREACHABLE(); /* can never get here */ \ if (onlyCheck) \ return true; \ { \