diff --git a/include/boost/python/converter/wrapper.hpp b/include/boost/python/converter/wrapper.hpp index aba0d17a..ada5e8cb 100644 --- a/include/boost/python/converter/wrapper.hpp +++ b/include/boost/python/converter/wrapper.hpp @@ -54,8 +54,9 @@ wrapper::wrapper() template PyObject* wrapper::do_conversion(wrap_base const& handle_, source_holder_base const& data_) const { - wrap_more_ const& handle = static_cast const&>(handle_); - source_holder const& data = static_cast const&>(data_); + // Casting pointers instead of references suppresses a CWPro7 bug. + wrap_more_ const& handle = *static_cast const*>(&handle_); + source_holder const& data = *static_cast const*>(&data_); if (handle.target() == 0) { handle.hold_result(convert(data.value));