diff --git a/libs/util/include/psemek/util/function.hpp b/libs/util/include/psemek/util/function.hpp index 06e5041d..15f8a458 100644 --- a/libs/util/include/psemek/util/function.hpp +++ b/libs/util/include/psemek/util/function.hpp @@ -175,7 +175,7 @@ namespace psemek::util if constexpr (uses_static_storage::value) { - new (reinterpret_cast(&storage_)) T(std::move(f)); + new (reinterpret_cast(&storage_)) T(std::forward(f)); static vtable m = { [](void * src, void * dst){ new (reinterpret_cast(dst)) T(std::move(*reinterpret_cast(src))); }, @@ -187,7 +187,7 @@ namespace psemek::util } else { - *reinterpret_cast(&storage_) = new T(std::move(f)); + *reinterpret_cast(&storage_) = new T(std::forward(f)); static vtable m = { [](void * src, void * dst){ *reinterpret_cast(dst) = *reinterpret_cast(src); *reinterpret_cast(src) = nullptr; },