Foi lançado o IWYU (ou include-what-you-use), um programa que permite encontrar redundância e sugerir #includes ausentes em seu código C/C++.
"Incluir o que você usa" significa que para cada símbolo (tipo, variável, função ou macro) usado em foo.cc, foo.cc ou foo.h deve incluir um arquivo .h que exporte a declaração desse símbolo. A ferramenta inclua o que você usa é um programa para analisar arquivos de origem #include para encontrar violações dessa abordagem e fazer recomendações para correção. O programa usa as bibliotecas Clang e geralmente um lançamento significa compatibilidade com uma nova versão do Clang.
O principal objetivo de incluir o que você usa é remover #includes desnecessários. Para fazer isso, você precisa descobrir quais #includes não são necessários em um determinado arquivo (tanto para .cc quanto para .h) e, se possível, substituir o #include por uma pré-declaração.
Mudanças importantes
- Compatível com Clang 17.
- Análise aprimorada de aliases de tipo (typedef e using).
- Análise aprimorada de aliases de namespace (namespace xyz = foobar).
- Suporte aprimorado para declarações futuras expandidas (typedef struct Foo Bar;).
- Melhore o manuseio de "autocast" e tipos de retorno de função, especialmente ao trabalhar com tipos de modelos complexos.
- Adicionado um novo pragma IWYU: Always_keep para marcar um cabeçalho que sempre deve ser mantido onde quer que esteja incluído.
- Use automaticamente mapeamentos para libc++ integrados se libc++ for a biblioteca padrão ativa.
- Mapeamentos aprimorados para cabeçalhos libc++ e posix.
Fonte: linux.org.ru