id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13478,multi_index_container serialization of non copyable types,Sébastien Paris ,Joaquín M López Muñoz,"A multi_index container holding non-copyable types fails to serialize because of delayed insertion through {{{std::pair insert_(const Value& v,Variant variant)}}} in multi_index_container.hpp:555 happening in {{{void load(Archive& ar,const unsigned int version)}}} in multi_index_container.hpp:940 The insertion should use a rvalue reference overload moving the previously loaded value. Minimal example: {{{ template void check_serialize(Archive &ar) { using non_copyable_type = std::unique_ptr; using non_copyable_multi_index = boost::multi_index_container < non_copyable_type , boost::multi_index::indexed_by < boost::multi_index::hashed_unique < boost::multi_index::const_mem_fun < non_copyable_type , typename non_copyable_type::pointer , &non_copyable_type::get > > > >; non_copyable_multi_index mu; // fine if constexpr (Archive::is_saving::value) ar << boost::serialization::make_nvp(""mu"",mu); // fine else ar >> boost::serialization::make_nvp(""mu"",mu); // error } }}}",Bugs,closed,To Be Determined,multi_index,Boost 1.66.0,Problem,fixed,serialization non-copyable,