parent
676a241137
commit
ce9fdd181d
|
@ -149,6 +149,7 @@ private:
|
|||
TEST_CASE(template109); // #9144
|
||||
TEST_CASE(template110);
|
||||
TEST_CASE(template111); // crash
|
||||
TEST_CASE(template112); // #9146 syntax error
|
||||
TEST_CASE(template_specialization_1); // #7868 - template specialization template <typename T> struct S<C<T>> {..};
|
||||
TEST_CASE(template_specialization_2); // #7868 - template specialization template <typename T> struct S<C<T>> {..};
|
||||
TEST_CASE(template_enum); // #6299 Syntax error in complex enum declaration (including template)
|
||||
|
@ -2629,6 +2630,18 @@ private:
|
|||
ASSERT_EQUALS(exp, tok(code));
|
||||
}
|
||||
|
||||
void template112() { // #9146 syntax error
|
||||
const char code[] = "template <int> struct a;\n"
|
||||
"template <class, class b> using c = typename a<int{b::d}>::e;\n"
|
||||
"template <class> struct f;\n"
|
||||
"template <class b> using g = typename f<c<int, b>>::e;";
|
||||
const char exp[] = "template < int > struct a ; "
|
||||
"template < class , class b > using c = typename a < int { b :: d } > :: e ; "
|
||||
"template < class > struct f ; "
|
||||
"template < class b > using g = typename f < c < int , b > > :: e ;";
|
||||
ASSERT_EQUALS(exp, tok(code));
|
||||
}
|
||||
|
||||
void template_specialization_1() { // #7868 - template specialization template <typename T> struct S<C<T>> {..};
|
||||
const char code[] = "template <typename T> struct C {};\n"
|
||||
"template <typename T> struct S {a};\n"
|
||||
|
|
Loading…
Reference in New Issue