1 // PR c++/66583 2 // { dg-do run { target c++11 } } 3 4 template <class T> move(T & t)5T&& move(T& t) { return static_cast<T&&>(t); } 6 7 struct A { AA8 A() { }; AA9 A(const A&) { } 10 }; 11 12 struct B { 13 union { 14 int m_1 = 0; 15 int m_2; 16 }; 17 A dummy; 18 }; 19 main()20int main() 21 { 22 B b; 23 b.m_1 = 1; 24 B c = move(b); 25 if (c.m_1 != 1) 26 __builtin_abort(); 27 } 28