[Bug libstdc++/97912] Get rid of location-invariant requirement in std::function small object optimisation

2021-08-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97912

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||ABI
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Last reconfirmed||2021-08-31

[Bug libstdc++/97912] Get rid of location-invariant requirement in std::function small object optimisation

2020-11-19 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97912

--- Comment #1 from Jonathan Wakely  ---
(In reply to Jonathan Wakely from comment #0)
> It would be good to remove the trivially copyable requirement, and store any
> type of suitable size and alignment to fit in the buffer.

Well, we'd still require nothrow move constructible. So not *any* type.