From 9b3de58d2dfedfdd8097b329438a2f2f086aa43f Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Sun, 18 Sep 2022 16:27:32 +0200 Subject: QMetaType of non-const ref: play nice with template instantiations ...by making QMetaTypeId2 contain all expected members. While we don't allow QMetaType from non-const references, we want to get to the static_assert telling us as much, instead of running into more or less incomprehensible error messages in the depths of qmetatype.h. Pick-to: 6.4 Task-number: QTBUG-106672 Change-Id: Ica9b13fee95eda97cafab2cccdc5249dfc3dcdf2 Reviewed-by: Ulf Hermann --- src/corelib/kernel/qmetatype.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/corelib/kernel/qmetatype.h') diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 8e4a2af77b..4092c106d2 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -1204,7 +1204,12 @@ template struct QMetaTypeId2 : QMetaTypeId2 {}; template -struct QMetaTypeId2 { enum {Defined = false }; }; +struct QMetaTypeId2 +{ + using NameAsArrayType = void; + enum { Defined = false, IsBuiltIn = false }; + static inline constexpr int qt_metatype_id() { return 0; } +}; namespace QtPrivate { template ::Defined> -- cgit v1.2.3