Teach the explicit constructor check about constexpr.

If a constructor is marked constexpr it evades the explicit constructor
check right now, since the check only knows about the inline keyword.
Teach it that constexpr can be used also.
This commit is contained in:
Dana Jansens 2017-02-22 12:02:39 -05:00
parent b282a74fea
commit cf4071cf5d

3
cpplint/cpplint.py vendored
View File

@ -2779,7 +2779,8 @@ def CheckForNonStandardConstructs(filename, clean_lines, linenum,
# Look for single-argument constructors that aren't marked explicit. # Look for single-argument constructors that aren't marked explicit.
# Technically a valid construct, but against style. # Technically a valid construct, but against style.
explicit_constructor_match = Match( explicit_constructor_match = Match(
r'\s+(?:inline\s+)?(explicit\s+)?(?:inline\s+)?%s\s*' r'\s+(?:(?:inline|constexpr)\s+)*(explicit\s+)?'
r'(?:(?:inline|constexpr)\s+)*%s\s*'
r'\(((?:[^()]|\([^()]*\))*)\)' r'\(((?:[^()]|\([^()]*\))*)\)'
% re.escape(base_classname), % re.escape(base_classname),
line) line)