struct A { int x; };
template <class T> struct B: A { using T::x; }; B<A> b;this code is silly, but I think well-formed, and that your patch will break it.
I think that just changing dependent_type_p (scope) to dependent_scope_p (scope) will have the desired effect on this testcase.
Jason