Skip to content

Include What You Use #8357

@vkucera

Description

@vkucera

Include What You Use (no more, no less)

References:

Tools:

Ideas:

  • A file which does not include what it uses does not compile. This can be tested with:
    clang-tidy <file>
    (It should be enough to check for non-zero exit code to detect compilation errors.)
    However, if it compiles, it does not mean that all used headers are included directly nor that no unused headers are included.
  • When the file compiles, the includes in it can be fixed automatically with:
    clang-tidy --fix -checks=-*,misc-include-cleaner <file>
    until there are no warnings left.
  • Once all headers are self-contained, source files can be fixed with the same procedure.

Metadata

Metadata

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions