This PR continues the ongoing effort to enforce IWYU warnings.
See Developer Notes.
src/common and treat them as errors
#34995
This PR continues the ongoing effort to enforce IWYU warnings.
See Developer Notes.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
See the guideline for information on the review process.
| Type | Reviewers |
|---|---|
| Approach ACK | BrandonOdiwuor |
If your review is incorrectly listed, please copy-paste <!–meta-tag:bot-skip–> into the comment that the bot should ignore.
Reviewers, this pull request conflicts with the following ones:
-dbcache with system RAM 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.
🚧 At least one of the CI tasks failed.
Task 32 bit ARM: https://github.com/bitcoin/bitcoin/actions/runs/23945242931/job/69839917221
LLM reason (✨ experimental): CI failed because compilation of bitcoin-wallet.cpp errored with fatal error: univalue.h: No such file or directory (missing univalue header/dependency).
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.
1@@ -2,28 +2,25 @@
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5-#include <common/args.h>
6+#include <common/args.h> // IWYU pragma: associated
pragma: export?
5@@ -6,13 +6,25 @@
6
7 #include <common/netif.h>
8
9+#include <compat/compat.h>
10 #include <logging.h>
11 #include <netbase.h>
12 #include <util/check.h>
13 #include <util/sock.h>
14+#if defined(__APPLE__)
41@@ -30,12 +42,13 @@
42 #endif
43
44 #ifdef HAVE_IFADDRS
45-#include <sys/types.h>
46+// IWYU suggests removing `sys/types.h` because modern systems
47+// treat `ifaddrs.h` as self-contained. We retain it per the
48+// getifaddrs manual page to ensure broad cross-platform compatibility.
Approach ACK
I was able to incorporate most of the iwyu suggestions except the following changes which cause compilation errors on Ubuntu 24.04
0+ #include <span> // for span
1- #include <span.h> // lines 10-10
0+ #include <univalue.h> // for UniValue
1- class UniValue; // lines 15-15
0- #include <compat/compat.h> // lines 9-9
NB: removing #include <util/syserror.h> from `src/common/netif.cpp as suggested by IWYU causes the macOS based jobs to fail
0/opt/homebrew/bin/ccache /usr/bin/c++ -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -I/Users/runner/work/bitcoin/bitcoin/repo_archive/ci/scratch/build-aarch64-apple-darwin24.6.0/src -I/Users/runner/work/bitcoin/bitcoin/repo_archive/src -I/Users/runner/work/bitcoin/bitcoin/repo_archive/src/univalue/include -I/Users/runner/work/bitcoin/bitcoin/repo_archive/src/secp256k1/include -isystem /opt/homebrew/Cellar/boost/1.90.0_1/include -O2 -g -std=c++20 -arch arm64 -fPIC -fvisibility=hidden -fmacro-prefix-map=/Users/runner/work/bitcoin/bitcoin/repo_archive/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -mbranch-protection=bti -Wall -Wextra -Wgnu -Wcovered-switch-default -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter -Werror -MD -MT src/CMakeFiles/bitcoin_common.dir/common/netif.cpp.o -MF src/CMakeFiles/bitcoin_common.dir/common/netif.cpp.o.d -o src/CMakeFiles/bitcoin_common.dir/common/netif.cpp.o -c /Users/runner/work/bitcoin/bitcoin/repo_archive/src/common/netif.cpp
1/Users/runner/work/bitcoin/bitcoin/repo_archive/src/common/netif.cpp:249:72: error: use of undeclared identifier 'SysErrorString'
2 249 | LogError("Could not get sysctl length of routing table: %s\n", SysErrorString(errno));
3 | ^
4/Users/runner/work/bitcoin/bitcoin/repo_archive/src/common/netif.cpp:254:70: error: use of undeclared identifier 'SysErrorString'
5 254 | LogError("Could not get sysctl data of routing table: %s\n", SysErrorString(errno));
0
1+ run_iwyu compile_commands_iwyu_errors.json
2+ mv /home/runner/work/_temp/build/compile_commands_iwyu_errors.json /home/runner/work/_temp/build/compile_commands.json
3+ python3 /include-what-you-use/iwyu_tool.py -p /home/runner/work/_temp/build -j4 -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=/home/runner/work/_temp/contrib/devtools/iwyu/bitcoin.core.imp -Xiwyu --max_line_length=160 -Xiwyu '--check_also=*/primitives/*.h'
4+ tee /tmp/iwyu_ci.out
5
6(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
7
8(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
9
10(/home/runner/work/_temp/src/primitives/transaction.cpp has correct #includes/fwd-decls)
11
12
13/home/runner/work/_temp/src/common/bloom.h should add these lines:
14#include <cstdint> // for uint64_t
15#include <span> // for span
16
17/home/runner/work/_temp/src/common/bloom.h should remove these lines:
18- #include <span.h> // lines 9-9
19
20The full include-list for /home/runner/work/_temp/src/common/bloom.h:
21#include <serialize.h> // for READWRITE, SERIALIZE_METHODS
22#include <cstdint> // for uint64_t
23#include <span> // for span
24#include <vector> // for vector
25class COutPoint; // lines 13-13
26class CTransaction; // lines 14-14
27---
28
29(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
30
31(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
32
33/home/runner/work/_temp/src/common/bloom.cpp should add these lines:
34#include <compare> // for operator<, strong_ordering
35
36/home/runner/work/_temp/src/common/bloom.cpp should remove these lines:
37- #include <cstdlib> // lines 19-19
38- #include <limits> // lines 20-20
39
40The full include-list for /home/runner/work/_temp/src/common/bloom.cpp:
41#include <common/bloom.h>
42#include <hash.h> // for MurmurHash3
43#include <primitives/transaction.h> // for COutPoint, CTxOut, CTransaction, CTxIn, Txid
44#include <random.h> // for FastRandomContext
45#include <script/script.h> // for CScript, opcodetype
46#include <script/solver.h> // for TxoutType, Solver
47#include <span.h> // for MakeUCharSpan
48#include <streams.h> // for DataStream
49#include <util/fastrange.h> // for FastRange32
50#include <util/overflow.h> // for CeilDiv
51#include <algorithm> // for min, fill, max
52#include <cmath> // for log, ceil, exp, round
53#include <compare> // for operator<, strong_ordering
54#include <vector> // for vector
55---
56
57
58(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
59
60(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
61
62(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
63
64(/home/runner/work/_temp/src/primitives/block.cpp has correct #includes/fwd-decls)
65
66
67/home/runner/work/_temp/src/common/args.h should add these lines:
68
69/home/runner/work/_temp/src/common/args.h should remove these lines:
70- #include <compat/compat.h> // lines 9-9
71
72The full include-list for /home/runner/work/_temp/src/common/args.h:
73#include <common/settings.h> // for SettingsValue, Settings
74#include <sync.h> // for EXCLUSIVE_LOCKS_REQUIRED, GUARDED_BY, LOCK, Mutex, UniqueLock
75#include <util/chaintype.h> // for ChainType
76#include <util/fs.h> // for path
77#include <concepts> // for integral
78#include <cstdint> // for int64_t, uint32_t
79#include <iosfwd> // for istream
80#include <list> // for list
81#include <map> // for map
82#include <optional> // for optional
83#include <set> // for set
84#include <string> // for string, basic_string
85#include <variant> // for variant
86#include <vector> // for vector
87class ArgsManager; // lines 25-25
88---
89
90/home/runner/work/_temp/src/common/args.cpp should add these lines:
91
92/home/runner/work/_temp/src/common/args.cpp should remove these lines:
93- #include <cassert> // lines 26-26
94- #include <cstdint> // lines 27-27
95
96The full include-list for /home/runner/work/_temp/src/common/args.cpp:
97#include <common/args.h>
98#include <chainparamsbase.h> // for BaseParams, CBaseChainParams
99#include <common/settings.h> // for SettingsValue, Settings, SettingsSpan, GetSetting, FindKey, GetSettingsList, OnlyHasDefaultSectionSetting, ReadSettings
100#include <logging.h> // for LogPrintFormatInternal, LogWarning, LogInfo
101#include <sync.h> // for LOCK, UniqueLock, AssertLockHeld, AssertLockHeldInternal
102#include <tinyformat.h> // for format, strprintf, formatValue, makeFormatList, formatTruncated
103#include <univalue.h> // for UniValue
104#include <util/chaintype.h> // for ChainType, ChainTypeToString, ChainTypeFromString
105#include <util/check.h> // for Assert, inline_assertion_check, assert
106#include <util/fs.h> // for path, PathToString, PathFromString, absolute, is_directory, AbsPathJoin, create_directories, operator+, operator/
107#include <util/fs_helpers.h> // for GetDefaultDataDir, RenameOver
108#include <util/strencodings.h> // for LocaleIndependentAtoi, FormatParagraph
109#include <util/string.h> // for Join
110#include <algorithm> // for any_of
111#include <cstdlib> // for size_t, getenv
112#include <cstring> // for strlen
113#include <map> // for map, operator==
114#include <optional> // for optional, nullopt, nullopt_t
115#include <stdexcept> // for runtime_error, logic_error
116#include <string> // for basic_string, string, allocator, char_traits, operator+, operator<=>, operator==
117#include <utility> // for pair, get, move
118#include <variant> // for variant, get, get_if
119---
120
121
122/home/runner/work/_temp/src/common/config.cpp should add these lines:
123
124/home/runner/work/_temp/src/common/config.cpp should remove these lines:
125- #include <util/chaintype.h> // lines 12-12
126- #include <filesystem> // lines 19-19
127- #include <memory> // lines 25-25
128
129The full include-list for /home/runner/work/_temp/src/common/config.cpp:
130#include <common/args.h> // for ArgsManager, SectionInfo, KeyInfo, AbsPathForConfigVal, BITCOIN_CONF_FILENAME, CheckDataDirOption, InterpretKey, Interp...
131#include <common/settings.h> // for SettingsSpan, Settings, FindKey, SettingsValue
132#include <logging.h> // for LogPrintFormatInternal, LogWarning, LogInfo
133#include <sync.h> // for LOCK, UniqueLock
134#include <tinyformat.h> // for format, formatTruncated, formatValue, makeFormatList, strprintf, tfm, vformat
135#include <univalue.h> // for UniValue
136#include <util/fs.h> // for path, PathToString, AbsPathJoin, PathFromString, is_directory
137#include <util/string.h> // for TrimString, TrimStringView
138#include <algorithm> // for max
139#include <cassert> // for assert
140#include <cstdlib> // for size_t
141#include <fstream> // for basic_ifstream, basic_istream, ifstream, istream, istringstream
142#include <iostream> // for cerr
143#include <list> // for list
144#include <map> // for map
145#include <optional> // for optional
146#include <sstream> // for basic_istringstream
147#include <string> // for basic_string, string, char_traits, operator+, operator==, getline, operator<<, operator<=>
148#include <string_view> // for string_view
149#include <utility> // for pair
150#include <vector> // for vector
151---
152
153
154(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
155
156(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
157
158(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
159
160(/home/runner/work/_temp/src/common/init.h has correct #includes/fwd-decls)
161
162/home/runner/work/_temp/src/common/init.cpp should add these lines:
163
164/home/runner/work/_temp/src/common/init.cpp should remove these lines:
165- #include <algorithm> // lines 13-13
166
167The full include-list for /home/runner/work/_temp/src/common/init.cpp:
168#include <common/init.h>
169#include <chainparams.h> // for SelectParams
170#include <common/args.h> // for ArgsManager, BITCOIN_CONF_FILENAME, AbsPathForConfigVal, CheckDataDirOption
171#include <logging.h> // for LogPrintFormatInternal, LogInfo, LogWarning
172#include <tinyformat.h> // for format, makeFormatList, formatTruncated, formatValue, strprintf
173#include <util/fs.h> // for path, quoted, PathToString, exists, operator/, create_directories, equivalent
174#include <util/translation.h> // for TranslatedLiteral, _, BilingualFmt, Untranslated, bilingual_str
175#include <exception> // for exception
176#include <optional> // for optional
177---
178
179
180/home/runner/work/_temp/src/common/interfaces.cpp should add these lines:
181#include <functional> // for function
182#include <string> // for basic_string, string
183
184/home/runner/work/_temp/src/common/interfaces.cpp should remove these lines:
185
186The full include-list for /home/runner/work/_temp/src/common/interfaces.cpp:
187#include <interfaces/echo.h> // for Echo, MakeEcho
188#include <interfaces/handler.h> // for Handler, MakeCleanupHandler, MakeSignalHandler
189#include <boost/signals2/connection.hpp> // for scoped_connection, connection
190#include <functional> // for function
191#include <memory> // for unique_ptr, make_unique
192#include <string> // for basic_string, string
193#include <utility> // for move
194---
195
196
197/home/runner/work/_temp/src/common/messages.h should add these lines:
198#include <utility> // for pair
199
200/home/runner/work/_temp/src/common/messages.h should remove these lines:
201
202The full include-list for /home/runner/work/_temp/src/common/messages.h:
203#include <string> // for string
204#include <string_view> // for string_view
205#include <utility> // for pair
206enum class FeeEstimateMode; // lines 19-19
207enum class FeeReason; // lines 20-20
208namespace common { enum class PSBTError; } // lines 26-26
209namespace node { enum class TransactionError; } // lines 22-22
210struct bilingual_str; // lines 17-17
211---
212
213(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
214
215(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
216
217(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
218
219(/home/runner/work/_temp/src/common/messages.cpp has correct #includes/fwd-decls)
220
221
222/home/runner/work/_temp/src/common/netif.h should add these lines:
223#include <vector> // for vector
224
225/home/runner/work/_temp/src/common/netif.h should remove these lines:
226
227The full include-list for /home/runner/work/_temp/src/common/netif.h:
228#include <netaddress.h> // for CNetAddr, Network
229#include <optional> // for optional
230#include <vector> // for vector
231---
232
233/home/runner/work/_temp/src/common/netif.cpp should add these lines:
234#include <compat/compat.h> // for AF_INET, in6_addr, in_addr, AF_INET6, sa_family_t, socklen_t, AF_NETLINK, IFF_LOOPBACK, IFF_UP, SOCK_DGRAM, sockaddr
235#include <linux/netlink.h> // for nlmsghdr, nlattr, NLMSG_HDRLEN, NETLINK_ROUTE, NLMSG_DATA, NLMSG_DONE, NLMSG_LENGTH, NLMSG_NEXT, NLMSG_OK, NLM_F_DUMP
236#include <cerrno> // for errno, EAGAIN, EINTR
237#include <cstdint> // for int64_t
238#include <cstring> // for memcpy
239#include <functional> // for function
240#include <memory> // for unique_ptr
241#include <string> // for basic_string
242
243/home/runner/work/_temp/src/common/netif.cpp should remove these lines:
244- #include <util/syserror.h> // lines 13-13
245
246The full include-list for /home/runner/work/_temp/src/common/netif.cpp:
247#include <common/netif.h>
248#include <bitcoin-build-config.h> // for HAVE_IFADDRS
249#include <compat/compat.h> // for AF_INET, in6_addr, in_addr, AF_INET6, sa_family_t, socklen_t, AF_NETLINK, IFF_LOOPBACK, IFF_UP, SOCK_DGRAM, sockaddr
250#include <ifaddrs.h> // for ifaddrs, freeifaddrs, getifaddrs
251#include <linux/netlink.h> // for nlmsghdr, nlattr, NLMSG_HDRLEN, NETLINK_ROUTE, NLMSG_DATA, NLMSG_DONE, NLMSG_LENGTH, NLMSG_NEXT, NLMSG_OK, NLM_F_DUMP
252#include <linux/rtnetlink.h> // for rtmsg, RTA_DATA, RTA_PAYLOAD, rtattr_type_t, rtattr, RTA_NEXT, RTA_OK, RTM_GETROUTE, RTM_NEWROUTE, RTM_PAYLOAD
253#include <logging.h> // for LogPrintFormatInternal, LogError, LogWarning
254#include <netbase.h> // for CreateSock
255#include <sys/types.h> // for ssize_t, size_t
256#include <util/check.h> // for Assume, inline_assertion_check
257#include <util/sock.h> // for NetworkErrorString, Sock
258#include <cerrno> // for errno, EAGAIN, EINTR
259#include <cstdint> // for int64_t
260#include <cstring> // for memcpy
261#include <functional> // for function
262#include <memory> // for unique_ptr
263#include <string> // for basic_string
264#include <type_traits> // for conditional_t, is_signed_v
265---
266
267
268(/home/runner/work/_temp/src/common/run_command.h has correct #includes/fwd-decls)
269
270/home/runner/work/_temp/src/common/run_command.cpp should add these lines:
271#include <sstream> // for basic_istringstream, istringstream
272#include <stdexcept> // for runtime_error
273#include <utility> // for get
274
275/home/runner/work/_temp/src/common/run_command.cpp should remove these lines:
276
277The full include-list for /home/runner/work/_temp/src/common/run_command.cpp:
278#include <common/run_command.h>
279#include <bitcoin-build-config.h> // for ENABLE_EXTERNAL_SIGNER
280#include <tinyformat.h> // for format, formatTruncated, formatValue, makeFormatList, strprintf
281#include <univalue.h> // for UniValue
282#include <util/string.h> // for Join
283#include <util/subprocess.h> // for Popen, IOTYPE, error, input, output
284#include <sstream> // for basic_istringstream, istringstream
285#include <stdexcept> // for runtime_error
286#include <utility> // for get
287---
288
289
290/home/runner/work/_temp/src/common/pcp.h should add these lines:
291#include <array> // for array
292#include <chrono> // for milliseconds
293#include <cstddef> // for size_t
294#include <cstdint> // for uint32_t, uint8_t, uint16_t
295#include <string> // for string
296class CThreadInterrupt;
297
298/home/runner/work/_temp/src/common/pcp.h should remove these lines:
299- #include <util/threadinterrupt.h> // lines 9-9
300
301The full include-list for /home/runner/work/_temp/src/common/pcp.h:
302#include <netaddress.h> // for CNetAddr (ptr only), CService
303#include <array> // for array
304#include <chrono> // for milliseconds
305#include <cstddef> // for size_t
306#include <cstdint> // for uint32_t, uint8_t, uint16_t
307#include <string> // for string
308#include <variant> // for variant
309class CThreadInterrupt;
310---
311
312/home/runner/work/_temp/src/common/pcp.cpp should add these lines:
313#include <compat/compat.h> // for sockaddr_storage, WSAGetLastError, in_addr, socklen_t, in6_addr, sockaddr_in, AF_INET, IPPROTO_UDP, SOCK_DGRAM
314#include <crypto/hex_base.h> // for HexStr
315#include <tinyformat.h> // for format, formatValue, formatTruncated, makeFormatList, strprintf
316#include <util/string.h> // for HasPrefix
317#include <util/time.h> // for MockableSteadyClock
318#include <algorithm> // for __equal_fn, equal
319#include <compare> // for operator<, strong_ordering
320#include <cstring> // for memcpy
321#include <functional> // for function
322#include <map> // for map, operator==
323#include <memory> // for unique_ptr
324#include <optional> // for optional, nullopt, nullopt_t
325#include <span> // for span
326#include <utility> // for pair
327#include <vector> // for vector
328
329/home/runner/work/_temp/src/common/pcp.cpp should remove these lines:
330- #include <common/netif.h> // lines 8-8
331- #include <random.h> // lines 13-13
332- #include <span.h> // lines 14-14
333- #include <util/readwritefile.h> // lines 16-16
334- #include <util/strencodings.h> // lines 18-18
335
336The full include-list for /home/runner/work/_temp/src/common/pcp.cpp:
337#include <common/pcp.h>
338#include <compat/compat.h> // for sockaddr_storage, WSAGetLastError, in_addr, socklen_t, in6_addr, sockaddr_in, AF_INET, IPPROTO_UDP, SOCK_DGRAM
339#include <crypto/common.h> // for ReadBE16, WriteBE16, ReadBE32, WriteBE32
340#include <crypto/hex_base.h> // for HexStr
341#include <logging.h> // for LogPrintFormatInternal, LogFlags, LogWarning, LogDebug
342#include <netaddress.h> // for CService, CNetAddr, ADDR_IPV6_SIZE, IPV4_IN_IPV6_PREFIX, ADDR_IPV4_SIZE
343#include <netbase.h> // for CreateSock
344#include <tinyformat.h> // for format, formatValue, formatTruncated, makeFormatList, strprintf
345#include <util/check.h> // for inline_assertion_check, Assume
346#include <util/sock.h> // for NetworkErrorString, Sock
347#include <util/string.h> // for HasPrefix
348#include <util/threadinterrupt.h> // for CThreadInterrupt
349#include <util/time.h> // for MockableSteadyClock
350#include <algorithm> // for __equal_fn, equal
351#include <atomic> // for atomic
352#include <compare> // for operator<, strong_ordering
353#include <cstring> // for memcpy
354#include <functional> // for function
355#include <map> // for map, operator==
356#include <memory> // for unique_ptr
357#include <optional> // for optional, nullopt, nullopt_t
358#include <span> // for span
359#include <utility> // for pair
360#include <vector> // for vector
361---
362
363
364/home/runner/work/_temp/src/common/settings.h should add these lines:
365#include <univalue.h> // for UniValue
366
367/home/runner/work/_temp/src/common/settings.h should remove these lines:
368- class UniValue; // lines 15-15
369
370The full include-list for /home/runner/work/_temp/src/common/settings.h:
371#include <univalue.h> // for UniValue
372#include <util/fs.h> // for path
373#include <cstddef> // for size_t
374#include <map> // for map
375#include <string> // for basic_string, string
376#include <vector> // for vector
377---
378
379/home/runner/work/_temp/src/common/settings.cpp should add these lines:
380
381/home/runner/work/_temp/src/common/settings.cpp should remove these lines:
382- #include <algorithm> // lines 13-13
383
384The full include-list for /home/runner/work/_temp/src/common/settings.cpp:
385#include <common/settings.h>
386#include <bitcoin-build-config.h> // for CLIENT_NAME
387#include <tinyformat.h> // for format, formatValue, makeFormatList, strprintf, formatTruncated
388#include <univalue.h> // for UniValue
389#include <util/fs.h> // for PathToString, path, exists
390#include <fstream> // for basic_ifstream, basic_ofstream, basic_ostream, endl, ifstream, ofstream
391#include <iterator> // for istreambuf_iterator, operator==
392#include <map> // for map
393#include <string> // for basic_string, string, char_traits, operator<=>, operator<<
394#include <utility> // for pair
395#include <vector> // for vector
396---
397
398
399(/home/runner/work/_temp/src/common/url.h has correct #includes/fwd-decls)
400
401/home/runner/work/_temp/src/common/url.cpp should add these lines:
402#include <cstddef> // for size_t
403
404/home/runner/work/_temp/src/common/url.cpp should remove these lines:
405
406The full include-list for /home/runner/work/_temp/src/common/url.cpp:
407#include <common/url.h>
408#include <charconv> // for from_chars_result, from_chars
409#include <cstddef> // for size_t
410#include <string> // for basic_string, string
411#include <string_view> // for string_view
412#include <system_error> // for errc
413---
414
415
416(/home/runner/work/_temp/src/common/signmessage.h has correct #includes/fwd-decls)
417
418(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
419
420(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
421
422(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
423
424/home/runner/work/_temp/src/common/signmessage.cpp should add these lines:
425#include <addresstype.h> // for PKHash, CTxDestination, IsValidDestination
426#include <span> // for span
427
428/home/runner/work/_temp/src/common/signmessage.cpp should remove these lines:
429
430The full include-list for /home/runner/work/_temp/src/common/signmessage.cpp:
431#include <common/signmessage.h>
432#include <addresstype.h> // for PKHash, CTxDestination, IsValidDestination
433#include <hash.h> // for HashWriter
434#include <key.h> // for CKey
435#include <key_io.h> // for DecodeDestination
436#include <pubkey.h> // for CPubKey
437#include <uint256.h> // for uint256
438#include <util/strencodings.h> // for DecodeBase64, EncodeBase64
439#include <cassert> // for assert
440#include <optional> // for optional
441#include <span> // for span
442#include <string> // for basic_string, string
443#include <variant> // for get_if
444#include <vector> // for vector
445---
446
447
448/home/runner/work/_temp/src/common/system.h should add these lines:
449#include <cstddef> // for size_t
450
451/home/runner/work/_temp/src/common/system.h should remove these lines:
452- #include <chrono> // lines 12-12
453- #include <cstdint> // lines 13-13
454
455The full include-list for /home/runner/work/_temp/src/common/system.h:
456#include <bitcoin-build-config.h> // for HAVE_SYSTEM
457#include <util/time.h> // for SteadyClock
458#include <cstddef> // for size_t
459#include <optional> // for optional
460#include <string> // for string
461---
462
463/home/runner/work/_temp/src/common/system.cpp should add these lines:
464#include <sys/types.h> // for mode_t
465#include <limits> // for numeric_limits
466
467/home/runner/work/_temp/src/common/system.cpp should remove these lines:
468
469The full include-list for /home/runner/work/_temp/src/common/system.cpp:
470#include <common/system.h>
471#include <bitcoin-build-config.h> // for HAVE_MALLOPT_ARENA_MAX, HAVE_SYSTEM
472#include <logging.h> // for LogPrintFormatInternal, LogWarning
473#include <malloc.h> // for M_ARENA_MAX, mallopt
474#include <sys/stat.h> // for umask
475#include <sys/types.h> // for mode_t
476#include <unistd.h> // for sysconf, _SC_PAGESIZE, _SC_PHYS_PAGES
477#include <util/string.h> // for ReplaceAll
478#include <util/time.h> // for SteadyClock, operator-
479#include <algorithm> // for min
480#include <cstddef> // for size_t
481#include <cstdint> // for uint64_t
482#include <cstdlib> // for setenv, system
483#include <limits> // for numeric_limits
484#include <locale> // for locale
485#include <optional> // for optional, nullopt, nullopt_t
486#include <stdexcept> // for runtime_error
487#include <string> // for allocator, basic_string, char_traits, string, operator+
488#include <thread> // for thread
489---
490
491
492(/home/runner/work/_temp/src/core_io.h has correct #includes/fwd-decls)
493
494(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
495
496(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
497
498(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
499
500(/home/runner/work/_temp/src/core_io.cpp has correct #includes/fwd-decls)
501
502
503(/home/runner/work/_temp/src/kernel/chainparams.h has correct #includes/fwd-decls)
504
505(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
506
507(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
508
509(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
510
511(/home/runner/work/_temp/src/kernel/chainparams.cpp has correct #includes/fwd-decls)
512
513
514(/home/runner/work/_temp/src/index/base.h has correct #includes/fwd-decls)
515
516(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
517
518(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
519
520(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
521
522(/home/runner/work/_temp/src/index/base.cpp has correct #includes/fwd-decls)
523
524
525(/home/runner/work/_temp/src/index/blockfilterindex.h has correct #includes/fwd-decls)
526
527(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
528
529(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
530
531(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
532
533(/home/runner/work/_temp/src/index/blockfilterindex.cpp has correct #includes/fwd-decls)
534
535
536(/home/runner/work/_temp/src/index/coinstatsindex.h has correct #includes/fwd-decls)
537
538(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
539
540(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
541
542(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
543
544(/home/runner/work/_temp/src/index/coinstatsindex.cpp has correct #includes/fwd-decls)
545
546
547(/home/runner/work/_temp/src/index/txindex.h has correct #includes/fwd-decls)
548
549(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
550
551(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
552
553(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
554
555(/home/runner/work/_temp/src/index/txindex.cpp has correct #includes/fwd-decls)
556
557
558(/home/runner/work/_temp/src/kernel/chain.h has correct #includes/fwd-decls)
559
560(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
561
562(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
563
564(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
565
566(/home/runner/work/_temp/src/kernel/chain.cpp has correct #includes/fwd-decls)
567
568
569(/home/runner/work/_temp/src/kernel/checks.h has correct #includes/fwd-decls)
570
571(/home/runner/work/_temp/src/kernel/checks.cpp has correct #includes/fwd-decls)
572
573
574(/home/runner/work/_temp/src/kernel/cs_main.h has correct #includes/fwd-decls)
575
576(/home/runner/work/_temp/src/kernel/cs_main.cpp has correct #includes/fwd-decls)
577
578
579(/home/runner/work/_temp/src/index/txospenderindex.h has correct #includes/fwd-decls)
580
581(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
582
583(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
584
585(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
586
587(/home/runner/work/_temp/src/index/txospenderindex.cpp has correct #includes/fwd-decls)
588
589
590(/home/runner/work/_temp/src/kernel/context.h has correct #includes/fwd-decls)
591
592(/home/runner/work/_temp/src/kernel/context.cpp has correct #includes/fwd-decls)
593
594
595(/home/runner/work/_temp/src/kernel/mempool_removal_reason.h has correct #includes/fwd-decls)
596
597(/home/runner/work/_temp/src/kernel/mempool_removal_reason.cpp has correct #includes/fwd-decls)
598
599
600(/home/runner/work/_temp/src/kernel/disconnected_transactions.h has correct #includes/fwd-decls)
601
602(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
603
604(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
605
606(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
607
608(/home/runner/work/_temp/src/kernel/disconnected_transactions.cpp has correct #includes/fwd-decls)
609
610
611(/home/runner/work/_temp/src/kernel/coinstats.h has correct #includes/fwd-decls)
612
613(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
614
615(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
616
617(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
618
619(/home/runner/work/_temp/src/kernel/coinstats.cpp has correct #includes/fwd-decls)
620
621
622(/home/runner/work/_temp/src/univalue/include/univalue.h has correct #includes/fwd-decls)
623
624(/home/runner/work/_temp/src/univalue/lib/univalue.cpp has correct #includes/fwd-decls)
625
626
627(/home/runner/work/_temp/src/signet.h has correct #includes/fwd-decls)
628
629(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
630
631(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
632
633(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
634
635(/home/runner/work/_temp/src/signet.cpp has correct #includes/fwd-decls)
636
637
638(/home/runner/work/_temp/src/univalue/lib/univalue_read.cpp has correct #includes/fwd-decls)
639
640
641(/home/runner/work/_temp/src/univalue/lib/univalue_get.cpp has correct #includes/fwd-decls)
642
643
644(/home/runner/work/_temp/src/univalue/lib/univalue_write.cpp has correct #includes/fwd-decls)
645
646
647(/home/runner/work/_temp/src/node/utxo_snapshot.h has correct #includes/fwd-decls)
648
649(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
650
651(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
652
653(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
654
655(/home/runner/work/_temp/src/node/utxo_snapshot.cpp has correct #includes/fwd-decls)
656
657
658(/home/runner/work/_temp/src/univalue/test/unitester.cpp has correct #includes/fwd-decls)
659
660
661(/home/runner/work/_temp/src/univalue/test/object.cpp has correct #includes/fwd-decls)
662
663
664(/home/runner/work/_temp/src/crypto/aes.h has correct #includes/fwd-decls)
665
666(/home/runner/work/_temp/src/crypto/aes.cpp has correct #includes/fwd-decls)
667
668
669(/home/runner/work/_temp/src/crypto/chacha20.h has correct #includes/fwd-decls)
670
671(/home/runner/work/_temp/src/crypto/chacha20.cpp has correct #includes/fwd-decls)
672
673
674(/home/runner/work/_temp/src/crypto/chacha20poly1305.h has correct #includes/fwd-decls)
675
676(/home/runner/work/_temp/src/crypto/chacha20poly1305.cpp has correct #includes/fwd-decls)
677
678
679(/home/runner/work/_temp/src/crypto/hkdf_sha256_32.h has correct #includes/fwd-decls)
680
681(/home/runner/work/_temp/src/crypto/hkdf_sha256_32.cpp has correct #includes/fwd-decls)
682
683
684(/home/runner/work/_temp/src/crypto/hex_base.h has correct #includes/fwd-decls)
685
686(/home/runner/work/_temp/src/crypto/hex_base.cpp has correct #includes/fwd-decls)
687
688
689(/home/runner/work/_temp/src/crypto/hmac_sha512.h has correct #includes/fwd-decls)
690
691(/home/runner/work/_temp/src/crypto/hmac_sha512.cpp has correct #includes/fwd-decls)
692
693
694(/home/runner/work/_temp/src/crypto/hmac_sha256.h has correct #includes/fwd-decls)
695
696(/home/runner/work/_temp/src/crypto/hmac_sha256.cpp has correct #includes/fwd-decls)
697
698
699(/home/runner/work/_temp/src/crypto/ripemd160.h has correct #includes/fwd-decls)
700
701(/home/runner/work/_temp/src/crypto/ripemd160.cpp has correct #includes/fwd-decls)
702
703
704(/home/runner/work/_temp/src/crypto/poly1305.h has correct #includes/fwd-decls)
705
706(/home/runner/work/_temp/src/crypto/poly1305.cpp has correct #includes/fwd-decls)
707
708
709(/home/runner/work/_temp/src/node/blockstorage.h has correct #includes/fwd-decls)
710
711(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
712
713(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
714
715(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
716
717(/home/runner/work/_temp/src/node/blockstorage.cpp has correct #includes/fwd-decls)
718
719
720(/home/runner/work/_temp/src/crypto/sha256_sse4.cpp has correct #includes/fwd-decls)
721
722
723(/home/runner/work/_temp/src/crypto/sha1.h has correct #includes/fwd-decls)
724
725(/home/runner/work/_temp/src/crypto/sha1.cpp has correct #includes/fwd-decls)
726
727
728(/home/runner/work/_temp/src/crypto/sha512.h has correct #includes/fwd-decls)
729
730(/home/runner/work/_temp/src/crypto/sha512.cpp has correct #includes/fwd-decls)
731
732
733(/home/runner/work/_temp/src/crypto/sha3.h has correct #includes/fwd-decls)
734
735(/home/runner/work/_temp/src/crypto/sha3.cpp has correct #includes/fwd-decls)
736
737
738(/home/runner/work/_temp/src/crypto/sha256.h has correct #includes/fwd-decls)
739
740(/home/runner/work/_temp/src/crypto/sha256.cpp has correct #includes/fwd-decls)
741
742
743(/home/runner/work/_temp/src/crypto/muhash.h has correct #includes/fwd-decls)
744
745(/home/runner/work/_temp/src/crypto/muhash.cpp has correct #includes/fwd-decls)
746
747
748(/home/runner/work/_temp/src/crypto/siphash.h has correct #includes/fwd-decls)
749
750(/home/runner/work/_temp/src/crypto/siphash.cpp has correct #includes/fwd-decls)
751
752
753(/home/runner/work/_temp/src/crypto/sha256_sse41.cpp has correct #includes/fwd-decls)
754
755
756(/home/runner/work/_temp/src/crypto/sha256_avx2.cpp has correct #includes/fwd-decls)
757
758
759(/home/runner/work/_temp/src/crypto/sha256_x86_shani.cpp has correct #includes/fwd-decls)
760
761
762(/home/runner/work/_temp/src/zmq/zmqabstractnotifier.h has correct #includes/fwd-decls)
763
764(/home/runner/work/_temp/src/zmq/zmqabstractnotifier.cpp has correct #includes/fwd-decls)
765
766
767(/home/runner/work/_temp/src/zmq/zmqutil.h has correct #includes/fwd-decls)
768
769(/home/runner/work/_temp/src/zmq/zmqutil.cpp has correct #includes/fwd-decls)
770
771
772(/home/runner/work/_temp/src/zmq/zmqnotificationinterface.h has correct #includes/fwd-decls)
773
774(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
775
776(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
777
778(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
779
780(/home/runner/work/_temp/src/zmq/zmqnotificationinterface.cpp has correct #includes/fwd-decls)
781
782
783(/home/runner/work/_temp/src/zmq/zmqpublishnotifier.h has correct #includes/fwd-decls)
784
785(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
786
787(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
788
789(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
790
791(/home/runner/work/_temp/src/zmq/zmqpublishnotifier.cpp has correct #includes/fwd-decls)
792
793
794(/home/runner/work/_temp/src/zmq/zmqrpc.h has correct #includes/fwd-decls)
795
796(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
797
798(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
799
800(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
801
802(/home/runner/work/_temp/src/zmq/zmqrpc.cpp has correct #includes/fwd-decls)
803
804
805(/home/runner/work/_temp/src/kernel/checks.h has correct #includes/fwd-decls)
806
807(/home/runner/work/_temp/src/kernel/checks.cpp has correct #includes/fwd-decls)
808
809
810(/home/runner/work/_temp/src/kernel/chain.h has correct #includes/fwd-decls)
811
812(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
813
814(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
815
816(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
817
818(/home/runner/work/_temp/src/kernel/chain.cpp has correct #includes/fwd-decls)
819
820
821(/home/runner/work/_temp/src/kernel/context.h has correct #includes/fwd-decls)
822
823(/home/runner/work/_temp/src/kernel/context.cpp has correct #includes/fwd-decls)
824
825
826(/home/runner/work/_temp/src/kernel/chainparams.h has correct #includes/fwd-decls)
827
828(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
829
830(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
831
832(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
833
834(/home/runner/work/_temp/src/kernel/chainparams.cpp has correct #includes/fwd-decls)
835
836
837(/home/runner/work/_temp/src/kernel/cs_main.h has correct #includes/fwd-decls)
838
839(/home/runner/work/_temp/src/kernel/cs_main.cpp has correct #includes/fwd-decls)
840
841
842(/home/runner/work/_temp/src/kernel/bitcoinkernel.h has correct #includes/fwd-decls)
843
844(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
845
846(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
847
848(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
849
850(/home/runner/work/_temp/src/kernel/bitcoinkernel.cpp has correct #includes/fwd-decls)
851
852
853(/home/runner/work/_temp/src/kernel/mempool_removal_reason.h has correct #includes/fwd-decls)
854
855(/home/runner/work/_temp/src/kernel/mempool_removal_reason.cpp has correct #includes/fwd-decls)
856
857
858(/home/runner/work/_temp/src/kernel/disconnected_transactions.h has correct #includes/fwd-decls)
859
860(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
861
862(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
863
864(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
865
866(/home/runner/work/_temp/src/kernel/disconnected_transactions.cpp has correct #includes/fwd-decls)
867
868
869(/home/runner/work/_temp/src/kernel/coinstats.h has correct #includes/fwd-decls)
870
871(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
872
873(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
874
875(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
876
877(/home/runner/work/_temp/src/kernel/coinstats.cpp has correct #includes/fwd-decls)
878
879
880(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
881
882(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
883
884(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
885
886(/home/runner/work/_temp/src/primitives/block.cpp has correct #includes/fwd-decls)
887
888
889(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
890
891(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
892
893(/home/runner/work/_temp/src/primitives/transaction.cpp has correct #includes/fwd-decls)
894
895
896(/home/runner/work/_temp/src/node/utxo_snapshot.h has correct #includes/fwd-decls)
897
898(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
899
900(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
901
902(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
903
904(/home/runner/work/_temp/src/node/utxo_snapshot.cpp has correct #includes/fwd-decls)
905
906
907(/home/runner/work/_temp/src/node/blockstorage.h has correct #includes/fwd-decls)
908
909(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
910
911(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
912
913(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
914
915(/home/runner/work/_temp/src/node/blockstorage.cpp has correct #includes/fwd-decls)
916
917
918(/home/runner/work/_temp/src/signet.h has correct #includes/fwd-decls)
919
920(/home/runner/work/_temp/src/primitives/block.h has correct #includes/fwd-decls)
921
922(/home/runner/work/_temp/src/primitives/transaction.h has correct #includes/fwd-decls)
923
924(/home/runner/work/_temp/src/primitives/transaction_identifier.h has correct #includes/fwd-decls)
925
926(/home/runner/work/_temp/src/signet.cpp has correct #includes/fwd-decls)
927
928+ python3 /include-what-you-use/fix_includes.py --nosafe_headers
929(skipping /home/runner/work/_temp/src/primitives/transaction.h: iwyu reports no contentful changes)
930(skipping /home/runner/work/_temp/src/primitives/transaction_identifier.h: iwyu reports no contentful changes)
931(skipping /home/runner/work/_temp/src/primitives/transaction.cpp: iwyu reports no contentful changes)
932(skipping /home/runner/work/_temp/src/primitives/block.h: iwyu reports no contentful changes)
933(skipping /home/runner/work/_temp/src/primitives/block.cpp: iwyu reports no contentful changes)
934(skipping /home/runner/work/_temp/src/common/init.h: iwyu reports no contentful changes)
935(skipping /home/runner/work/_temp/src/common/messages.cpp: iwyu reports no contentful changes)
936(skipping /home/runner/work/_temp/src/common/run_command.h: iwyu reports no contentful changes)
937(skipping /home/runner/work/_temp/src/common/url.h: iwyu reports no contentful changes)
938(skipping /home/runner/work/_temp/src/common/signmessage.h: iwyu reports no contentful changes)
939(skipping /home/runner/work/_temp/src/core_io.h: iwyu reports no contentful changes)
940(skipping /home/runner/work/_temp/src/core_io.cpp: iwyu reports no contentful changes)
941(skipping /home/runner/work/_temp/src/kernel/chainparams.h: iwyu reports no contentful changes)
942(skipping /home/runner/work/_temp/src/kernel/chainparams.cpp: iwyu reports no contentful changes)
943(skipping /home/runner/work/_temp/src/index/base.h: iwyu reports no contentful changes)
944(skipping /home/runner/work/_temp/src/index/base.cpp: iwyu reports no contentful changes)
945(skipping /home/runner/work/_temp/src/index/blockfilterindex.h: iwyu reports no contentful changes)
946(skipping /home/runner/work/_temp/src/index/blockfilterindex.cpp: iwyu reports no contentful changes)
947(skipping /home/runner/work/_temp/src/index/coinstatsindex.h: iwyu reports no contentful changes)
948(skipping /home/runner/work/_temp/src/index/coinstatsindex.cpp: iwyu reports no contentful changes)
949(skipping /home/runner/work/_temp/src/index/txindex.h: iwyu reports no contentful changes)
950(skipping /home/runner/work/_temp/src/index/txindex.cpp: iwyu reports no contentful changes)
951(skipping /home/runner/work/_temp/src/kernel/chain.h: iwyu reports no contentful changes)
952(skipping /home/runner/work/_temp/src/kernel/chain.cpp: iwyu reports no contentful changes)
953(skipping /home/runner/work/_temp/src/kernel/checks.h: iwyu reports no contentful changes)
954(skipping /home/runner/work/_temp/src/kernel/checks.cpp: iwyu reports no contentful changes)
955(skipping /home/runner/work/_temp/src/kernel/cs_main.h: iwyu reports no contentful changes)
956(skipping /home/runner/work/_temp/src/kernel/cs_main.cpp: iwyu reports no contentful changes)
957(skipping /home/runner/work/_temp/src/index/txospenderindex.h: iwyu reports no contentful changes)
958(skipping /home/runner/work/_temp/src/index/txospenderindex.cpp: iwyu reports no contentful changes)
959(skipping /home/runner/work/_temp/src/kernel/context.h: iwyu reports no contentful changes)
960(skipping /home/runner/work/_temp/src/kernel/context.cpp: iwyu reports no contentful changes)
961(skipping /home/runner/work/_temp/src/kernel/mempool_removal_reason.h: iwyu reports no contentful changes)
962(skipping /home/runner/work/_temp/src/kernel/mempool_removal_reason.cpp: iwyu reports no contentful changes)
963(skipping /home/runner/work/_temp/src/kernel/disconnected_transactions.h: iwyu reports no contentful changes)
964(skipping /home/runner/work/_temp/src/kernel/disconnected_transactions.cpp: iwyu reports no contentful changes)
965(skipping /home/runner/work/_temp/src/kernel/coinstats.h: iwyu reports no contentful changes)
966(skipping /home/runner/work/_temp/src/kernel/coinstats.cpp: iwyu reports no contentful changes)
967(skipping /home/runner/work/_temp/src/univalue/include/univalue.h: iwyu reports no contentful changes)
968(skipping /home/runner/work/_temp/src/univalue/lib/univalue.cpp: iwyu reports no contentful changes)
969(skipping /home/runner/work/_temp/src/signet.h: iwyu reports no contentful changes)
970(skipping /home/runner/work/_temp/src/signet.cpp: iwyu reports no contentful changes)
971(skipping /home/runner/work/_temp/src/univalue/lib/univalue_read.cpp: iwyu reports no contentful changes)
972(skipping /home/runner/work/_temp/src/univalue/lib/univalue_get.cpp: iwyu reports no contentful changes)
973(skipping /home/runner/work/_temp/src/univalue/lib/univalue_write.cpp: iwyu reports no contentful changes)
974(skipping /home/runner/work/_temp/src/node/utxo_snapshot.h: iwyu reports no contentful changes)
975(skipping /home/runner/work/_temp/src/node/utxo_snapshot.cpp: iwyu reports no contentful changes)
976(skipping /home/runner/work/_temp/src/univalue/test/unitester.cpp: iwyu reports no contentful changes)
977(skipping /home/runner/work/_temp/src/univalue/test/object.cpp: iwyu reports no contentful changes)
978(skipping /home/runner/work/_temp/src/crypto/aes.h: iwyu reports no contentful changes)
979(skipping /home/runner/work/_temp/src/crypto/aes.cpp: iwyu reports no contentful changes)
980(skipping /home/runner/work/_temp/src/crypto/chacha20.h: iwyu reports no contentful changes)
981(skipping /home/runner/work/_temp/src/crypto/chacha20.cpp: iwyu reports no contentful changes)
982(skipping /home/runner/work/_temp/src/crypto/chacha20poly1305.h: iwyu reports no contentful changes)
983(skipping /home/runner/work/_temp/src/crypto/chacha20poly1305.cpp: iwyu reports no contentful changes)
984(skipping /home/runner/work/_temp/src/crypto/hkdf_sha256_32.h: iwyu reports no contentful changes)
985(skipping /home/runner/work/_temp/src/crypto/hkdf_sha256_32.cpp: iwyu reports no contentful changes)
986(skipping /home/runner/work/_temp/src/crypto/hex_base.h: iwyu reports no contentful changes)
987(skipping /home/runner/work/_temp/src/crypto/hex_base.cpp: iwyu reports no contentful changes)
988(skipping /home/runner/work/_temp/src/crypto/hmac_sha512.h: iwyu reports no contentful changes)
989(skipping /home/runner/work/_temp/src/crypto/hmac_sha512.cpp: iwyu reports no contentful changes)
990(skipping /home/runner/work/_temp/src/crypto/hmac_sha256.h: iwyu reports no contentful changes)
991(skipping /home/runner/work/_temp/src/crypto/hmac_sha256.cpp: iwyu reports no contentful changes)
992(skipping /home/runner/work/_temp/src/crypto/ripemd160.h: iwyu reports no contentful changes)
993(skipping /home/runner/work/_temp/src/crypto/ripemd160.cpp: iwyu reports no contentful changes)
994(skipping /home/runner/work/_temp/src/crypto/poly1305.h: iwyu reports no contentful changes)
995(skipping /home/runner/work/_temp/src/crypto/poly1305.cpp: iwyu reports no contentful changes)
996(skipping /home/runner/work/_temp/src/node/blockstorage.h: iwyu reports no contentful changes)
997(skipping /home/runner/work/_temp/src/node/blockstorage.cpp: iwyu reports no contentful changes)
998(skipping /home/runner/work/_temp/src/crypto/sha256_sse4.cpp: iwyu reports no contentful changes)
999(skipping /home/runner/work/_temp/src/crypto/sha1.h: iwyu reports no contentful changes)
1000(skipping /home/runner/work/_temp/src/crypto/sha1.cpp: iwyu reports no contentful changes)
1001(skipping /home/runner/work/_temp/src/crypto/sha512.h: iwyu reports no contentful changes)
1002(skipping /home/runner/work/_temp/src/crypto/sha512.cpp: iwyu reports no contentful changes)
1003(skipping /home/runner/work/_temp/src/crypto/sha3.h: iwyu reports no contentful changes)
1004(skipping /home/runner/work/_temp/src/crypto/sha3.cpp: iwyu reports no contentful changes)
1005(skipping /home/runner/work/_temp/src/crypto/sha256.h: iwyu reports no contentful changes)
1006(skipping /home/runner/work/_temp/src/crypto/sha256.cpp: iwyu reports no contentful changes)
1007(skipping /home/runner/work/_temp/src/crypto/muhash.h: iwyu reports no contentful changes)
1008(skipping /home/runner/work/_temp/src/crypto/muhash.cpp: iwyu reports no contentful changes)
1009(skipping /home/runner/work/_temp/src/crypto/siphash.h: iwyu reports no contentful changes)
1010(skipping /home/runner/work/_temp/src/crypto/siphash.cpp: iwyu reports no contentful changes)
1011(skipping /home/runner/work/_temp/src/crypto/sha256_sse41.cpp: iwyu reports no contentful changes)
1012(skipping /home/runner/work/_temp/src/crypto/sha256_avx2.cpp: iwyu reports no contentful changes)
1013(skipping /home/runner/work/_temp/src/crypto/sha256_x86_shani.cpp: iwyu reports no contentful changes)
1014(skipping /home/runner/work/_temp/src/zmq/zmqabstractnotifier.h: iwyu reports no contentful changes)
1015(skipping /home/runner/work/_temp/src/zmq/zmqabstractnotifier.cpp: iwyu reports no contentful changes)
1016(skipping /home/runner/work/_temp/src/zmq/zmqutil.h: iwyu reports no contentful changes)
1017(skipping /home/runner/work/_temp/src/zmq/zmqutil.cpp: iwyu reports no contentful changes)
1018(skipping /home/runner/work/_temp/src/zmq/zmqnotificationinterface.h: iwyu reports no contentful changes)
1019(skipping /home/runner/work/_temp/src/zmq/zmqnotificationinterface.cpp: iwyu reports no contentful changes)
1020(skipping /home/runner/work/_temp/src/zmq/zmqpublishnotifier.h: iwyu reports no contentful changes)
1021(skipping /home/runner/work/_temp/src/zmq/zmqpublishnotifier.cpp: iwyu reports no contentful changes)
1022(skipping /home/runner/work/_temp/src/zmq/zmqrpc.h: iwyu reports no contentful changes)
1023(skipping /home/runner/work/_temp/src/zmq/zmqrpc.cpp: iwyu reports no contentful changes)
1024(skipping /home/runner/work/_temp/src/kernel/bitcoinkernel.h: iwyu reports no contentful changes)
1025(skipping /home/runner/work/_temp/src/kernel/bitcoinkernel.cpp: iwyu reports no contentful changes)
1026>>> Fixing #includes in '/home/runner/work/_temp/src/common/bloom.h'
1027>>> Fixing #includes in '/home/runner/work/_temp/src/common/bloom.cpp'
1028>>> Fixing #includes in '/home/runner/work/_temp/src/common/args.h'
1029>>> Fixing #includes in '/home/runner/work/_temp/src/common/args.cpp'
1030>>> Fixing #includes in '/home/runner/work/_temp/src/common/config.cpp'
1031>>> Fixing #includes in '/home/runner/work/_temp/src/common/init.cpp'
1032>>> Fixing #includes in '/home/runner/work/_temp/src/common/interfaces.cpp'
1033>>> Fixing #includes in '/home/runner/work/_temp/src/common/messages.h'
1034>>> Fixing #includes in '/home/runner/work/_temp/src/common/netif.h'
1035>>> Fixing #includes in '/home/runner/work/_temp/src/common/netif.cpp'
1036>>> Fixing #includes in '/home/runner/work/_temp/src/common/run_command.cpp'
1037>>> Fixing #includes in '/home/runner/work/_temp/src/common/pcp.h'
1038>>> Fixing #includes in '/home/runner/work/_temp/src/common/pcp.cpp'
1039>>> Fixing #includes in '/home/runner/work/_temp/src/common/settings.h'
1040>>> Fixing #includes in '/home/runner/work/_temp/src/common/settings.cpp'
1041>>> Fixing #includes in '/home/runner/work/_temp/src/common/url.cpp'
1042>>> Fixing #includes in '/home/runner/work/_temp/src/common/signmessage.cpp'
1043>>> Fixing #includes in '/home/runner/work/_temp/src/common/system.h'
1044>>> Fixing #includes in '/home/runner/work/_temp/src/common/system.cpp'
1045IWYU edited 19 files on your behalf.
1046
1047+ git diff -U1
1048+ ./contrib/devtools/clang-format-diff.py -binary=clang-format-22 -p1 -i -v
1049Formatting src/common/args.cpp
1050Formatting src/common/args.h
1051Formatting src/common/bloom.cpp
1052Formatting src/common/bloom.h
1053Formatting src/common/config.cpp
1054Formatting src/common/init.cpp
1055Formatting src/common/interfaces.cpp
1056Formatting src/common/messages.h
1057Formatting src/common/netif.cpp
1058Formatting src/common/netif.h
1059Formatting src/common/pcp.cpp
1060Formatting src/common/pcp.h
1061Formatting src/common/run_command.cpp
1062Formatting src/common/settings.cpp
1063Formatting src/common/settings.h
1064Formatting src/common/signmessage.cpp
1065Formatting src/common/system.cpp
1066Formatting src/common/system.h
1067Formatting src/common/url.cpp
1068+ git --no-pager diff --exit-code
1069diff --git a/src/common/args.cpp b/src/common/args.cpp
1070index 12e0f26..101b4b7 100644
1071--- a/src/common/args.cpp
1072+++ b/src/common/args.cpp
1073@@ -23,8 +23,6 @@
1074 #endif
1075
1076 #include <algorithm>
1077-#include <cassert>
1078-#include <cstdint>
1079 #include <cstdlib>
1080 #include <cstring>
1081 #include <map>
1082diff --git a/src/common/args.h b/src/common/args.h
1083index de323d3..26ea241 100644
1084--- a/src/common/args.h
1085+++ b/src/common/args.h
1086@@ -6,7 +6,6 @@
1087 #define BITCOIN_COMMON_ARGS_H
1088
1089 #include <common/settings.h>
1090-#include <compat/compat.h>
1091 #include <sync.h>
1092 #include <util/chaintype.h>
1093 #include <util/fs.h>
1094diff --git a/src/common/bloom.cpp b/src/common/bloom.cpp
1095index 3ee7899..c15c8f7 100644
1096--- a/src/common/bloom.cpp
1097+++ b/src/common/bloom.cpp
1098@@ -16,8 +16,7 @@
1099
1100 #include <algorithm>
1101 #include <cmath>
1102-#include <cstdlib>
1103-#include <limits>
1104+#include <compare>
1105 #include <vector>
1106
1107 static constexpr double LN2SQUARED = 0.4804530139182014246671025263266649717305529515945455;
1108diff --git a/src/common/bloom.h b/src/common/bloom.h
1109index 97007e1..c9ed89f 100644
1110--- a/src/common/bloom.h
1111+++ b/src/common/bloom.h
1112@@ -6,8 +6,9 @@
1113 #define BITCOIN_COMMON_BLOOM_H
1114
1115 #include <serialize.h>
1116-#include <span.h>
1117
1118+#include <cstdint>
1119+#include <span>
1120 #include <vector>
1121
1122 class COutPoint;
1123diff --git a/src/common/config.cpp b/src/common/config.cpp
1124index a05c20d..3c88e3a 100644
1125--- a/src/common/config.cpp
1126+++ b/src/common/config.cpp
1127@@ -3,27 +3,23 @@
1128 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
1129
1130 #include <common/args.h>
1131-
1132 #include <common/settings.h>
1133 #include <logging.h>
1134 #include <sync.h>
1135 #include <tinyformat.h>
1136 #include <univalue.h>
1137-#include <util/chaintype.h>
1138 #include <util/fs.h>
1139 #include <util/string.h>
1140
1141 #include <algorithm>
1142 #include <cassert>
1143 #include <cstdlib>
1144-#include <filesystem>
1145 #include <fstream>
1146 #include <iostream>
1147-#include <sstream>
1148 #include <list>
1149 #include <map>
1150-#include <memory>
1151 #include <optional>
1152+#include <sstream>
1153 #include <string>
1154 #include <string_view>
1155 #include <utility>
1156diff --git a/src/common/init.cpp b/src/common/init.cpp
1157index 7a1d664..e6f49c3 100644
1158--- a/src/common/init.cpp
1159+++ b/src/common/init.cpp
1160@@ -2,15 +2,15 @@
1161 // Distributed under the MIT software license, see the accompanying
1162 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
1163
1164+#include <common/init.h>
1165+
1166 #include <chainparams.h>
1167 #include <common/args.h>
1168-#include <common/init.h>
1169 #include <logging.h>
1170 #include <tinyformat.h>
1171 #include <util/fs.h>
1172 #include <util/translation.h>
1173
1174-#include <algorithm>
1175 #include <exception>
1176 #include <optional>
1177
1178diff --git a/src/common/interfaces.cpp b/src/common/interfaces.cpp
1179index ffd85e6..be97653 100644
1180--- a/src/common/interfaces.cpp
1181+++ b/src/common/interfaces.cpp
1182@@ -6,7 +6,10 @@
1183 #include <interfaces/handler.h>
1184
1185 #include <boost/signals2/connection.hpp>
1186+
1187+#include <functional>
1188 #include <memory>
1189+#include <string>
1190 #include <utility>
1191
1192 namespace common {
1193diff --git a/src/common/messages.h b/src/common/messages.h
1194index 60fdaa1..6dc3212 100644
1195--- a/src/common/messages.h
1196+++ b/src/common/messages.h
1197@@ -13,17 +13,19 @@
1198
1199 #include <string>
1200 #include <string_view>
1201+#include <utility>
1202
1203 struct bilingual_str;
1204-
1205 enum class FeeEstimateMode;
1206 enum class FeeReason;
1207+
1208 namespace node {
1209 enum class TransactionError;
1210 } // namespace node
1211
1212 namespace common {
1213 enum class PSBTError;
1214+
1215 bool FeeModeFromString(std::string_view mode_string, FeeEstimateMode& fee_estimate_mode);
1216 std::string StringForFeeReason(FeeReason reason);
1217 std::string FeeModes(const std::string& delimiter);
1218diff --git a/src/common/netif.cpp b/src/common/netif.cpp
1219index 8c0c4fa..6d6a6e0 100644
1220--- a/src/common/netif.cpp
1221+++ b/src/common/netif.cpp
1222@@ -6,11 +6,12 @@
1223
1224 #include <common/netif.h>
1225
1226+#include <compat/compat.h>
1227+#include <linux/netlink.h>
1228 #include <logging.h>
1229 #include <netbase.h>
1230 #include <util/check.h>
1231 #include <util/sock.h>
1232-#include <util/syserror.h>
1233
1234 #if defined(__linux__)
1235 #include <linux/rtnetlink.h>
1236@@ -34,6 +35,12 @@
1237 #include <ifaddrs.h>
1238 #endif
1239
1240+#include <cerrno>
1241+ echo '^^^ ⚠️ Failure generated from IWYU'
1242+ false
1243+#include <cstdint>
1244+#include <cstring>
1245+#include <functional>
1246+#include <memory>
1247+#include <string>
1248 #include <type_traits>
1249
1250 namespace {
1251diff --git a/src/common/netif.h b/src/common/netif.h
1252index 769bcbc..84df00a 100644
1253--- a/src/common/netif.h
1254+++ b/src/common/netif.h
1255@@ -8,6 +8,7 @@
1256 #include <netaddress.h>
1257
1258 #include <optional>
1259+#include <vector>
1260
1261 //! Query the OS for the default gateway for `network`. This only makes sense for NET_IPV4 and NET_IPV6.
1262 //! Returns std::nullopt if it cannot be found, or there is no support for this OS.
1263diff --git a/src/common/pcp.cpp b/src/common/pcp.cpp
1264index a640b82..5fcbec4 100644
1265--- a/src/common/pcp.cpp
1266+++ b/src/common/pcp.cpp
1267@@ -4,19 +4,30 @@
1268
1269 #include <common/pcp.h>
1270
1271-#include <atomic>
1272-#include <common/netif.h>
1273+#include <compat/compat.h>
1274 #include <crypto/common.h>
1275+#include <crypto/hex_base.h>
1276 #include <logging.h>
1277 #include <netaddress.h>
1278 #include <netbase.h>
1279-#include <random.h>
1280-#include <span.h>
1281+#include <tinyformat.h>
1282 #include <util/check.h>
1283-#include <util/readwritefile.h>
1284 #include <util/sock.h>
1285-#include <util/strencodings.h>
1286+#include <util/string.h>
1287 #include <util/threadinterrupt.h>
1288+#include <util/time.h>
1289+
1290+#include <algorithm>
1291+#include <atomic>
1292+#include <compare>
1293+#include <cstring>
1294+#include <functional>
1295+#include <map>
1296+#include <memory>
1297+#include <optional>
1298+#include <span>
1299+#include <utility>
1300+#include <vector>
1301
1302 namespace {
1303
1304diff --git a/src/common/pcp.h b/src/common/pcp.h
1305index 121349b..b703ccd 100644
1306--- a/src/common/pcp.h
1307+++ b/src/common/pcp.h
1308@@ -6,10 +6,16 @@
1309 #define BITCOIN_COMMON_PCP_H
1310
1311 #include <netaddress.h>
1312-#include <util/threadinterrupt.h>
1313
1314+#include <array>
1315+#include <chrono>
1316+#include <cstddef>
1317+#include <cstdint>
1318+#include <string>
1319 #include <variant>
1320
1321+class CThreadInterrupt;
1322+
1323 // RFC6886 NAT-PMP and RFC6887 Port Control Protocol (PCP) implementation.
1324 // NAT-PMP and PCP use network byte order (big-endian).
1325
1326diff --git a/src/common/run_command.cpp b/src/common/run_command.cpp
1327index 86f89e1..026e1ef 100644
1328--- a/src/common/run_command.cpp
1329+++ b/src/common/run_command.cpp
1330@@ -10,6 +10,10 @@
1331 #include <univalue.h>
1332 #include <util/string.h>
1333
1334+#include <sstream>
1335+#include <stdexcept>
1336+#include <utility>
1337+
1338 #ifdef ENABLE_EXTERNAL_SIGNER
1339 #include <util/subprocess.h>
1340 #endif // ENABLE_EXTERNAL_SIGNER
1341diff --git a/src/common/settings.cpp b/src/common/settings.cpp
1342index e9b9297..d8c627a 100644
1343--- a/src/common/settings.cpp
1344+++ b/src/common/settings.cpp
1345@@ -2,15 +2,14 @@
1346 // Distributed under the MIT software license, see the accompanying
1347 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
1348
1349-#include <common/settings.h>
1350-
1351 #include <bitcoin-build-config.h> // IWYU pragma: keep
1352
1353+#include <common/settings.h>
1354+
1355 #include <tinyformat.h>
1356 #include <univalue.h>
1357 #include <util/fs.h>
1358
1359-#include <algorithm>
1360 #include <fstream>
1361 #include <iterator>
1362 #include <map>
1363diff --git a/src/common/settings.h b/src/common/settings.h
1364index bc7b89a..b326df7 100644
1365--- a/src/common/settings.h
1366+++ b/src/common/settings.h
1367@@ -5,6 +5,7 @@
1368 #ifndef BITCOIN_COMMON_SETTINGS_H
1369 #define BITCOIN_COMMON_SETTINGS_H
1370
1371+#include <univalue.h>
1372 #include <util/fs.h>
1373
1374 #include <cstddef>
1375@@ -12,8 +13,6 @@
1376 #include <string>
1377 #include <vector>
1378
1379-class UniValue;
1380-
1381 namespace common {
1382
1383 //! Settings value type (string/integer/boolean/null variant).
1384diff --git a/src/common/signmessage.cpp b/src/common/signmessage.cpp
1385index 0f9e1f5..cae76ba 100644
1386--- a/src/common/signmessage.cpp
1387+++ b/src/common/signmessage.cpp
1388@@ -4,6 +4,8 @@
1389 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
1390
1391 #include <common/signmessage.h>
1392+
1393+#include <addresstype.h>
1394 #include <hash.h>
1395 #include <key.h>
1396 #include <key_io.h>
1397@@ -13,6 +15,7 @@
1398
1399 #include <cassert>
1400 #include <optional>
1401+#include <span>
1402 #include <string>
1403 #include <variant>
1404 #include <vector>
1405diff --git a/src/common/system.cpp b/src/common/system.cpp
1406index 08c0c69..1d5396e 100644
1407--- a/src/common/system.cpp
1408+++ b/src/common/system.cpp
1409@@ -8,14 +8,16 @@
1410 #include <common/system.h>
1411
1412 #include <logging.h>
1413+#include <sys/types.h>
1414 #include <util/string.h>
1415 #include <util/time.h>
1416
1417 #ifdef WIN32
1418-#include <cassert>
1419-#include <codecvt>
1420 #include <compat/compat.h>
1421 #include <windows.h>
1422+
1423+#include <cassert>
1424+#include <codecvt>
1425 #else
1426 #include <sys/stat.h>
1427 #include <unistd.h>
1428@@ -29,6 +31,7 @@
1429 #include <cstddef>
1430 #include <cstdint>
1431 #include <cstdlib>
1432+#include <limits>
1433 #include <locale>
1434 #include <optional>
1435 #include <stdexcept>
1436diff --git a/src/common/system.h b/src/common/system.h
1437index a3100fe..6fa6bd4 100644
1438--- a/src/common/system.h
1439+++ b/src/common/system.h
1440@@ -7,10 +7,10 @@
1441 #define BITCOIN_COMMON_SYSTEM_H
1442
1443 #include <bitcoin-build-config.h> // IWYU pragma: keep
1444+
1445 #include <util/time.h>
1446
1447-#include <chrono>
1448-#include <cstdint>
1449+#include <cstddef>
1450 #include <optional>
1451 #include <string>
1452
1453diff --git a/src/common/url.cpp b/src/common/url.cpp
1454index 30ac26a..adb5220 100644
1455--- a/src/common/url.cpp
1456+++ b/src/common/url.cpp
1457@@ -5,6 +5,7 @@
1458 #include <common/url.h>
1459
1460 #include <charconv>
1461+#include <cstddef>
1462 #include <string>
1463 #include <string_view>
1464 #include <system_error>
1465^^^ ⚠️ Failure generated from IWYU