Using explicit conversion functions to eliminate C++20 comparison operator ambiguities.

This commit is contained in:
clemahieu 2023-01-14 15:04:06 +00:00
commit dfcfb6cd6f
7 changed files with 15 additions and 15 deletions

View file

@ -934,7 +934,7 @@ TEST (block_store, roots)
.sign (nano::keypair ().prv, 4)
.work (5)
.build ();
ASSERT_EQ (send_block->hashables.previous, send_block->root ());
ASSERT_EQ (send_block->hashables.previous, send_block->root ().as_block_hash ());
auto change_block = builder
.change ()
.previous (0)
@ -942,7 +942,7 @@ TEST (block_store, roots)
.sign (nano::keypair ().prv, 3)
.work (4)
.build ();
ASSERT_EQ (change_block->hashables.previous, change_block->root ());
ASSERT_EQ (change_block->hashables.previous, change_block->root ().as_block_hash ());
auto receive_block = builder
.receive ()
.previous (0)
@ -950,7 +950,7 @@ TEST (block_store, roots)
.sign (nano::keypair ().prv, 3)
.work (4)
.build ();
ASSERT_EQ (receive_block->hashables.previous, receive_block->root ());
ASSERT_EQ (receive_block->hashables.previous, receive_block->root ().as_block_hash ());
auto open_block = builder
.open ()
.source (0)
@ -959,7 +959,7 @@ TEST (block_store, roots)
.sign (nano::keypair ().prv, 4)
.work (5)
.build ();
ASSERT_EQ (open_block->hashables.account, open_block->root ());
ASSERT_EQ (open_block->hashables.account, open_block->root ().as_account ());
}
TEST (block_store, pending_exists)

View file

@ -282,7 +282,7 @@ TEST (bootstrap_server, serve_hash_one)
nano::asc_pull_ack::blocks_payload response_payload;
ASSERT_NO_THROW (response_payload = std::get<nano::asc_pull_ack::blocks_payload> (response.payload));
ASSERT_EQ (response_payload.blocks.size (), 1);
ASSERT_TRUE (response_payload.blocks.front ()->hash () == request_payload.start);
ASSERT_TRUE (response_payload.blocks.front ()->hash () == request_payload.start.as_block_hash ());
}
TEST (bootstrap_server, serve_end_of_chain)
@ -515,7 +515,7 @@ TEST (bootstrap_server, serve_account_info_missing)
nano::asc_pull_ack::account_info_payload response_payload;
ASSERT_NO_THROW (response_payload = std::get<nano::asc_pull_ack::account_info_payload> (response.payload));
ASSERT_EQ (response_payload.account, request_payload.target);
ASSERT_EQ (response_payload.account, request_payload.target.as_account ());
ASSERT_EQ (response_payload.account_open, 0);
ASSERT_EQ (response_payload.account_head, 0);
ASSERT_EQ (response_payload.account_block_count, 0);

View file

@ -2012,7 +2012,7 @@ TEST (ledger, latest_root)
auto transaction = store.tx_begin_write ();
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
nano::keypair key;
ASSERT_EQ (key.pub, ledger.latest_root (transaction, key.pub));
ASSERT_EQ (key.pub, ledger.latest_root (transaction, key.pub).as_account ());
auto hash1 = ledger.latest (transaction, nano::dev::genesis_key.pub);
nano::block_builder builder;
auto send = builder
@ -2024,7 +2024,7 @@ TEST (ledger, latest_root)
.work (*pool.generate (hash1))
.build ();
ASSERT_EQ (nano::process_result::progress, ledger.process (transaction, *send).code);
ASSERT_EQ (send->hash (), ledger.latest_root (transaction, nano::dev::genesis_key.pub));
ASSERT_EQ (send->hash (), ledger.latest_root (transaction, nano::dev::genesis_key.pub).as_block_hash ());
}
TEST (ledger, change_representative_move_representation)

View file

@ -696,7 +696,7 @@ TEST (wallet, work_cache_delayed)
ASSERT_EQ (block1->hash (), node1.latest (nano::dev::genesis_key.pub));
auto block2 (wallet->send_action (nano::dev::genesis_key.pub, key.pub, 100));
ASSERT_EQ (block2->hash (), node1.latest (nano::dev::genesis_key.pub));
ASSERT_EQ (block2->hash (), node1.wallets.delayed_work->operator[] (nano::dev::genesis_key.pub));
ASSERT_EQ (block2->hash (), node1.wallets.delayed_work->operator[] (nano::dev::genesis_key.pub).as_block_hash ());
auto threshold (node1.default_difficulty (nano::work_version::work_1));
auto again (true);
system.deadline_set (10s);

View file

@ -160,7 +160,7 @@ void nano::bulk_pull_client::received_block (boost::system::error_code ec, std::
// Is block expected?
bool block_expected (false);
// Unconfirmed head is used only for lazy destinations if legacy bootstrap is not available, see nano::bootstrap_attempt::lazy_destinations_increment (...)
bool unconfirmed_account_head (connection->node->flags.disable_legacy_bootstrap && pull_blocks == 0 && pull.retry_limit <= connection->node->network_params.bootstrap.lazy_retry_limit && expected == pull.account_or_head && block->account () == pull.account_or_head);
bool unconfirmed_account_head = connection->node->flags.disable_legacy_bootstrap && pull_blocks == 0 && pull.retry_limit <= connection->node->network_params.bootstrap.lazy_retry_limit && (expected == pull.account_or_head.as_block_hash ()) && (block->account () == pull.account_or_head.as_account ());
if (hash == expected || unconfirmed_account_head)
{
expected = block->previous ();
@ -369,7 +369,7 @@ void nano::bulk_pull_server::set_current_end ()
if (!request->end.is_zero ())
{
auto account (connection->node->ledger.account (transaction, request->end));
if (account != request->start)
if (account != request->start.as_account ())
{
if (connection->node->config.logging.bulk_pull_logging ())
{

View file

@ -5011,7 +5011,7 @@ void nano::json_handler::work_generate ()
block = block_impl (true);
if (block != nullptr)
{
if (hash != block->root ())
if (hash != block->root ().as_block_hash ())
{
ec = nano::error_rpc::block_root_mismatch;
}

View file

@ -51,14 +51,14 @@ nano::transaction const & transaction, nano::hash_or_account const & dependency,
nano::lock_guard<std::recursive_mutex> lock{ entries_mutex };
if (entries == nullptr)
{
for (auto [i, n] = store.unchecked.equal_range (transaction, dependency.as_block_hash ()); predicate () && i->first.key () == dependency && i != n; ++i)
for (auto [i, n] = store.unchecked.equal_range (transaction, dependency.as_block_hash ()); predicate () && i->first.key () == dependency.as_block_hash () && i != n; ++i)
{
action (i->first, i->second);
}
}
else
{
for (auto i = entries->template get<tag_root> ().lower_bound (nano::unchecked_key{ dependency, 0 }), n = entries->template get<tag_root> ().end (); predicate () && i != n && i->key.key () == dependency; ++i)
for (auto i = entries->template get<tag_root> ().lower_bound (nano::unchecked_key{ dependency, 0 }), n = entries->template get<tag_root> ().end (); predicate () && i != n && i->key.key () == dependency.as_block_hash (); ++i)
{
action (i->key, i->info);
}