// Origin: PR c++/47666 // { dg-do compile } template struct A { int a; }; template struct B : public A { }; class D : public B { virtual D & operator= (const D &); }; class E : virtual public D { }; class F : public E { virtual void foo (); };