From 42260d4d7d9967d712dafa383f6238641ad92ef6 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Thu, 6 Mar 2025 18:15:57 +0300 Subject: [PATCH] Replace template operator() of util::function with a fixed-arg version to put all implicit conversions & list initializations to the actual call site --- libs/util/include/psemek/util/function.hpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libs/util/include/psemek/util/function.hpp b/libs/util/include/psemek/util/function.hpp index f9cbea95..c96a8a62 100644 --- a/libs/util/include/psemek/util/function.hpp +++ b/libs/util/include/psemek/util/function.hpp @@ -74,8 +74,7 @@ namespace psemek::util return static_cast(vtable_); } - template - R operator()(Args1 && ... args) const; + R operator()(Args ... args) const; void reset(); @@ -168,13 +167,12 @@ namespace psemek::util } template - template - R function::operator()(Args1 && ... args) const + R function::operator()(Args ... args) const { if (!vtable_) throw empty_function_error{}; - return vtable_->call(const_cast(static_cast(&storage_)), std::forward(args)...); + return vtable_->call(const_cast(static_cast(&storage_)), std::forward(args)...); } template