This spews a bunch of redundant-decls warnings when compiling for me. I tried dropping it, but that doesn't work.
In file included from ./validation.h:28,
from ./rpc/blockchain.h:13,
from rest.cpp:19:
./txmempool.h:358:19: warning: redundant redeclaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’ in same scope [-Wredundant-decls]
358 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
In file included from ./index/base.h:11,
from ./index/blockfilterindex.h:12,
from rest.cpp:13:
./validationinterface.h:23:19: note: previous declaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’
23 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
CXX rpc/libbitcoin_node_a-net.o
In file included from ./index/base.h:11,
from ./index/blockfilterindex.h:12,
from rpc/blockchain.cpp:20:
./validationinterface.h:23:19: warning: redundant redeclaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’ in same scope [-Wredundant-decls]
23 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
In file included from ./validation.h:28,
from ./rpc/blockchain.h:13,
from rpc/blockchain.cpp:6:
./txmempool.h:358:19: note: previous declaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’
358 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
CXX rpc/libbitcoin_node_a-node.o
In file included from rpc/mining.cpp:38:
./validationinterface.h:23:19: warning: redundant redeclaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’ in same scope [-Wredundant-decls]
23 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
In file included from ./node/miner.h:10,
from rpc/mining.cpp:19:
./txmempool.h:358:19: note: previous declaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’
358 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
CXX rpc/libbitcoin_node_a-output_script.o
In file included from ./validation.h:28,
from ./rpc/blockchain.h:13,
from rpc/net.cpp:18:
./txmempool.h:358:19: warning: redundant redeclaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’ in same scope [-Wredundant-decls]
358 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
In file included from ./net_processing.h:10,
from rpc/net.cpp:13:
./validationinterface.h:23:19: note: previous declaration of ‘const string RemovalReasonToString(const MemPoolRemovalReason&)’
23 | const std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
| ^~~~~~~~~~~~~~~~~~~~~
CXX rpc/libbitcoin_node_a-rawtransaction.o
CXX rpc/libbitcoin_node_a-server.o
...