https://gcc.gnu.org/g:56c6612598a07514a65ad5c0b25d12d1fc966e4c

commit r16-5889-g56c6612598a07514a65ad5c0b25d12d1fc966e4c
Author: Tomasz Kamiński <[email protected]>
Date:   Thu Dec 4 15:28:00 2025 +0100

    libstdc++: Fix debug mode for unordered containers.
    
    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 <[email protected]>
    Signed-off-by: Tomasz Kamiński <[email protected]>

Diff:
---
 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 55cf581e315e..c7b98a53e743 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

Reply via email to