diff --git a/src/corelib/kernel/qobjectdefs_impl.h b/src/corelib/kernel/qobjectdefs_impl.h index 4158851c057..e8e33f2c1cc 100644 --- a/src/corelib/kernel/qobjectdefs_impl.h +++ b/src/corelib/kernel/qobjectdefs_impl.h @@ -504,6 +504,7 @@ namespace QtPrivate { makeSlotObject(Functor func) { using ExpectedSignature = QtPrivate::FunctionPointer; + using ExpectedReturnType = typename ExpectedSignature::ReturnType; using ExpectedArguments = typename ExpectedSignature::Arguments; using ActualSignature = QtPrivate::FunctionPointer; @@ -512,12 +513,11 @@ namespace QtPrivate { if constexpr (QtPrivate::FunctionPointer::IsPointerToMemberFunction) { using ActualArguments = typename ActualSignature::Arguments; - return new QtPrivate::QSlotObject(std::move(func)); + return new QtPrivate::QSlotObject(std::move(func)); } else { constexpr int MatchingArgumentCount = QtPrivate::countMatchingArguments(); using ActualArguments = typename QtPrivate::List_Left::Value; - - return new QtPrivate::QFunctorSlotObject(std::move(func)); + return new QtPrivate::QFunctorSlotObject(std::move(func)); } }