While other compilers don't seem to have trouble with this, the latest NDK (27) compiler does. That compiler diagnoses the empty-pack case, even though in that case there is no actual use of declval, as the pack-expanded expression contains no use of declval. For other compilers, that may work for functions that have no arguments, but will not work for any function that does have arguments; in that case, the attempt to use declval will always be ill-formed, and there will be an attempt to use declval. The fix is straightforward; we have a Ret(*)(Args...), its return type is simply Ret. So use a simple trait instead of the result of a call. Task-number: QTBUG-127468 Change-Id: I0dc9e1201914ab94acc2940870be7c6d8cb16c12 Pick-to: 6.7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 236c6ec6f4c777d0534539f1c293cfc74006a6eb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%