Izdan je IWYU (ili include-what-you-use), program koji omogućava pronalaženje suvišnih i predlaganje nedostajućih #include u vašem C/C++ kodu.
„Uključiti ono što koristiš“ znači sledeće: za svaki simbol (tip, varijablu, funkciju ili makros), koji se koristi u foo.cc, ili foo.cc ili foo.h treba da uključuju .h fajl koji izvozi deklaraciju tog simbola. Alat include-what-you-use je program za analizu #include izvornog koda s ciljem pronalaženja kršenja ovog pristupa i pružanja preporuka za ispravku. Program koristi Clang biblioteke i obično izdanja predstavljaju kompatibilnost sa novom verzijom Clang-a.
Osnovni cilj include-what-you-use je uklanjanje suvišnih #include. Da bi to postigao, potrebno je utvrditi koji #include nisu potrebni u datom fajlu (kako za .cc, tako i za .h) i, gde god je to moguće, zameniti #include sa prethodnom deklaracijom.
Glavne promene
- Kompatibilnost sa Clang 17.
- Poboljšana analiza pseudonima tipova (typedef i using).
- Poboljšana analiza pseudonima prostora imena (namespace xyz = foobar).
- Poboljšana podrška za ekspanzirane prethodne deklaracije (typedef struct Foo Bar;).
- Poboljšati obrada „autokasta“ i povratnih tipova funkcija, posebno kada se radi sa složenim šablonskim tipovima.
- Dodana nova pragma IWYU: always_keep, koja omogućava označavanje zaglavlja koje uvek treba zadržati, gde god bilo uključeno.
- Automatska upotreba podudaranja za builtins libc++, ako je libc++ aktivna standardna biblioteka.
- Poboljšanje podudaranja za zaglavlja libc++ i posix.
Izvor: linux.org.ru
