Opened 4 years ago
#13573 new Bugs
container/detail/flat_tree.hpp should not #include <boost/move/make_unique.hpp>
Reported by: | 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.