diff --git a/include/boost/python/override.hpp b/include/boost/python/override.hpp index b6fa97a0..93496741 100755 --- a/include/boost/python/override.hpp +++ b/include/boost/python/override.hpp @@ -55,12 +55,15 @@ namespace detail } # endif -# if !defined(BOOST_MSVC) || BOOST_WORKAROUND(_MSC_FULL_VER, > 140040607) +# if defined(BOOST_MSVC) && BOOST_WORKAROUND(_MSC_FULL_VER, <= 140040607) || BOOST_WORKAROUND(BOOST_INTEL_WIN, >= 900) + // No operator T& +# else + template operator T&() const { converter::return_from_python converter; - return converter(m_obj.release()); + return converter(const_cast&>(m_obj).release()); } # endif