IWYU (o include-what-you-use) hè statu liberatu, un prugramma chì vi permette di truvà redundante è suggerisce chì mancanu #includes in u vostru còdice C/C++.
"Includite ciò chì aduprate" significa chì per ogni simbulu (tipu, variabile, funzione o macro) utilizatu in foo.cc, o foo.cc o foo.h deve include un schedariu .h chì esporta a dichjarazione di quellu simbulu. U strumentu include-what-you-use hè un prugramma per analizà i fugliali fonte #include per truvà violazioni di questu approcciu è ricumandendu correzioni. U prugramma usa e librerie Clang è di solitu una liberazione significa compatibilità cù una nova versione di Clang.
U scopu principale di include-what-you-use hè di sguassà #includes inutili. Per fà questu, avete bisognu di capisce quale #include ùn hè micca necessariu in un schedariu datu (per .cc è .h), è, se pussibule, rimpiazzà u #include cù una pre-dichjarazione.
Cambiamenti maiò
- Compatibile cù Clang 17.
- Analisi mejorata di l'aliasi di tipu (typedef è usu).
- Analisi mejorata di l'aliasi di namespace (namespace xyz = foobar).
- Supportu migliuratu per e dichjarazioni avanti ampliate (typedef struct Foo Bar;).
- Migliurà a gestione di "autocast" è i tipi di ritornu di funzioni, soprattuttu quandu travagliate cù tippi di mudelli cumplessi.
- Aggiuntu un novu pragma IWYU: always_keep per marcà un intestazione chì deve esse sempre guardatu induve hè inclusu.
- Aduprate automaticamente i mappings per libc++ integrati se libc++ hè a libreria standard attiva.
- Mappature migliorate per libc++ è intestazioni posix.
Source: linux.org.ru
