This is a backport of core#24404
Note that without this change, the compiler raises errors when trying to compile with `set(CMAKE_CXX_STANDARD 20)`
```
/home/pierre/dev/bitcoin-abc/src/validation.cpp: In static member function ‘static {anonymous}::MemPoolAccept::ATMPArgs {anonymous}::MemPoolAccept::ATMPArgs::SingleAccept(const Config&, int64_t, bool, std::vector<COutPoint>&, bool, unsigned int)’:
/home/pierre/dev/bitcoin-abc/src/validation.cpp:332:59: error: no matching function for call to ‘{anonymous}::MemPoolAccept::ATMPArgs::ATMPArgs(<brace-enclosed initializer list>)’
332 | /*m_package_submission=*/false};
| ^
/home/pierre/dev/bitcoin-abc/src/validation.cpp:299:12: note: candidate: ‘constexpr {anonymous}::MemPoolAccept::ATMPArgs::ATMPArgs(const {anonymous}::MemPoolAccept::ATMPArgs&)’
299 | struct ATMPArgs {
| ^~~~~~~~
/home/pierre/dev/bitcoin-abc/src/validation.cpp:299:12: note: candidate expects 1 argument, 7 provided
```
Depends on D15313