Вийшов реліз IWYU (або include-what-you-use), програми, яка дозволяє знаходити надлишкові і пропонувати відсутні #include у вашому коді на C/C++.

"Включати те, що використовуєш" означає наступне: для кожного символу (типу, змінної, функції або макросу), який використовується в foo.cc, або foo.cc, або foo.h повинні підключати .h-файл, що експортує оголошення цього символу. Інструмент include-what-you-use – це програма для аналізу #include вихідних файлів з метою пошуку порушень цього підходу та надання рекомендацій для виправлення. Програма використовує бібліотеки Clang і зазвичай реліз означає сумісність із новою версією Clang.

Основна мета include-what-you-use – видалення зайвих #include. Для цього необхідно з'ясувати, які #include не потрібні в даному файлі (як для .cc, так і для .h) і по можливості замінити #include на попереднє оголошення.

Основні зміни

  • Сумісність із Clang 17.
  • Поліпшено аналіз псевдонімів типів (typedef та using).
  • Поліпшено аналіз псевдонімів просторів імен (namespace xyz = foobar).
  • Поліпшено підтримку розгорнутих попередніх декларацій (typedef struct Foo Bar;).
  • Поліпшити обробку «автокасту» і типів функцій, що повертаються, особливо при роботі зі складними шаблонними типами.
  • Додано нову прагму IWYU: always_keep, що дозволяє позначити заголовок, що він завжди повинен зберігатися, де б він не був включений.
  • Автоматичне використання зіставлень для builtins libc++, якщо libc++ є активною стандартною бібліотекою.
  • Поліпшення зіставлень для заголовків libc++ та posix.

Джерело: linux.org.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster