https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64887
Bug ID: 64887 Summary: Brace initialization of array members when move constructor is deleted or implicit. Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: cth027 at yahoo dot de Created attachment 34634 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34634&action=edit Test case 1: Failure to compile (move and copy ctors are deleted) The initialisation of member arrays of type A fail to compile when move constructor of A is deleted or implicitely defined and A has a member which is not a base type. Testcase1 fails to compile because move constructor of A is deleted. The same code compiles, when the string member of A is removed (Testcase2) or if the string member of A is replaced with an int member (Testcase3). Testcase4 fails to compile because the copy constructor of A is deleted, the move construcor being implicietly defined. The same code compiles if the move constructor is user defined (Testcase5). The bug could be related to bug 63707, but it's broader (move and not only copy constructor) and unrelated to user defined destructor.