Merge #14885: rpc: Assert named arguments are unique in RPCHelpMan

e09a5875ca rpc: Assert named arguments are unique in RPCHelpMan (João Barbosa)

Pull request description:

  Prevents an obvious mistake.

Tree-SHA512: 32c24a1934b17ab6f0d5cd31bdf0388e93ee5156ccc1b4f78eb9fd7f1d4b27a4b978b594ff11812bc9f20987c9fc36bf4497ddaedf18cf6bcbea19c050571334
This commit is contained in:
MarcoFalke 2018-12-10 10:26:27 -05:00
commit 234b99b921
No known key found for this signature in database
GPG Key ID: D2EA4850E7528B25
2 changed files with 11 additions and 4 deletions

View File

@ -242,6 +242,16 @@ struct Sections {
}
};
RPCHelpMan::RPCHelpMan(const std::string& name, const std::string& description, const std::vector<RPCArg>& args)
: m_name{name}, m_description{description}, m_args{args}
{
std::set<std::string> named_args;
for (const auto& arg : m_args) {
// Should have unique named arguments
assert(named_args.insert(arg.m_name).second);
}
}
std::string RPCHelpMan::ToString() const
{
std::string ret;

View File

@ -109,10 +109,7 @@ struct RPCArg {
class RPCHelpMan
{
public:
RPCHelpMan(const std::string& name, const std::string& description, const std::vector<RPCArg>& args)
: m_name{name}, m_description{description}, m_args{args}
{
}
RPCHelpMan(const std::string& name, const std::string& description, const std::vector<RPCArg>& args);
std::string ToString() const;