diff --git a/doc/container.qbk b/doc/container.qbk index d7b8a1a..7b571dd 100644 --- a/doc/container.qbk +++ b/doc/container.qbk @@ -1413,6 +1413,7 @@ use [*Boost.Container]? There are several reasons for that: * Fixed bugs/issues: * [@https://github.com/boostorg/container/issues/232 GitHub #232: ['"Fix using pmr::polymorphic_allocator in pre-main"]]. + * [@https://github.com/boostorg/container/issues/236 GitHub #236: ['"flat_tree::erase_unique uses wrong iterator"]]. [endsect] diff --git a/include/boost/container/detail/flat_tree.hpp b/include/boost/container/detail/flat_tree.hpp index 6271974..3c20b56 100644 --- a/include/boost/container/detail/flat_tree.hpp +++ b/include/boost/container/detail/flat_tree.hpp @@ -1129,8 +1129,8 @@ class flat_tree size_type erase_unique(const key_type& k) { - iterator i = this->find(k); - size_type ret = static_cast(i != this->end()); + const_iterator i = static_cast(*this).find(k); + size_type ret = static_cast(i != this->cend()); if (ret) this->erase(i); return ret;