Some newly introduced tests in 23_containers/unordered_map/cons/default.cc revealed that we are forcing the allocator type to have a operator==. It can be avoided by checking allocator_traits::is_always_equal.     libstdc++: [_GLIBCXX_DEBUG] Avoid allocator operator== when always equal     Use std::allocator_traits::is_always_equal to find out if we need to compare     allocator instances on safe container allocator aware move constructor.     libstdc++-v3/ChangeLog:             * include/debug/safe_container.h             (_Safe_container(_Safe_container&&, const _Alloc&, std::true_type)): New.             (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)): New.             (_Safe_container(_Safe_container&&, const _Alloc&)): Use latters. Tested under Linux x86 Debug mode. Ok to commit ? François