iwyu: Fix warnings in `src/test/fuzz` and treat them as errors #36808

pull hebasto wants to merge 5 commits into bitcoin:master from hebasto:261108-iwyu-fuzz changing 194 files +1068 −430
  1. hebasto commented at 7:03 PM on November 8, 2026: member

    This PR continues the ongoing effort to enforce IWYU warnings.

    See Developer Notes.

    Based on #36805 and #36807.

  2. Enclose all header content in include guards 0a35cfc34d
  3. lint: Require all code in a header to be inside its include guard
    Flag any non-comment line before `#ifndef` or after `#endif`.
    c385c1ff18
  4. refactor: Introduce `node/node_id.h` header
    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.
    86296b1bf6
  5. refactor: Fix `#include`s in `net` and `node/eviction` modules
    The `#include`s added to other files replace ones they previously
    received transitively via `net.h` and `node/eviction.h`.
    1d62aaa23b
  6. DrahtBot commented at 7:03 PM on November 8, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    External sites

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #36812 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36812.svg"></sub> (crypto: copy HMAC state instead of rehashing key pads by l0rinc)
    • #36809 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36809.svg"></sub> (rpc, wallet: Support BIP322 simple message signing by jaromil)
    • #36807 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36807.svg"></sub> (refactor: Introduce node/node_id.h header and fix includes in related modules by hebasto)
    • #36805 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36805.svg"></sub> (Enclose all header content in include guards by hebasto)
    • #36786 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36786.svg"></sub> (fuzz: report more events, and check more invariants in connman target by darosior)
    • #36743 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36743.svg"></sub> ([RFC] build: build with -Wmissing-declarations/prototypes by fanquake)
    • #36635 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36635.svg"></sub> (fuzz: Add a target that feeds arbitrary bytes to V2Transport by fametrano)
    • #36548 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36548.svg"></sub> (net: serve MSG_BLOCK by stripping witnesses in place by l0rinc)
    • #36451 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36451.svg"></sub> (refactor: Use NotNull for CreateNewBlock and pimpls by maflcko)
    • #36444 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36444.svg"></sub> (wallet: Store information about created and imported multipath descriptors by achow101)
    • #36443 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36443.svg"></sub> (descriptor: Reconstruct a multipath descriptor from its expansion by achow101)
    • #36442 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36442.svg"></sub> (descriptor: Represent multipath descriptors in a single Descriptor object by achow101)
    • #36188 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36188.svg"></sub> (crypto: plug hardware optimized SHA256 into libsecp256k1's context by furszy)
    • #36122 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36122.svg"></sub> (BIP460: CISA for Taproot key path spends by fjahr)
    • #36114 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36114.svg"></sub> (wallet: harden external signer psbt processing, revamp mock by Sjors)
    • #36074 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36074.svg"></sub> (scripted-diff: [test] Add util/check.h includes for assertions by maflcko)
    • #35888 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/35888.svg"></sub> (net: reject oversized outbound messages by l0rinc)
    • #35671 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/35671.svg"></sub> (mining: add TxCollection to bandwidth-efficiently validate external block templates by Sjors)
    • #35642 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/35642.svg"></sub> (headersync: do parameter search at runtime by sipa)
    • #35600 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/35600.svg"></sub> (net: prevent duplication manual connections (take 2) by willcl-ark)
    • #35229 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/35229.svg"></sub> (refactor: Use CBlockIndex parameters as reference by optout21)
    • #34132 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/34132.svg"></sub> (coins,dbwrapper: make point-read and txindex lookup failures fatal by l0rinc)
    • #31260 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/31260.svg"></sub> (scripted-diff: Type-safe settings retrieval by ryanofsky)
    • #29491 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/29491.svg"></sub> ([EXPERIMENTAL] Schnorr batch verification for blocks by fjahr)

    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-->

  7. hebasto force-pushed on Nov 8, 2026
  8. DrahtBot added the label CI failed on Nov 8, 2026
  9. DrahtBot commented at 7:17 PM on November 8, 2026: contributor

    <!--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>

  10. hebasto force-pushed on Nov 8, 2026
  11. hebasto force-pushed on Nov 8, 2026
  12. hebasto force-pushed on Nov 8, 2026
  13. iwyu: Fix warnings in `src/test/fuzz` and treat them as errors f2e0f6149c
  14. hebasto force-pushed on Nov 8, 2026
  15. DrahtBot removed the label CI failed on Nov 8, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-11-09 21:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me