diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp b/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp index 6a7a7c7ec8..1ef510e93f 100644 --- a/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp +++ b/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp @@ -34,6 +34,7 @@ class tst_QTaggedPointer : public QObject Q_OBJECT private Q_SLOTS: + void constExpr(); void construction(); void dereferenceOperator(); void pointerOperator(); @@ -46,6 +47,38 @@ private Q_SLOTS: void taggedLinkedList(); }; +void tst_QTaggedPointer::constExpr() +{ + { + constexpr QTaggedPointer<int> p; + Q_UNUSED(p); + } + { + enum Foo : uint {}; + constexpr QTaggedPointer<int, Foo> p; + Q_UNUSED(p); + } + { + enum Foo : int {}; + constexpr QTaggedPointer<int, Foo> p; + Q_UNUSED(p); + } + { + constexpr QTaggedPointer<int> p = nullptr; + Q_UNUSED(p); + } + { + enum Foo : uint {}; + constexpr QTaggedPointer<int, Foo> p = nullptr; + Q_UNUSED(p); + } + { + enum Foo : int {}; + constexpr QTaggedPointer<int, Foo> p = nullptr; + Q_UNUSED(p); + } +} + void tst_QTaggedPointer::construction() { { |