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


-- 
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to