some of these includes seem unused, can you please check?
<details>
<summary>iwyu_tool.py</summary>
python3 /opt/homebrew/bin/iwyu_tool.py -p build-iwyu src/test/threadpool_tests.cpp -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=$PWD/contrib/devtools/iwyu/bitcoin.core.i
mp -Xiwyu --max_line_length=160 -Xiwyu --check_also=$PWD/src/util/threadpool.h
/Users/lorinc/IdeaProjects/bitcoin/src/util/threadpool.h should add these lines:
#include <__vector/vector.h> // for vector
/Users/lorinc/IdeaProjects/bitcoin/src/util/threadpool.h should remove these lines:
- #include <util/threadinterrupt.h> // lines 13-13
- #include <atomic> // lines 16-16
- #include <functional> // lines 19-19
- #include <memory> // lines 21-21
- #include <vector> // lines 26-26
The full include-list for /Users/lorinc/IdeaProjects/bitcoin/src/util/threadpool.h:
#include <__vector/vector.h> // for vector
#include <sync.h> // for UniqueLock, EXCLUSIVE_LOCKS_REQUIRED, LOCK, WITH_LOCK, GUARDED_BY, Mutex, REVERSE_LOCK, WAIT_LOCK
#include <tinyformat.h> // for format, formatTruncated, formatValue, makeFormatList, strprintf
#include <util/check.h> // for assert, inline_assertion_check, Assume
#include <util/string.h> // for string, basic_string, basic_string_view
#include <util/thread.h> // for TraceThread
#include <algorithm> // for move
#include <condition_variable> // for condition_variable
#include <cstddef> // for size_t
#include <future> // for packaged_task
#include <queue> // for queue
#include <stdexcept> // for runtime_error
#include <thread> // for thread, get_id, operator==, __thread_id
#include <utility> // for move, forward
---
/Users/lorinc/IdeaProjects/bitcoin/src/test/threadpool_tests.cpp should add these lines:
#include <__vector/vector.h> // for vector
#include <algorithm> // for max
#include <atomic> // for atomic, memory_order_relaxed, memory_order_acquire, memory_order_release
#include <boost/preprocessor/arithmetic/limits/dec_256.hpp> // for BOOST_PP_DEC_1, BOOST_PP_DEC_2, BOOST_PP_DEC_128, BOOST_PP_DEC_16, BOOST_PP_DEC_3
#include <boost/preprocessor/comparison/limits/not_equal_256.hpp> // for BOOST_PP_NOT_EQUAL_1, BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1
#include <boost/preprocessor/control/expr_iif.hpp> // for BOOST_PP_EXPR_IIF_1
#include <boost/preprocessor/control/iif.hpp> // for BOOST_PP_IIF_1, BOOST_PP_IIF_0
#include <boost/preprocessor/detail/limits/auto_rec_256.hpp> // for BOOST_PP_NODE_ENTRY_256
#include <boost/preprocessor/logical/compl.hpp> // for BOOST_PP_COMPL_0
#include <boost/preprocessor/logical/limits/bool_256.hpp> // for BOOST_PP_BOOL_0, BOOST_PP_BOOL_1, BOOST_PP_BOOL_2
#include <boost/preprocessor/repetition/detail/limits/for_256.hpp> // for BOOST_PP_FOR_0, BOOST_PP_FOR_1, BOOST_PP_FOR_127, BOOST_PP_FOR_15, BOOST_PP_FOR_3
#include <boost/preprocessor/repetition/for.hpp> // for BOOST_PP_FOR_CHECK_BOOST_PP_NIL
#include <boost/preprocessor/seq/limits/elem_256.hpp> // for BOOST_PP_SEQ_ELEM_0
#include <boost/preprocessor/seq/limits/size_256.hpp> // for BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2, BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3
#include <boost/preprocessor/tuple/elem.hpp> // for BOOST_PP_TUPLE_ELEM_O_3
#include <boost/preprocessor/variadic/limits/elem_64.hpp> // for BOOST_PP_VARIADIC_ELEM_3
#include <boost/test/tools/assertion_result.hpp> // for assertion_result
#include <boost/test/tools/old/interface.hpp> // for BOOST_TEST_TOOL_PASS_ARGS2, BOOST_TEST_TOOL_PASS_PRED2, BOOST_CHECK_EQUAL, BOOST_...
#include <boost/test/tree/auto_registration.hpp> // for auto_test_unit_registrar
#include <boost/test/unit_test_suite.hpp> // for BOOST_AUTO_TEST_CASE, BOOST_AUTO_TEST_CASE_FIXTURE, BOOST_AUTO_TEST_SUITE, BOOST_...
#include <boost/test/utils/basic_cstring/basic_cstring.hpp> // for basic_cstring
#include <boost/test/utils/lazy_ostream.hpp> // for operator<<
#include <future> // for future, promise, future_status, shared_future
#include <stdexcept> // for runtime_error
#include <thread> // for thread
/Users/lorinc/IdeaProjects/bitcoin/src/test/threadpool_tests.cpp should remove these lines:
- #include <boost/test/unit_test.hpp> // lines 10-10
The full include-list for /Users/lorinc/IdeaProjects/bitcoin/src/test/threadpool_tests.cpp:
#include <__vector/vector.h> // for vector
#include <common/system.h> // for GetNumCores
#include <util/string.h> // for basic_string, allocator, char_traits, string, ToString, operator+
#include <util/threadpool.h> // for ThreadPool
#include <util/time.h> // for UninterruptibleSleep, milliseconds, operator""s
#include <algorithm> // for max
#include <atomic> // for atomic, memory_order_relaxed, memory_order_acquire, memory_order_release
#include <boost/preprocessor/arithmetic/limits/dec_256.hpp> // for BOOST_PP_DEC_1, BOOST_PP_DEC_2, BOOST_PP_DEC_128, BOOST_PP_DEC_16, BOOST_PP_DEC_3
#include <boost/preprocessor/comparison/limits/not_equal_256.hpp> // for BOOST_PP_NOT_EQUAL_1, BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1
#include <boost/preprocessor/control/expr_iif.hpp> // for BOOST_PP_EXPR_IIF_1
#include <boost/preprocessor/control/iif.hpp> // for BOOST_PP_IIF_1, BOOST_PP_IIF_0
#include <boost/preprocessor/detail/limits/auto_rec_256.hpp> // for BOOST_PP_NODE_ENTRY_256
#include <boost/preprocessor/logical/compl.hpp> // for BOOST_PP_COMPL_0
#include <boost/preprocessor/logical/limits/bool_256.hpp> // for BOOST_PP_BOOL_0, BOOST_PP_BOOL_1, BOOST_PP_BOOL_2
#include <boost/preprocessor/repetition/detail/limits/for_256.hpp> // for BOOST_PP_FOR_0, BOOST_PP_FOR_1, BOOST_PP_FOR_127, BOOST_PP_FOR_15, BOOST_PP_FOR_3
#include <boost/preprocessor/repetition/for.hpp> // for BOOST_PP_FOR_CHECK_BOOST_PP_NIL
#include <boost/preprocessor/seq/limits/elem_256.hpp> // for BOOST_PP_SEQ_ELEM_0
#include <boost/preprocessor/seq/limits/size_256.hpp> // for BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2, BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3
#include <boost/preprocessor/tuple/elem.hpp> // for BOOST_PP_TUPLE_ELEM_O_3
#include <boost/preprocessor/variadic/limits/elem_64.hpp> // for BOOST_PP_VARIADIC_ELEM_3
#include <boost/test/tools/assertion_result.hpp> // for assertion_result
#include <boost/test/tools/old/interface.hpp> // for BOOST_TEST_TOOL_PASS_ARGS2, BOOST_TEST_TOOL_PASS_PRED2, BOOST_CHECK_EQUAL, BOOST_...
#include <boost/test/tree/auto_registration.hpp> // for auto_test_unit_registrar
#include <boost/test/unit_test_suite.hpp> // for BOOST_AUTO_TEST_CASE, BOOST_AUTO_TEST_CASE_FIXTURE, BOOST_AUTO_TEST_SUITE, BOOST_...
#include <boost/test/utils/basic_cstring/basic_cstring.hpp> // for basic_cstring
#include <boost/test/utils/lazy_ostream.hpp> // for operator<<
#include <future> // for future, promise, future_status, shared_future
#include <stdexcept> // for runtime_error
#include <thread> // for thread
---
</details>