Explorar o código

LibJS: Allow JS::create_heap_function to accept a lambda

This helps us avoid from needing to construct a Function<T> when
invoking `create_heap_function` with a lambda.

Co-Authored-By: Ali Mohammad Pur <mpfard@serenityos.org>
Shannon Booth hai 1 ano
pai
achega
e118430648
Modificáronse 1 ficheiros con 3 adicións e 3 borrados
  1. 3 3
      Userland/Libraries/LibJS/Heap/HeapFunction.h

+ 3 - 3
Userland/Libraries/LibJS/Heap/HeapFunction.h

@@ -41,10 +41,10 @@ private:
     Function<T> m_function;
 };
 
-template<typename T>
-static NonnullGCPtr<HeapFunction<T>> create_heap_function(Heap& heap, Function<T> function)
+template<typename Callable, typename T = EquivalentFunctionType<Callable>>
+static NonnullGCPtr<HeapFunction<T>> create_heap_function(Heap& heap, Callable&& function)
 {
-    return HeapFunction<T>::create(heap, move(function));
+    return HeapFunction<T>::create(heap, Function<T> { forward<Callable>(function) });
 }
 
 }