From df37c35aa443e6ca7e3baad5f1bbeb379063df55 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sun, 22 Jan 2023 17:43:49 +0100 Subject: Task: Add static assert for then function --- src/base/QXmppTask.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/base/QXmppTask.h') diff --git a/src/base/QXmppTask.h b/src/base/QXmppTask.h index c11557ac..141cf10e 100644 --- a/src/base/QXmppTask.h +++ b/src/base/QXmppTask.h @@ -104,10 +104,11 @@ public: #endif void then(QObject *context, Continuation continuation) { - static_assert( - std::is_void_v && std::is_invocable_v || - !std::is_void_v /* && invocable with T && causes forming ref to void error */, - "Function needs to be invocable with T && or without params for T=void."); + if constexpr (!std::is_void_v) { + static_assert(std::is_invocable_v, "Function needs to be invocable with T &&."); + } else { + static_assert(std::is_invocable_v, "Function needs to be invocable without arguments."); + } using namespace QXmpp::Private; if (d.isFinished()) { -- cgit v1.2.3