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.

Reply via email to