This seems problematic to me; it could be that a dependent scope ends up matching a non-dependent base in the end, i.e.

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

Reply via email to