1 template <typename T, bool=T::X> struct A 2 { 3 int i; 4 }; 5 6 template <typename T> struct B : A<T> // { dg-error "incomplete" } 7 { 8 using A<T>::i; // { dg-error "incomplete" "incomplete" } 9 }; 10 11 B<void> b; // { dg-message "required" } 12