
In 1.33.0 split_member uses: template<class Archive, class T> struct member_saver { static void invoke( Archive & ar, const T & t, const unsigned int file_version ){ access::member_save(ar, t, file_version); } }; And member_save looks like: template<class Archive, class T> static void member_save( Archive & ar, //const T & t, T & t, const unsigned int file_version ){ t.save(ar, file_version); } So the compiler complains about converting a const T to a non const T. It's curious that the source has the const T& in member_save commented out. Is there a workaround for this? Or is it planned to be fixed in the next release?