Opened 4 years ago

#13573 new Bugs

container/detail/flat_tree.hpp should not #include <boost/move/make_unique.hpp>

Reported by: huili80@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: container
Version: Boost 1.64.0 Severity: Showstopper
Keywords: Cc:

Description

Code that uses boost::container::flap_map fails to compile on gcc4.8.5 with -std=c++1 when BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE is defined, with the following compile error:

boost/move/unique_ptr.hpp: In constructor 'boost::movelib::unique_ptr<T, D>::unique_ptr(boost::movelib::unique_ptr<T, D>&&)': boost/move/unique_ptr.hpp:528:29: error: 'move_if_not_lvalue_reference' is not a member of 'boost'

: m_data(u.release(), ::boost::move_if_not_lvalue_reference<D>(u.get_deleter()))

boost/move/unique_ptr.hpp:528:68: error: expected primary-expression before '>' token

: m_data(u.release(), ::boost::move_if_not_lvalue_reference<D>(u.get_deleter()))

I was able to workaround this by passing in -DBOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED on the commandline to gcc, which effectively inhibits boost/move/make_unique.hpp from being included.

The fact the above workaround worked at all seems to suggest that container/detail/flat_tree.hpp has no dependency on boost/move/make_unique.hpp.

Change History (0)

Note: See TracTickets for help on using tickets.