https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94062
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- Further reduced: struct Bar1 { Bar1(Bar1&&) = delete; }; struct Foo1 { operator Bar1() const; }; struct tuple : Bar1 { tuple() : Bar1(Foo1{}) { } }; tuple t; elide.cc: In constructor 'tuple::tuple()': elide.cc:13:24: error: use of deleted function 'Bar1::Bar1(Bar1&&)' 13 | tuple() : Bar1(Foo1{}) { } | ^ elide.cc:3:3: note: declared here 3 | Bar1(Bar1&&) = delete; | ^~~~ But I think this may be another instance of PR 82113 and elision shouldn't be done here.