1 // Basic runtime test for implicit move constructor
2 // { dg-do run { target c++11 } }
10 A& operator=(A&&) { ++m; return *this; }
18 B& operator=(const B&);
19 B& operator=(B&&) { ++m; return *this; }
28 C& operator=(C&&) { ++m; return *this; }
31 struct D: public A, public B
37 struct E: public A, public B
43 E& operator=(E&&) = default;
49 D d2 (static_cast<D&&>(d1));
50 d1 = static_cast<D&&>(d2);
52 E e2 (static_cast<E&&>(e1));
53 e1 = static_cast<E&&>(e2);