1 // Basic runtime test for implicit move constructor
3 // { dg-options -std=c++0x }
11 A& operator=(A&&) { ++m; return *this; }
19 B& operator=(const B&);
20 B& operator=(B&&) { ++m; return *this; }
29 C& operator=(C&&) { ++m; return *this; }
32 struct D: public A, public B
38 struct E: public A, public B
44 E& operator=(E&&) = default;
50 D d2 (static_cast<D&&>(d1));
51 d1 = static_cast<D&&>(d2);
53 E e2 (static_cast<E&&>(e1));
54 e1 = static_cast<E&&>(e2);