forked from qt-creator/qt-creator
C++: template base class and default argument for template class
Fix code completion for case:
struct Foo
{
int bar;
};
template <typename T>
struct Base
{
T t;
};
template <typename T1 = Foo>
struct Derived : Base<T1>
{};
int main()
{
Derived<> foo;
foo.t.// no code completion
return 0;
}
Task-number: QTCREATORBUG-12606
Change-Id: Iadf2fae172739d0a5844c6b437fd2686616e64e7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
committed by
Erik Verbruggen
parent
ce4dc86d58
commit
059cfde677
@@ -2281,6 +2281,20 @@ void CppToolsPlugin::test_completion_data()
|
||||
<< QLatin1String("Derived")
|
||||
<< QLatin1String("foo")
|
||||
<< QLatin1String("Foo"));
|
||||
|
||||
QTest::newRow("default_arguments_for_class_templates_and_template_base_class_QTCREATORBUG-12606") << _(
|
||||
"struct Foo { int foo; };\n"
|
||||
"template <typename T>\n"
|
||||
"struct Base { T t; };\n"
|
||||
"template <typename T = Foo>\n"
|
||||
"struct Derived : Base<T> {};\n"
|
||||
"void fun() {\n"
|
||||
" Derived<> derived;\n"
|
||||
" @\n"
|
||||
"}\n"
|
||||
) << _("derived.t.") << (QStringList()
|
||||
<< QLatin1String("foo")
|
||||
<< QLatin1String("Foo"));
|
||||
}
|
||||
|
||||
void CppToolsPlugin::test_completion_member_access_operator()
|
||||
|
||||
Reference in New Issue
Block a user