diff --git a/AK/DefaultDelete.h b/AK/DefaultDelete.h deleted file mode 100644 index be13a1018c..0000000000 --- a/AK/DefaultDelete.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2022, the SerenityOS developers. - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -namespace AK { - -template -struct DefaultDelete { - constexpr DefaultDelete() = default; - - constexpr void operator()(T* t) - { - delete t; - } -}; - -template -struct DefaultDelete { - constexpr DefaultDelete() = default; - - constexpr void operator()(T* t) - { - delete[] t; - } -}; - -} - -#ifdef USING_AK_GLOBALLY -using AK::DefaultDelete; -#endif diff --git a/AK/Forward.h b/AK/Forward.h index a9e234e2cd..d88397d236 100644 --- a/AK/Forward.h +++ b/AK/Forward.h @@ -6,7 +6,6 @@ #pragma once -#include #include #include #include @@ -148,7 +147,7 @@ class Optional; template class RefPtr; -template> +template class OwnPtr; template diff --git a/AK/OwnPtr.h b/AK/OwnPtr.h index da72e5c2b7..52277cd825 100644 --- a/AK/OwnPtr.h +++ b/AK/OwnPtr.h @@ -15,7 +15,7 @@ namespace AK { -template +template class [[nodiscard]] OwnPtr { public: OwnPtr() = default; @@ -107,7 +107,7 @@ public: void clear() { auto* ptr = exchange(m_ptr, nullptr); - TDeleter {}(ptr); + delete ptr; } bool operator!() const { return !m_ptr; } diff --git a/Tests/AK/TestOwnPtr.cpp b/Tests/AK/TestOwnPtr.cpp index 1f73fbac8a..206f8c9e23 100644 --- a/Tests/AK/TestOwnPtr.cpp +++ b/Tests/AK/TestOwnPtr.cpp @@ -8,20 +8,6 @@ #include -static u64 deleter_call_count = 0; - -TEST_CASE(should_call_custom_deleter) -{ - auto deleter = [](auto* p) { if (p) ++deleter_call_count; }; - auto ptr = OwnPtr {}; - ptr.clear(); - EXPECT_EQ(0u, deleter_call_count); - ptr = adopt_own_if_nonnull(&deleter_call_count); - EXPECT_EQ(0u, deleter_call_count); - ptr.clear(); - EXPECT_EQ(1u, deleter_call_count); -} - TEST_CASE(destroy_self_owning_object) { struct SelfOwning {