template struct A { int i; }; template struct B : A // { dg-error "incomplete" } { using A::i; // { dg-error "incomplete" "incomplete" } // { dg-error "using" "using" { target *-*-* } 8 } }; B b; // { dg-message "instantiated" }