A ieșit versiunea IWYU (sau include-what-you-use), un program care permite găsirea includerilor redundante și sugerarea celor lipsă în codul vostru C/C++.
„Include ceea ce folosești” înseamnă următoarele: pentru fiecare simbol (tip, variabilă, funcție sau macro), folosit în foo.cc, fie foo.cc, fie foo.h trebuie să includă fișierul .h care exportă declarația acestui simbol. Instrumentul include-what-you-use este un program pentru analiza #include-urilor fișierelor sursă cu scopul de a identifica încălcările acestei abordări și de a oferi recomandări pentru corectare. Programul folosește biblioteci Clang și în general o versiune nouă înseamnă compatibilitate cu o nouă versiune Clang.
Scopul principal al include-what-you-use este eliminarea includerilor inutile. Pentru aceasta, trebuie să identificăm care #include-uri nu sunt necesare în acest fișier (atât pentru .cc, cât și pentru .h) și, dacă este posibil, să înlocuim #include cu o declarație anticipată.
Principalele modificări
- Compatibilitate cu Clang 17.
- Îmbunătățită analiza aliasurilor de tip (typedef și using).
- Îmbunătățită analiza aliasurilor de spații de nume (namespace xyz = foobar).
- Îmbunătățită suportul pentru declarațiile anticipate dezvoltate (typedef struct Foo Bar;).
- Îmbunătățirea gestionării „autocastului” și a tipurilor de returnare a funcțiilor, în special în lucrul cu tipuri de șabloane complexe.
- A fost adăugată o nouă pragmă IWYU: always_keep, care permite marcarea unui antet astfel încât acesta să fie întotdeauna păstrat, indiferent de locul în care este inclus.
- Utilizarea automată a corespondențelor pentru builtins libc++, dacă libc++ este biblioteca standard activă.
- Îmbunătățirea corespondențelor pentru anteturile libc++ și posix.
Sursa: linux.org.ru
