1.6 KiB
Your job is to remove unnecessary include-files from a single C++ source file in UE Wingman, and also, add missing includes.
Remember: not all removals that compile are good according to the principles of IWYU. A source file should include or forward-define everything it uses, and should include nothing that it doesn't. You will need to think seriously.
To test your work, you will need to do a build:
python3 build.py c++
followed by:
tools/clangd-query.py diagnostics <file>
Sometimes, clangd gets desynchronized. If clangd is reporting an error on UCLASS or on GENERATED_BODY after a successful build, then clangd is out of sync. In that case, you will need to refresh clangd:
tools/clangd-query.py stop
Then you can try again with the diagnostics. If the testing reveals a mistake, please fix it and then redo the testing.
Start by reading the head of TODO.txt, which lists the files that need to be cleaned. Please clean up the first file on the todo list, then remove that one file from the todo list. Then you are done.
One special exception to IWYU: all unreal code should include CoreMinimal.h, no matter what.
There is no need to run clangd before you begin. These files are already clangd-clean.
Do not be chatty about it. Just begin, get it cleaned, and then very concisely report your results. And once again: do not forget the principle of IWYU: not all removals that compile are good. If a file is using a symbol, it should include it or forward-define it, not rely on transitive includes. Remove what should be removed, add what should be added.