@@ -142,6 +142,7 @@ class TestSimplifyTypedef : public TestFixture {
142142 TEST_CASE (simplifyTypedef109); // ticket #1823 - rvalue reference
143143 TEST_CASE (simplifyTypedef110); // ticket #6268
144144 TEST_CASE (simplifyTypedef111); // ticket #6345
145+ TEST_CASE (simplifyTypedef112); // ticket #6048
145146
146147 TEST_CASE (simplifyTypedefFunction1);
147148 TEST_CASE (simplifyTypedefFunction2); // ticket #1685
@@ -2408,6 +2409,25 @@ class TestSimplifyTypedef : public TestFixture {
24082409
24092410 }
24102411
2412+ void simplifyTypedef112 () { // ticket #6048
2413+ const char code[] = " template<\n "
2414+ " typename DataType,\n "
2415+ " typename SpaceType,\n "
2416+ " typename TrafoConfig>\n "
2417+ " class AsmTraits1 {\n "
2418+ " typedef typename SpaceType::TrafoType TrafoType;\n "
2419+ " typedef typename TrafoType::ShapeType ShapeType;\n "
2420+ " typedef typename TrafoType::template Evaluator<ShapeType, DataType>::Type TrafoEvaluator;\n "
2421+ " enum {\n "
2422+ " domain_dim = TrafoEvaluator::domain_dim,\n "
2423+ " };\n "
2424+ " };" ;
2425+
2426+ const char expected[] = " template < typename DataType , typename SpaceType , typename TrafoConfig > class AsmTraits1 { } ;" ;
2427+ ASSERT_EQUALS (expected, tok (code));
2428+ ASSERT_EQUALS (" " , errout.str ());
2429+ }
2430+
24112431 void simplifyTypedefFunction1 () {
24122432 {
24132433 const char code[] = " typedef void (*my_func)();\n "
0 commit comments