File tree Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -4061,7 +4061,7 @@ void TemplateSimplifier::simplifyTemplates(const std::time_t maxtime)
40614061 if (Token::Match (tok, " ( ... %op%" )) {
40624062 op = tok->tokAt (2 );
40634063 args = tok->link ()->previous ();
4064- } else if (Token::Match (tok, " ( %name% %op% ..." )) {
4064+ } else if (Token::Match (tok, " ( %name% %op% ..." ) && ! Token::simpleMatch (tok-> previous (), " ] ( " ) ) {
40654065 op = tok->tokAt (2 );
40664066 args = tok->link ()->previous ()->isName () ? nullptr : tok->next ();
40674067 } else if (Token::Match (tok->link ()->tokAt (-3 ), " %op% ... )" )) {
Original file line number Diff line number Diff line change @@ -220,6 +220,7 @@ class TestSimplifyTemplate : public TestFixture {
220220 TEST_CASE (template179);
221221 TEST_CASE (template180);
222222 TEST_CASE (template181);
223+ TEST_CASE (template182); // #13770
223224 TEST_CASE (template_specialization_1); // #7868 - template specialization template <typename T> struct S<C<T>> {..};
224225 TEST_CASE (template_specialization_2); // #7868 - template specialization template <typename T> struct S<C<T>> {..};
225226 TEST_CASE (template_specialization_3);
@@ -4636,6 +4637,15 @@ class TestSimplifyTemplate : public TestFixture {
46364637 ASSERT_EQUALS (exp2, tok (code2));
46374638 }
46384639
4640+ void template182 () {
4641+ const char code[] = " template <class...>\n "
4642+ " auto f() {\n "
4643+ " return [](auto&&...) {};\n "
4644+ " }\n " ;
4645+ const char exp[] = " template < class ... > auto f ( ) { return [ ] ( auto && ... ) { } ; }" ;
4646+ ASSERT_EQUALS (exp, tok (code));
4647+ }
4648+
46394649 void template_specialization_1 () { // #7868 - template specialization template <typename T> struct S<C<T>> {..};
46404650 const char code[] = " template <typename T> struct C {};\n "
46414651 " template <typename T> struct S {a};\n "
You can’t perform that action at this time.
0 commit comments