Dear all, we just upgrade to Boost 1.41 and get a compile error in Boost.Serialization: 1>c:\work sdk\boost_1_41_0\boost/archive/shared_ptr_helper.hpp(114) : error C2440: 'return' : cannot convert from 'const boost::serialization::extended_type_info_typeid<T>' to 'const boost::serialization::extended_type_info *' There was already a discussion about this on the newsgroup but no solution was posted: http://thread.gmane.org/gmane.comp.lib.boost.user/52384/focus=52390 The case is easy reproducable: struct Foo { //virtual ~Foo(){} }; struct Foo2 : public Foo { template <class Archive> void serialize(Archive& /*ar*/, const unsigned int /*version*/) { } }; struct Bla { template <class Archive> void serialize(Archive& ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(m_ptrFoo2); } boost::shared_ptr<Foo2> m_ptrFoo2; }; void F() { std::stringstream sstr; Bla bla; boost::archive::xml_iarchive ia(sstr); ia >> boost::serialization::make_nvp("bla", bla); } Can somebody help? Adding a virtual dtor does remove the problem (and is exactly the difference with 'test_shared_ptr.cpp') but this is unwanted. wkr