Opened 7 years ago

Closed 7 years ago

#11555 closed Bugs (fixed)

devector.hpp assumes allocator_traits_type is always present

Reported by: John Maddock Owned by: viboes
Milestone: Boost 1.60.0 Component: thread
Version: Boost Release Branch Severity: Problem
Keywords: Cc:

Description

Many tests fail with Oracle C++ because devector has:

      devector& operator=(BOOST_RV_REF(devector) x)
         BOOST_NOEXCEPT_IF(vector<T>::allocator_traits_type::propagate_on_container_move_assignment::value)

I suspect use of vector here needs to be namespace qualified to avoid confusion with std::vector, as Oracle C++ outputs:

"../../../boost/thread/csbl/devector.hpp", line 61: Error: allocator_traits_type is not a member of std::vector<boost::detail::nullary_function<void()> >.

However, there's another issue, the code in <boost/thread/csbl/vector.hpp> can be configured to really use std::vector here (I haven't checked if that's the case with Oracle C++), and clearly std::vector has no such member.

Change History (3)

comment:1 by viboes, 7 years ago

Owner: changed from Anthony Williams to viboes
Status: newassigned

comment:2 by viboes, 7 years ago

Right, it seems that vector<T>::allocator_traits_type::propagate_on_container_move_assignment::value is specific to Boost.Container :(

I will fix both soon.

comment:3 by viboes, 7 years ago

Milestone: To Be DeterminedBoost 1.60.0
Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.