mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-07 22:28:02 +02:00
0fe6fccec2doc: Document rationale for using `IWYU pragma: export` (Hennadii Stepanov)cfa3b10d50iwyu, doc: Document `IWYU pragma: export` for `<logging/categories.h>` (Hennadii Stepanov)015bea05e6iwyu, doc: Document `IWYU pragma: export` for `<chrono>` (Hennadii Stepanov)48bfcfedeciwyu, doc: Document `IWYU pragma: export` for `<threadsafety.h>` (Hennadii Stepanov)179abb387frefactor: Move `StdMutex` to its own header (Hennadii Stepanov)6d2952c3c3serialize: Add missing `<span>` header (Hennadii Stepanov) Pull request description: This PR is a prerequisite for https://github.com/bitcoin/bitcoin/pull/34448. It was split into a separate PR to limit the scope and minimize potential merge conflicts. The first commit improves the accuracy of IWYU suggestions within our heavily templated code. Note that, for now, the `serialize.h` header itself is excluded from IWYU inspection because it lacks a corresponding source file. The remaining commits follow the Developer Notes [guidance](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#using-iwyu): > Use `IWYU pragma: export` very sparingly, as this enforces transitive inclusion of headers and undermines the specific purpose of IWYU. ACKs for top commit: maflcko: review ACK0fe6fccec2👤 ajtowns: utACK0fe6fccec2Tree-SHA512: dc2d4e3ff78b9707a1a26cb9b1c0a456de0d33c59e773bbf692344c2fceaff8936317479c5e898038f29134bc0e5d9d1ef7350e53512dd8e262f46ede578c4f9