From 56c6612598a07514a65ad5c0b25d12d1fc966e4c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tomasz=20Kami=C5=84ski?= Date: Thu, 4 Dec 2025 15:28:00 +0100 Subject: [PATCH] libstdc++: Fix debug mode for unordered containers. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The r16-5845-g8a2e6590cc4a2f changed the _Safe_container copy-assignment to delegate to assignment of the _Base. However, _Safe_unordered_container_base was not updated, and due the presence of move constructor, it's assignments are deleted, causing hard error for assignment of any unordered container. libstdc++-v3/ChangeLog: * include/debug/safe_unordered_base.h (_Safe_unordered_container_base::operator=): Define as defaulted, inherit behavior of _Safe_sequence_base. Reviewed-by: Jonathan Wakely Signed-off-by: Tomasz Kamiński --- libstdc++-v3/include/debug/safe_unordered_base.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libstdc++-v3/include/debug/safe_unordered_base.h b/libstdc++-v3/include/debug/safe_unordered_base.h index 55cf581e315..c7b98a53e74 100644 --- a/libstdc++-v3/include/debug/safe_unordered_base.h +++ b/libstdc++-v3/include/debug/safe_unordered_base.h @@ -162,6 +162,12 @@ namespace __gnu_debug : _Safe_unordered_container_base() { this->_M_swap(__x); } + _Safe_unordered_container_base& + operator=(_Safe_unordered_container_base const&) = default; + + _Safe_unordered_container_base& + operator=(_Safe_unordered_container_base&&) = default; + /** Notify all iterators that reference this container that the container is being destroyed. */ ~_Safe_unordered_container_base() noexcept -- 2.47.3