diff --git a/cpplint.py b/cpplint.py index 0d4a799d5..2e95327a2 100755 --- a/cpplint.py +++ b/cpplint.py @@ -3162,10 +3162,10 @@ def CheckSpacing(filename, clean_lines, linenum, nesting_state, error): line = clean_lines.elided[linenum] # You shouldn't have spaces before your brackets, except maybe after - # 'delete []' or 'return []() {};', or in the case of c++ attributes - # like 'class [[clang::lto_visibility_public]] MyClass'. + # 'delete []', 'return []() {};', 'auto [abc, ...] = ...;' or in the case of + # c++ attributes like 'class [[clang::lto_visibility_public]] MyClass'. if (Search(r'\w\s+\[', line) - and not Search(r'(?:delete|return)\s+\[', line) + and not Search(r'(?:auto&?|delete|return)\s+\[', line) and not Search(r'\s+\[\[', line)): error(filename, linenum, 'whitespace/braces', 5, 'Extra space before [')