summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcompletion_test.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-05-22 15:39:55 +0300
committerOrgad Shaneh <orgads@gmail.com>2015-06-01 16:30:47 +0000
commit07f8c474be629de75780d235df62a50ae6f27870 (patch)
tree464595fff1332ebe0fa229a5f4e1fc587cb4f486 /src/plugins/cpptools/cppcompletion_test.cpp
parenta429ef3d50242e871237402a2a70da9b77bb1509 (diff)
downloadqt-creator-07f8c474be629de75780d235df62a50ae6f27870.tar.gz
C++: Fix decltype resolving for template function
The last nail for std::unique_ptr (GCC variant, MSVC still doesn't work). Use-case: template<typename T> static T f(); struct Foo { int bar; }; void fun() { decltype(f<Foo>()) s; s.bar; // bar not highlighted } Task-number: QTCREATORBUG-14483 Task-number: QTCREATORBUG-8937 Change-Id: I5bab757400b070cf9dbb688a44fd8eafe95ddc61 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppcompletion_test.cpp')
-rw-r--r--src/plugins/cpptools/cppcompletion_test.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp
index e9c35198cb..00b796f0a8 100644
--- a/src/plugins/cpptools/cppcompletion_test.cpp
+++ b/src/plugins/cpptools/cppcompletion_test.cpp
@@ -2984,6 +2984,21 @@ void CppToolsPlugin::test_completion_data()
) << _("s.") << (QStringList()
<< QLatin1String("Foo")
<< QLatin1String("bar"));
+
+ QTest::newRow("typedefed_decltype_of_template_function") << _(
+ "template<typename T>\n"
+ "static T f();\n"
+ "\n"
+ "struct Foo { int bar; };\n"
+ "\n"
+ "void fun()\n"
+ "{\n"
+ " decltype(f<Foo>()) s;\n"
+ " @\n"
+ "}\n"
+ ) << _("s.") << (QStringList()
+ << QLatin1String("Foo")
+ << QLatin1String("bar"));
}
void CppToolsPlugin::test_completion_member_access_operator()