[Boost-bugs] [Boost C++ Libraries] #13573: container/detail/flat_tree.hpp should not #include <boost/move/make_unique.hpp>

Subject: [Boost-bugs] [Boost C++ Libraries] #13573: container/detail/flat_tree.hpp should not #include <boost/move/make_unique.hpp>
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-05-23 14:38:52


#13573: container/detail/flat_tree.hpp should not #include
<boost/move/make_unique.hpp>
------------------------------+---------------------------
 Reporter: huili80@… | Owner: Ion Gaztañaga
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: container
  Version: Boost 1.64.0 | Severity: Showstopper
 Keywords: |
------------------------------+---------------------------
 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.

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13573>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2018-05-23 14:44:15 UTC