@@ -873,7 +873,7 @@ namespace hud
873873 }
874874
875875 template <typename u_storage_t , typename u_hasher_t , typename u_key_equal_t , typename u_allocator_t >
876- requires (hud::is_copy_constructible_v<slot_type>)
876+ requires (hud::is_copy_constructible_v<slot_type, typename hashset_impl< u_storage_t , u_hasher_t , u_key_equal_t , u_allocator_t >::slot_type >)
877877 constexpr hashset_impl &operator =(const hashset_impl<u_storage_t , u_hasher_t , u_key_equal_t , u_allocator_t > &other) noexcept
878878 {
879879 copy_assign (other);
@@ -891,16 +891,16 @@ namespace hud
891891 {
892892 if (this != &other)
893893 {
894- move_assign (other);
894+ move_assign (hud::move ( other) );
895895 }
896896 return *this ;
897897 }
898898
899899 template <typename u_storage_t , typename u_hasher_t , typename u_key_equal_t , typename u_allocator_t >
900- requires (hud::is_move_constructible_v<slot_type>)
900+ requires (hud::is_move_constructible_v<slot_type, typename hashset_impl< u_storage_t , u_hasher_t , u_key_equal_t , u_allocator_t >::slot_type >)
901901 constexpr hashset_impl &operator =(hashset_impl<u_storage_t , u_hasher_t , u_key_equal_t , u_allocator_t > &&other) noexcept
902902 {
903- move_assign (other);
903+ move_assign (hud::forward<hashset_impl< u_storage_t , u_hasher_t , u_key_equal_t , u_allocator_t >>( other) );
904904 return *this ;
905905 }
906906
@@ -1475,8 +1475,7 @@ namespace hud
14751475 }
14761476 }
14771477
1478- [[nodiscard]] constexpr usize
1479- free_slot_before_grow () const noexcept
1478+ [[nodiscard]] constexpr usize free_slot_before_grow () const noexcept
14801479 {
14811480 return free_slot_before_grow_;
14821481 }
0 commit comments