https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105683

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
It is calling the copy constructor (which you missed in your comment):
  value(const value& other) noexcept : v{other.v}
  {
  }


Which is called via:

    inline value_variant_type::value_variant_type(const
std::vector<ossia::value>& v) : m_type{Type8}
    {
      new (&m_impl.m_value8) std::vector<ossia::value>(v);
    }

inline ossia::value init_value(ossia::val_type type)
{
...
      return std::vector<ossia::value>{};
}


I am thinking there is a constructor that is not being elided here.

Reply via email to