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

--- Comment #2 from Filip Gawin <filip.gawin at zoho dot com> ---
(In reply to ensadc from comment #1)
> > dynamicParts[mf->getName()] = std::move(part);
> 
> operator[] calls the default constructor of the mapped_type (which seems to
> be `VehicleObject::Part` in this case), and since the mapped_type does not
> have a default constructor, this of course fails. I don't think this is a
> bug.

I've badly described it. 

Main problem is - why 
```
dynamicParts.insert({mf->getName(),
                         {mf, normal, damage, nullptr, nullptr, nullptr, false,
                          0.f, 0.f, 0.f}});
                         std::move(part)});
``` 
works in newer compilers, but not in gcc 6.x.x.

Reply via email to