C and C++


LANG.LAMBDA.MPL : Lambda Has No Parameter List

Summary

A lambda expression does not include a parameter list.

Properties

Class Name Lambda Has No Parameter List
Significance style
Mnemonic LANG.LAMBDA.MPL
Categories
AUTOSARC++14 AUTOSARC++14:A5-1-3 Parameter list (possibly empty) shall be included in every lambda expression.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default, and require the unnormalized C ASTs for the project. To enable them, add the following WARNING_FILTER rule and RETAIN_UNNORMALIZED_C_AST specification to the project configuration file.
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="Lambda Has No Parameter List"
Note that retaining the unnormalized ASTs will increase the disk space used to store the project representation, and may make the analysis take longer.

Example

int lambdaparam(int i){
   int x = 0;
   auto lambda_noparam_noargs = [&x]{x++;};  // 'Lambda Has No Parameter List' warning issued here

   auto lambda_param_noargs = [&x](){x++;};                   // ok: includes parameter list

   lambda_noparam_noargs();
   lambda_param_noargs();

   return x;
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.