diff --git a/Libraries/LibGC/Function.h b/Libraries/LibGC/Function.h index c7138cd027..9da12b1753 100644 --- a/Libraries/LibGC/Function.h +++ b/Libraries/LibGC/Function.h @@ -18,6 +18,8 @@ class Function final : public Cell { GC_DECLARE_ALLOCATOR(Function); public: + static constexpr bool OVERRIDES_FINALIZE = true; + static Ref create(Heap& heap, ESCAPING AK::Function&& function) { return heap.allocate(move(function)); @@ -25,6 +27,12 @@ public: virtual ~Function() override = default; + virtual void finalize() override + { + Base::finalize(); + m_function = nullptr; + } + [[nodiscard]] AK::Function const& function() const { return m_function; } private: