https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63707
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> --- Testcase from PR 70395 struct NonCopyable { NonCopyable(const NonCopyable&) = delete; NonCopyable(NonCopyable&&) = delete; NonCopyable& operator=(const NonCopyable&) = delete; NonCopyable& operator=(NonCopyable&&) = delete; NonCopyable() {} ~NonCopyable() {} // to make it non-trivial }; struct A { A(): _a{} {} ~A() {} NonCopyable _a[5]; } a;