De release van IWYU (of include-what-you-use) is uit, een programma dat je in staat stelt om overtollige #include's te vinden en ontbrekende #include's in je C/C++-code voor te stellen.
‘Include what you use’ betekent het volgende: voor elk symbool (type, variabele, functie of macro) dat in foo.cc wordt gebruikt, moet ofwel foo.cc of foo.h de .h-bestand bevatten dat de declaratie van dat symbool exporteert. Het include-what-you-use hulpmiddel is een programma voor het analyseren van de #include van bronbestanden met de bedoeling om overtredingen van deze aanpak te vinden en aanbevelingen voor correctie te geven. Het programma maakt gebruik van de Clang-bibliotheken en de release duidt meestal op compatibiliteit met de nieuwste versie van Clang.
Het belangrijkste doel van include-what-you-use is het verwijderen van overbodige #include's. Hiervoor is het nodig om te bepalen welke #include's niet nodig zijn in dit bestand (zowel voor .cc als voor .h) en, waar mogelijk, #include te vervangen door een voorverklaring.
Belangrijkste wijzigingen
- Compatibiliteit met Clang 17.
- Verbeterde analyse van type-aliases (typedef en using).
- Verbeterde analyse van naamruimte-aliases (namespace xyz = foobar).
- Verbeterde ondersteuning voor uitgebreide voorverklaringen (typedef struct Foo Bar;).
- Verbeter de verwerking van 'autocasts' en geretourneerde functietypes, vooral bij het werken met complexe sjabloontypes.
- Een nieuwe IWYU-pragmaprogramma is toegevoegd: always_keep, waarmee je de kop kunt markeren zodat deze altijd behouden moet blijven, waar hij ook wordt ingesloten.
- Automatisch gebruik van overeenkomsten voor builtins libc++, als libc++ de actieve standaardbibliotheek is.
- Verbeteringen in overeenkomsten voor libc++ en posix headers.
Bron: linux.org.ru
