1 // { dg-additional-options "-Wshadow=compatible-local" } 2 3 // pr c++/82424 we were trying to convert between dependent types. 4 template <typename T> class a 5 { 6 struct b; 7 template <typename, typename> void c (); 8 }; 9 template <typename T> 10 template <typename, typename> 11 void c()12a<T>::c () 13 { 14 typedef typename T::b b; // Don't go looking inside the typename 15 T thing; 16 { 17 T thing; // { dg-warning "shadows a previous local" } 18 } 19 } 20 21