Вышел релиз 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

пікір қалдыру