// PR c++/57319 // { dg-require-effective-target c++11 } namespace N1 { struct A { }; struct B: virtual A { }; struct C: virtual B { }; struct D: C { void operator= (D &); }; } namespace N2 { struct A { A& operator=(A&&); }; struct B: virtual A { }; // { dg-warning "move assignment" } struct C: virtual B { }; // { dg-warning "move assignment" } struct D: C { void operator= (D &); }; }