id summary reporter owner description type status milestone component version severity resolution keywords cc 11208 Swapping allocators does not use ADL Alex Merry Jan Gaspar "boost::circular buffer has issues when using it with Boost.Interprocess, due to attempting to use std::swap on the allocators. Specifically: {{{#!cpp void swap_allocator(circular_buffer& cb, const false_type&) { std::swap(m_alloc, cb.m_alloc); } }}} does not allow ADL to find the correct swap implementation. This can be worked around by specializing std::swap, but this is not ideal, and leads to some compile issues on OSX with Clang. The correct implementation would look like {{{#!cpp void swap_allocator(circular_buffer& cb, const false_type&) { using std::swap; swap(m_alloc, cb.m_alloc); } }}}" Bugs new Boost 1.59.0 circular_buffer Boost 1.58.0 Problem