diff --git a/AK/HashTable.h b/AK/HashTable.h index b1cc8c0570..9f4aaf4e74 100644 --- a/AK/HashTable.h +++ b/AK/HashTable.h @@ -203,15 +203,16 @@ public: *this = HashTable(); } - HashSetResult set(T&& value) + template + HashSetResult set(U&& value) { auto& bucket = lookup_for_writing(value); if (bucket.used) { - (*bucket.slot()) = move(value); + (*bucket.slot()) = forward(value); return HashSetResult::ReplacedExistingEntry; } - new (bucket.slot()) T(move(value)); + new (bucket.slot()) T(forward(value)); bucket.used = true; if (bucket.deleted) { bucket.deleted = false; @@ -221,11 +222,6 @@ public: return HashSetResult::InsertedNewEntry; } - HashSetResult set(const T& value) - { - return set(T(value)); - } - template Iterator find(unsigned hash, Finder finder) {