Byla vydána verze IWYU (nebo include-what-you-use), programu, který umožňuje identifikovat nadbytečné a navrhovat chybějící #include ve vašem kódu v C/C++.
„Zahrnout, co používáš“ znamená, že pro každý symbol (typ, proměnnou, funkci nebo makro) používaný ve foo.cc musí buď foo.cc, nebo foo.h zahrnovat .h soubor, který exportuje deklaraci tohoto symbolu. Nástroj include-what-you-use je program pro analýzu #include zdrojových souborů, který hledá porušení tohoto přístupu a poskytuje doporučení pro opravu. Program využívá knihovny Clang a obvykle nová verze znamená kompatibilitu s novou verzí Clang.
Hlavním cílem include-what-you-use je odstranění zbytečných #include. K tomu je třeba určit, které #include nejsou potřebné v daném souboru (jak pro .cc, tak pro .h), a pokud je to možné, nahradit #include předběžnou deklarací.
Hlavní změny
- Kompatibilita s Clang 17.
- Zlepšena analýza typových aliasů (typedef a using).
- Zlepšena analýza aliasů názvových prostorů (namespace xyz = foobar).
- Zlepšena podpora rozvinutých předběžných deklarací (typedef struct Foo Bar;).
- Zlepšit zpracování „autokonverzí“ a návratových typů funkcí, zejména při práci se složitými šablonovými typy.
- Přidána nová pragma IWYU: always_keep, umožňující označit hlavičku, aby byla vždy zachována, ať už je zahrnuta kdekoli.
- Automatické použití mapování pro builtins libc++, pokud je libc++ aktivní standardní knihovna.
- Zlepšení mapování pro hlavičky libc++ a posix.
Zdroj: linux.org.ru
