This PR continues the ongoing effort to enforce IWYU warnings.
See Developer Notes.
This PR continues the ongoing effort to enforce IWYU warnings.
See Developer Notes.
Flag any non-comment line before `#ifndef` or after `#endif`.
Two identical declarations of `NodeId` make it ambiguous for static
tools such as IWYU which header should provide the symbol. Move the
declaration into a header of its own.
`net.h` re-exports it, since `NodeId` is part of its interface.
The `#include`s added to other files replace ones they previously
received transitively via `net.h` and `node/eviction.h`.
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
<!--021abf342d371248e50ceaed478a90ca-->
See the guideline and AI policy for information on the review process. A summary of reviews will appear here.
<!--174a7506f384e20aa4161008e828411d-->
Reviewers, this pull request conflicts with the following ones:
node/node_id.h header and fix includes in related modules by hebasto)MSG_BLOCK by stripping witnesses in place by l0rinc)If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
<!--85328a0da195eb286784d51f73fa0af9-->
🚧 At least one of the CI tasks failed.
<sub>Task Alpine (musl): https://github.com/bitcoin/bitcoin/actions/runs/42513074263/job/128830134615</sub>
<sub>LLM reason (✨ experimental): CI failed during compilation: headerssync.cpp has missing declarations/includes, causing incomplete CBlockIndex and undefined symbols.</sub>
<details><summary>Hints</summary>
Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:
Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.
A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.
An intermittent issue.
Leave a comment here, if you need help tracking down a confusing failure.
</details>