@@ -426,7 +426,7 @@ namespace cwg224 { // cwg224: 16
426426 A::type a;
427427 A<T>::type b;
428428 A<T*>::type c;
429- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T *>::type'; implicit 'typename' is a C++20 extension}}
429+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T *>::type' is a C++20 extension}}
430430 ::cwg224::example1::A<T>::type d;
431431
432432 class B {
@@ -435,13 +435,13 @@ namespace cwg224 { // cwg224: 16
435435 A::type a;
436436 A<T>::type b;
437437 A<T*>::type c;
438- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T *>::type'; implicit 'typename' is a C++20 extension}}
438+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T *>::type' is a C++20 extension}}
439439 ::cwg224::example1::A<T>::type d;
440440
441441 B::type e;
442442 A<T>::B::type f;
443443 A<T*>::B::type g;
444- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T *>::B::type'; implicit 'typename' is a C++20 extension}}
444+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T *>::B::type' is a C++20 extension}}
445445 typename A<T*>::B::type h;
446446 };
447447 };
@@ -450,25 +450,25 @@ namespace cwg224 { // cwg224: 16
450450 typedef int type;
451451 A<T*>::type a;
452452 A<T>::type b;
453- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T>::type'; implicit 'typename' is a C++20 extension}}
453+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'A<T>::type' is a C++20 extension}}
454454 };
455455
456456 template <class T1 , class T2 , int I> struct B {
457457 typedef int type;
458458 B<T1, T2, I>::type b1;
459459 B<T2, T1, I>::type b2;
460- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<T2, T1, I>::type'; implicit 'typename' is a C++20 extension}}
460+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<T2, T1, I>::type' is a C++20 extension}}
461461
462462 typedef T1 my_T1;
463463 static const int my_I = I;
464464 static const int my_I2 = I+0 ;
465465 static const int my_I3 = my_I;
466466 B<my_T1, T2, my_I>::type b3;
467- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<my_T1, T2, my_I>::type'; implicit 'typename' is a C++20 extension}}
467+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<my_T1, T2, my_I>::type' is a C++20 extension}}
468468 B<my_T1, T2, my_I2>::type b4;
469- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<my_T1, T2, my_I2>::type'; implicit 'typename' is a C++20 extension}}
469+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<my_T1, T2, my_I2>::type' is a C++20 extension}}
470470 B<my_T1, T2, my_I3>::type b5;
471- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<my_T1, T2, my_I3>::type'; implicit 'typename' is a C++20 extension}}
471+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'B<my_T1, T2, my_I3>::type' is a C++20 extension}}
472472 };
473473 }
474474
@@ -480,7 +480,7 @@ namespace cwg224 { // cwg224: 16
480480 X<A::i, char >::type x;
481481 X<A<T>::i, double >::type y;
482482 X<A<T*>::i, long >::type z;
483- // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'X<A<T *>::i, long>::type'; implicit 'typename' is a C++20 extension}}
483+ // cxx98-17-error@-1 {{missing 'typename' prior to dependent type name 'X<A<T *>::i, long>::type' is a C++20 extension}}
484484 int f ();
485485 };
486486 template <class T > int A<T>::f() {
0 commit comments