Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit e23340d

Browse files
svenski123garious
andauthored
Clippy cleanup for all targets and nighly rust (also support 1.44.0) (#10445)
* address warnings from 'rustup run beta cargo clippy --workspace' minor refactoring in: - cli/src/cli.rs - cli/src/offline/blockhash_query.rs - logger/src/lib.rs - runtime/src/accounts_db.rs expect some performance improvement AccountsDB::clean_accounts() * address warnings from 'rustup run beta cargo clippy --workspace --tests' * address warnings from 'rustup run nightly cargo clippy --workspace --all-targets' * rustfmt * fix warning stragglers * properly fix clippy warnings test_vote_subscribe() replace ref-to-arc with ref parameters where arc not cloned * Remove lock around JsonRpcRequestProcessor (#10417) automerge * make ancestors parameter optional to avoid forcing construction of empty hash maps Co-authored-by: Greg Fitzgerald <greg@solana.com>
1 parent fa3a6c5 commit e23340d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+259
-309
lines changed

banking-bench/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ fn main() {
209209
bank.clear_signatures();
210210
}
211211

212-
let mut verified: Vec<_> = to_packets_chunked(&transactions.clone(), packets_per_chunk);
212+
let mut verified: Vec<_> = to_packets_chunked(&transactions, packets_per_chunk);
213213
let ledger_path = get_tmp_ledger_path!();
214214
{
215215
let blockstore = Arc::new(

cli/src/cli.rs

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -754,25 +754,18 @@ pub fn parse_command(
754754
("airdrop", Some(matches)) => {
755755
let faucet_port = matches
756756
.value_of("faucet_port")
757-
.unwrap()
757+
.ok_or_else(|| CliError::BadParameter("Missing faucet port".to_string()))?
758758
.parse()
759-
.or_else(|err| {
760-
Err(CliError::BadParameter(format!(
761-
"Invalid faucet port: {}",
762-
err
763-
)))
764-
})?;
765-
766-
let faucet_host = if let Some(faucet_host) = matches.value_of("faucet_host") {
767-
Some(solana_net_utils::parse_host(faucet_host).or_else(|err| {
768-
Err(CliError::BadParameter(format!(
769-
"Invalid faucet host: {}",
770-
err
771-
)))
772-
})?)
773-
} else {
774-
None
775-
};
759+
.map_err(|err| CliError::BadParameter(format!("Invalid faucet port: {}", err)))?;
760+
761+
let faucet_host = matches
762+
.value_of("faucet_host")
763+
.map(|faucet_host| {
764+
solana_net_utils::parse_host(faucet_host).map_err(|err| {
765+
CliError::BadParameter(format!("Invalid faucet host: {}", err))
766+
})
767+
})
768+
.transpose()?;
776769
let pubkey = pubkey_of_signer(matches, "to", wallet_manager)?;
777770
let signers = if pubkey.is_some() {
778771
vec![]

cli/src/cluster_query.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ pub fn process_get_epoch_info(
659659
commitment_config: CommitmentConfig,
660660
) -> ProcessResult {
661661
let epoch_info: CliEpochInfo = rpc_client
662-
.get_epoch_info_with_commitment(commitment_config.clone())?
662+
.get_epoch_info_with_commitment(commitment_config)?
663663
.into();
664664
Ok(config.output_format.formatted_string(&epoch_info))
665665
}
@@ -673,15 +673,15 @@ pub fn process_get_slot(
673673
rpc_client: &RpcClient,
674674
commitment_config: CommitmentConfig,
675675
) -> ProcessResult {
676-
let slot = rpc_client.get_slot_with_commitment(commitment_config.clone())?;
676+
let slot = rpc_client.get_slot_with_commitment(commitment_config)?;
677677
Ok(slot.to_string())
678678
}
679679

680680
pub fn process_get_epoch(
681681
rpc_client: &RpcClient,
682682
commitment_config: CommitmentConfig,
683683
) -> ProcessResult {
684-
let epoch_info = rpc_client.get_epoch_info_with_commitment(commitment_config.clone())?;
684+
let epoch_info = rpc_client.get_epoch_info_with_commitment(commitment_config)?;
685685
Ok(epoch_info.epoch.to_string())
686686
}
687687

@@ -868,7 +868,7 @@ pub fn process_supply(
868868
commitment_config: CommitmentConfig,
869869
print_accounts: bool,
870870
) -> ProcessResult {
871-
let supply_response = rpc_client.supply_with_commitment(commitment_config.clone())?;
871+
let supply_response = rpc_client.supply_with_commitment(commitment_config)?;
872872
let mut supply: CliSupply = supply_response.value.into();
873873
supply.print_accounts = print_accounts;
874874
Ok(config.output_format.formatted_string(&supply))
@@ -878,16 +878,15 @@ pub fn process_total_supply(
878878
rpc_client: &RpcClient,
879879
commitment_config: CommitmentConfig,
880880
) -> ProcessResult {
881-
let total_supply = rpc_client.total_supply_with_commitment(commitment_config.clone())?;
881+
let total_supply = rpc_client.total_supply_with_commitment(commitment_config)?;
882882
Ok(format!("{} SOL", lamports_to_sol(total_supply)))
883883
}
884884

885885
pub fn process_get_transaction_count(
886886
rpc_client: &RpcClient,
887887
commitment_config: CommitmentConfig,
888888
) -> ProcessResult {
889-
let transaction_count =
890-
rpc_client.get_transaction_count_with_commitment(commitment_config.clone())?;
889+
let transaction_count = rpc_client.get_transaction_count_with_commitment(commitment_config)?;
891890
Ok(transaction_count.to_string())
892891
}
893892

@@ -952,10 +951,8 @@ pub fn process_ping(
952951
Ok(signature) => {
953952
let transaction_sent = Instant::now();
954953
loop {
955-
let signature_status = rpc_client.get_signature_status_with_commitment(
956-
&signature,
957-
commitment_config.clone(),
958-
)?;
954+
let signature_status = rpc_client
955+
.get_signature_status_with_commitment(&signature, commitment_config)?;
959956
let elapsed_time = Instant::now().duration_since(transaction_sent);
960957
if let Some(transaction_status) = signature_status {
961958
match transaction_status {

cli/src/offline/blockhash_query.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,11 @@ impl Source {
3535
Ok(res)
3636
}
3737
Self::NonceAccount(ref pubkey) => {
38-
let res = nonce::get_account(rpc_client, pubkey)
39-
.and_then(|ref a| nonce::data_from_account(a))
40-
.and_then(|d| {
41-
if d.blockhash == *blockhash {
42-
Ok(Some(d.fee_calculator))
43-
} else {
44-
Ok(None)
45-
}
46-
})?;
47-
Ok(res)
38+
let res = nonce::get_account(rpc_client, pubkey)?;
39+
let res = nonce::data_from_account(&res)?;
40+
Ok(Some(res)
41+
.filter(|d| d.blockhash == *blockhash)
42+
.map(|d| d.fee_calculator))
4843
}
4944
}
5045
}

client/src/rpc_client.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@ impl RpcClient {
664664
) -> ClientResult<u64> {
665665
let now = Instant::now();
666666
loop {
667-
match self.get_balance_with_commitment(&pubkey, commitment_config.clone()) {
667+
match self.get_balance_with_commitment(&pubkey, commitment_config) {
668668
Ok(bal) => {
669669
return Ok(bal.value);
670670
}
@@ -699,8 +699,7 @@ impl RpcClient {
699699
) -> Option<u64> {
700700
const LAST: usize = 30;
701701
for run in 0..LAST {
702-
let balance_result =
703-
self.poll_get_balance_with_commitment(pubkey, commitment_config.clone());
702+
let balance_result = self.poll_get_balance_with_commitment(pubkey, commitment_config);
704703
if expected_balance.is_none() {
705704
return balance_result.ok();
706705
}
@@ -734,7 +733,7 @@ impl RpcClient {
734733
let now = Instant::now();
735734
loop {
736735
if let Ok(Some(_)) =
737-
self.get_signature_status_with_commitment(&signature, commitment_config.clone())
736+
self.get_signature_status_with_commitment(&signature, commitment_config)
738737
{
739738
break;
740739
}

client/src/rpc_request.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,12 +136,12 @@ mod tests {
136136
fn test_build_request_json() {
137137
let test_request = RpcRequest::GetAccountInfo;
138138
let addr = json!("deadbeefXjn8o3yroDHxUtKsZZgoy4GPkPPXfouKNHhx");
139-
let request = test_request.build_request_json(1, json!([addr.clone()]));
139+
let request = test_request.build_request_json(1, json!([addr]));
140140
assert_eq!(request["method"], "getAccountInfo");
141141
assert_eq!(request["params"], json!([addr]));
142142

143143
let test_request = RpcRequest::GetBalance;
144-
let request = test_request.build_request_json(1, json!([addr.clone()]));
144+
let request = test_request.build_request_json(1, json!([addr]));
145145
assert_eq!(request["method"], "getBalance");
146146

147147
let test_request = RpcRequest::GetEpochInfo;
@@ -186,13 +186,12 @@ mod tests {
186186

187187
// Test request with CommitmentConfig and no params
188188
let test_request = RpcRequest::GetRecentBlockhash;
189-
let request = test_request.build_request_json(1, json!([commitment_config.clone()]));
189+
let request = test_request.build_request_json(1, json!([commitment_config]));
190190
assert_eq!(request["params"], json!([commitment_config.clone()]));
191191

192192
// Test request with CommitmentConfig and params
193193
let test_request = RpcRequest::GetBalance;
194-
let request =
195-
test_request.build_request_json(1, json!([addr.clone(), commitment_config.clone()]));
194+
let request = test_request.build_request_json(1, json!([addr, commitment_config]));
196195
assert_eq!(request["params"], json!([addr, commitment_config]));
197196
}
198197
}

core/benches/banking_stage.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ fn make_accounts_txs(txes: usize, mint_keypair: &Keypair, hash: Hash) -> Vec<Tra
109109
fn make_programs_txs(txes: usize, hash: Hash) -> Vec<Transaction> {
110110
let progs = 4;
111111
(0..txes)
112-
.into_iter()
113112
.map(|_| {
114113
let mut instructions = vec![];
115114
let from_key = Keypair::new();
@@ -181,7 +180,7 @@ fn bench_banking(bencher: &mut Bencher, tx_type: TransactionType) {
181180
assert!(r.is_ok(), "sanity parallel execution");
182181
}
183182
bank.clear_signatures();
184-
let verified: Vec<_> = to_packets_chunked(&transactions.clone(), PACKETS_PER_BATCH);
183+
let verified: Vec<_> = to_packets_chunked(&transactions, PACKETS_PER_BATCH);
185184
let ledger_path = get_tmp_ledger_path!();
186185
{
187186
let blockstore = Arc::new(
@@ -207,7 +206,7 @@ fn bench_banking(bencher: &mut Bencher, tx_type: TransactionType) {
207206
// If it is dropped before poh_service, then poh_service will error when
208207
// calling send() on the channel.
209208
let signal_receiver = Arc::new(signal_receiver);
210-
let signal_receiver2 = signal_receiver.clone();
209+
let signal_receiver2 = signal_receiver;
211210
bencher.iter(move || {
212211
let now = Instant::now();
213212
let mut sent = 0;
@@ -262,7 +261,7 @@ fn simulate_process_entries(
262261
mint_keypair: &Keypair,
263262
mut tx_vector: Vec<Transaction>,
264263
genesis_config: &GenesisConfig,
265-
keypairs: &Vec<Keypair>,
264+
keypairs: &[Keypair],
266265
initial_lamports: u64,
267266
num_accounts: usize,
268267
) {
@@ -288,7 +287,7 @@ fn simulate_process_entries(
288287
hash: next_hash(&bank.last_blockhash(), 1, &tx_vector),
289288
transactions: tx_vector,
290289
};
291-
process_entries(&bank, &vec![entry], randomize_txs, None).unwrap();
290+
process_entries(&bank, &[entry], randomize_txs, None).unwrap();
292291
}
293292

294293
fn bench_process_entries(randomize_txs: bool, bencher: &mut Bencher) {

core/benches/blockstore.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
#![feature(test)]
2-
use rand;
3-
42
extern crate solana_ledger;
53
extern crate test;
64

core/benches/cluster_info.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ fn broadcast_shreds_bench(bencher: &mut Bencher) {
2222
solana_logger::setup();
2323
let leader_pubkey = Pubkey::new_rand();
2424
let leader_info = Node::new_localhost_with_pubkey(&leader_pubkey);
25-
let cluster_info = ClusterInfo::new_with_invalid_keypair(leader_info.info.clone());
25+
let cluster_info = ClusterInfo::new_with_invalid_keypair(leader_info.info);
2626
let socket = UdpSocket::bind("0.0.0.0:0").unwrap();
2727

2828
const NUM_SHREDS: usize = 32;
@@ -37,7 +37,7 @@ fn broadcast_shreds_bench(bencher: &mut Bencher) {
3737
}
3838
let stakes = Arc::new(stakes);
3939
let cluster_info = Arc::new(cluster_info);
40-
let (peers, peers_and_stakes) = get_broadcast_peers(&cluster_info, Some(stakes.clone()));
40+
let (peers, peers_and_stakes) = get_broadcast_peers(&cluster_info, Some(stakes));
4141
let shreds = Arc::new(shreds);
4242
let last_datapoint = Arc::new(AtomicU64::new(0));
4343
bencher.iter(move || {

core/benches/poh_verify.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,21 @@ const NUM_ENTRIES: usize = 800;
1414
fn bench_poh_verify_ticks(bencher: &mut Bencher) {
1515
let zero = Hash::default();
1616
let mut cur_hash = hash(&zero.as_ref());
17-
let start = *&cur_hash;
1817

1918
let mut ticks: Vec<Entry> = Vec::with_capacity(NUM_ENTRIES);
2019
for _ in 0..NUM_ENTRIES {
2120
ticks.push(next_entry_mut(&mut cur_hash, NUM_HASHES, vec![]));
2221
}
2322

2423
bencher.iter(|| {
25-
ticks.verify(&start);
24+
ticks.verify(&cur_hash);
2625
})
2726
}
2827

2928
#[bench]
3029
fn bench_poh_verify_transaction_entries(bencher: &mut Bencher) {
3130
let zero = Hash::default();
3231
let mut cur_hash = hash(&zero.as_ref());
33-
let start = *&cur_hash;
3432

3533
let keypair1 = Keypair::new();
3634
let pubkey1 = keypair1.pubkey();
@@ -42,6 +40,6 @@ fn bench_poh_verify_transaction_entries(bencher: &mut Bencher) {
4240
}
4341

4442
bencher.iter(|| {
45-
ticks.verify(&start);
43+
ticks.verify(&cur_hash);
4644
})
4745
}

0 commit comments

Comments
 (0)