Using explicit conversion functions to eliminate C++20 comparison operator ambiguities.
This commit is contained in:
		
					parent
					
						
							
								d1b4ad2ece
							
						
					
				
			
			
				commit
				
					
						dfcfb6cd6f
					
				
			
		
					 7 changed files with 15 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			@ -524,4 +524,4 @@ TEST (bootstrap_server, serve_account_info_missing)
 | 
			
		|||
 | 
			
		||||
	// Ensure we don't get any unexpected responses
 | 
			
		||||
	ASSERT_ALWAYS (1s, responses.size () == 1);
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 ())
 | 
			
		||||
					{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue