Se lanzó la versión de IWYU (o include-what-you-use), un programa que permite encontrar #include redundantes y proponer los que faltan en su código en C/C++.
«Incluir lo que usas» significa lo siguiente: para cada símbolo (tipo, variable, función o macro) utilizado en foo.cc, ya sea foo.cc o foo.h deben incluir el archivo .h que exporta la declaración de ese símbolo. La herramienta include-what-you-use es un programa para analizar los #include de los archivos fuente con el fin de detectar violaciones de este enfoque y proporcionar recomendaciones para corregirlas. El programa utiliza bibliotecas de Clang y generalmente una nueva versión significa compatibilidad con la nueva versión de Clang.
El objetivo principal de include-what-you-use es eliminar los #include innecesarios. Para ello, es necesario averiguar qué #include no son necesarios en un archivo dado (tanto para .cc como para .h) y, si es posible, reemplazar #include por una declaración previa.
Principales cambios
- Compatibilidad con Clang 17.
- Mejora en el análisis de alias de tipos (typedef y using).
- Mejora en el análisis de alias de espacios de nombres (namespace xyz = foobar).
- Mejora en el soporte para declaraciones previas expandidas (typedef struct Foo Bar;).
- Mejorar el manejo de los «autocasts» y tipos de retorno de funciones, especialmente al trabajar con tipos plantilla complejos.
- Se agregó una nueva pragma IWYU: always_keep, que permite marcar el encabezado para que siempre se mantenga, donde sea que se incluya.
- Uso automático de coincidencias para builtins libc++, si libc++ es la biblioteca estándar activa.
- Mejoras en las coincidencias para encabezados libc++ y posix.
Fuente: linux.org.ru
