Skip to content

Investigate and fix clang-tidy include-what-you-use violations for system headers #192

@coderabbitai

Description

@coderabbitai

Problem

The CI is failing due to clang-tidy include-what-you-use violations where system headers are being used without being explicitly included. This issue has been observed with multiple system headers, not just <type_traits>.

Current Observations

Hypothesis

The root cause might be that when a system header is imported through another system header (transitive inclusion), clang-tidy's include-what-you-use check might not require the former to be explicitly included. However, this behavior may be inconsistent or dependent on specific configurations.

Required Work

  1. Investigate the scope: Conduct a comprehensive audit of all files to identify similar violations across the codebase
  2. Test the hypothesis: Experiment with different system headers to verify if transitive inclusion affects clang-tidy's requirements
  3. Fix violations: Add explicit includes for all system headers that are being used directly
  4. Document findings: Update coding guidelines if patterns are discovered

Related

Assignee

@sitaowang1998

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions