-----Original Message----- From: Development <[email protected]> On Behalf Of David Redondo via Development Sent: Tuesday, October 14, 2025 00:19 To: [email protected] Subject: Re: [Development] Use what you include mapping file
Am Montag, 13. Oktober 2025, 19:14 schrieb Scott Bloom: > As part of a pre-checkin "semi-lint" strategy (along with proper formatting > etc), I am investigating the usage of the tool include-what-you-use. > > https://github.com/include-what-you-use/include-what-you-use > > Essentially, it confirms that both every source (and header) file includes > every header directly to reduce the possibility of a compile break if a > dependent header changes what it includes. > > It also reports when you include something that you don't need, reducing > compile time and dependencies. > > It supports mapping files, for when a file is intentionally supposed to be > included transitively. For instance, including <iostream> vs <iosfwd> will > not report issues. > > The problem is with Qt, every include is transitive. You include <QComboBox> > not <qcombobox.h> for instance. > We have these pragmas ➜ /usr/include/x86_64-linux-gnu/qt6/QtWidgets cat QComboBox #include "qcombobox.h" // IWYU pragma: export do these not help the tool? Why is a separate mapping file needed? David ========== Where is this located on windows? Scott -- Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
