parameters: (filename, clean_lines, linenum, error)
docstring: Check that default lambda captures are not used.
  
    Args:
      filename: The name of the current file.
      clean_lines: A CleansedLines instance containing the file.
      linenum: The number of the line to check.
      error: The function to call with any errors found.
docstring_summary: Check that default lambda captures are not used.
docstring_tokens: Check that default lambda captures are not used .
function: def CheckDefaultLambdaCaptures(filename, clean_lines, linenum, error):
    """Check that default lambda captures are not used.
  
    Args:
      filename: The name of the current file.
      clean_lines: A CleansedLines instance containing the file.
      linenum: The number of the line to check.
      error: The function to call with any errors found.
    """
    line = clean_lines.elided[linenum]
  
    # A lambda introducer specifies a default capture if it starts with "[="
    # or if it starts with "[&" _not_ followed by an identifier.
    match = Match(r'^(.*)\[\s*(?:=|&[^\w])', line)
    if match:
      # Found a potential error, check what comes after the lambda-introducer.
      # If it's not open parenthesis (for lambda-declarator) or open brace
      # (for compound-statement), it's not a lambda.
      line, _, pos = CloseExpression(clean_lines, linenum, len(match.group(1)))
      if pos >= 0 and Match(r'^\s*[{(]', line[pos:]):
        error(filename, linenum, 'build/c++11',
              4,  # 4 = high confidence
              'Default lambda captures are an unapproved C++ feature.')
function_tokens: def CheckDefaultLambdaCaptures ( filename , clean_lines , linenum , error ) : line = clean_lines . elided [ linenum ] # A lambda introducer specifies a default capture if it starts with "[=" # or if it starts with "[&" _not_ followed by an identifier. match = Match ( r'^(.*)\[\s*(?:=|&[^\w])' , line ) if match : # Found a potential error, check what comes after the lambda-introducer. # If it's not open parenthesis (for lambda-declarator) or open brace # (for compound-statement), it's not a lambda. line , _ , pos = CloseExpression ( clean_lines , linenum , len ( match . group ( 1 ) ) ) if pos >= 0 and Match ( r'^\s*[{(]' , line [ pos : ] ) : error ( filename , linenum , 'build/c++11' , 4 , # 4 = high confidence 'Default lambda captures are an unapproved C++ feature.' )