On Tue, Apr 05 2022, Garrit Franke wrote: > On 01.04.22 10:07, Ævar Arnfjörð Bjarmason wrote: Aside: I don't think I've ever seen encoded quoted-printable go quite so bad so fast. That went from =C3=86var to =C3=83=C6=92=C3=A2=E2=82=AC in one reply. Whatever your E-Mail is doing with encodings seems to be taking multiple passes through misencodings :) Don't worry about getting the name "right" or whatever, I'm amused by the encoding issue... >> ... For anyone interested in pursuing this, I think using the excellent >> include-what-you-use tool would be a nice start. >> >> We could even eventually add it to our CI if the false positive rate >> isn't bad (I haven't checked much): >> https://github.com/include-what-you-use/include-what-you-use > > This seems to be a really nice tool indeed. I wouldn't be comfortable > adding it to the CI just yet, but it did make it considerably easier to > spot includes that could safely be removed. Re the reply I had on 1/4 I think it's probably best to drop that in its current form, but the fixes themselves (perhaps with a re-roll for nits I posted in reply) seem good. I was really hoping though that if someone wanted to pursue this a bit more we'd get to the point of being able to run "make all test" on a source tree that iwyu would munge with all its suggestions, and then see if it outright failed to compile, or whether it would e.g. have faster compilation speed (or not..). > I think we could try battle-testing this tool in the codebase to get a > sense of how it behaves. To start, I added your reference-command to a > script under "contrib/iwyu" and ran it against the files you noted. > Before breaking a bulk of the files, I wanted to make sure that this > undertaking is headed in the right direction. Even if the patches aren't sent in making the actual changes a one-off script to e.g. wrap the fix_includes.py script I mentioned would be very interesting. We could then even run that in CI with relatively little setup, i.e. checkout <rev>, do munging, then compile.