[xpressive] Broken in release if explicit operator bool is available

Hi, With the recent change to Boost.SmartPtr that adds support for explicit operator bool() Boost.Xpressive no longer compiles. The relevant error message is: ./boost/xpressive/detail/utility/tracking_ptr.hpp:440:73: error: no type named ‘unspecified_bool_type’ in ‘class boost::intrusive_ptr<boost::xpressive::detail::regex_impl<const char*>
’
Could this be fixed?

On Thu, Jan 3, 2013 at 4:54 AM, Andrey Semashev <andrey.semashev@gmail.com> wrote:
Hi,
With the recent change to Boost.SmartPtr that adds support for explicit operator bool() Boost.Xpressive no longer compiles. The relevant error message is:
./boost/xpressive/detail/utility/tracking_ptr.hpp:440:73: error: no type named ‘unspecified_bool_type’ in ‘class boost::intrusive_ptr<boost::xpressive::detail::regex_impl<const char*>
’
Could this be fixed?
Another similar error: ./boost/xpressive/detail/core/matcher/regex_byref_matcher.hpp:55:13: error: cannot convert ‘const boost::intrusive_ptr<const boost::xpressive::detail::matchable_ex<const char*> >’ to ‘bool’ for argument ‘1’ to ‘bool boost::xpressive::detail::ensure_(bool, boost::xpressive::regex_constants::error_type, const char*, const char*, const char*, long unsigned int)’

With the recent change to Boost.SmartPtr that adds support for explicit operator bool() Boost.Xpressive no longer compiles. The relevant error message is:
./boost/xpressive/detail/utility/tracking_ptr.hpp:440:73: error: no type named ‘unspecified_bool_type’ in ‘class boost::intrusive_ptr<boost::xpressive::detail::regex_impl<const char*>
’
Could this be fixed?
This may be the same as an issue I filed a couple of weeks ago [1]. That has been fixed in trunk, but not merged to release yet. Regards, Nate [1] https://svn.boost.org/trac/boost/ticket/7809

On Thu, Jan 3, 2013 at 5:14 AM, Nathan Ridge <zeratul976@hotmail.com> wrote:
With the recent change to Boost.SmartPtr that adds support for explicit operator bool() Boost.Xpressive no longer compiles. The relevant error message is:
./boost/xpressive/detail/utility/tracking_ptr.hpp:440:73: error: no type named ‘unspecified_bool_type’ in ‘class boost::intrusive_ptr<boost::xpressive::detail::regex_impl<const char*>
’
Could this be fixed?
This may be the same as an issue I filed a couple of weeks ago [1]. That has been fixed in trunk, but not merged to release yet.
Yes, it seems so. Thanks for the pointer.
participants (2)
-
Andrey Semashev
-
Nathan Ridge