| Index: cpplint.py
|
| diff --git a/cpplint.py b/cpplint.py
|
| index ccc25d4c56b1a85391742c90c928f179b142d085..b2054ae69ca4e43058944427c43acc381b16f276 100755
|
| --- a/cpplint.py
|
| +++ b/cpplint.py
|
| @@ -5645,8 +5645,13 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error,
|
| continue
|
|
|
| for pattern, template, header in _re_pattern_templates:
|
| - if pattern.search(line):
|
| - required[header] = (linenum, template)
|
| + matched = pattern.search(line)
|
| + if matched:
|
| + # Don't warn about IWYU in non-STL namespaces:
|
| + # (We check only the first match per line; good enough.)
|
| + prefix = line[:matched.start()]
|
| + if prefix.endswith('std::') or not prefix.endswith('::'):
|
| + required[header] = (linenum, template)
|
|
|
| # The policy is that if you #include something in foo.h you don't need to
|
| # include it again in foo.cc. Here, we will look at possible includes.
|
|
|