General cleanup (Part 2) (#32998)
* bucket-map: remove unused `mut` * remove unnecessary explicit `into_iter()` calls * don't default-construct unit-structs * prefer `or_default()` to `or_insert_with(T::default())` * replace "slow zero-filled vec initialization" --------- Co-authored-by: Trent Nelson <trent@solana.com>
This commit is contained in:
parent
9070d780a3
commit
29bbda0c11
|
@ -183,7 +183,7 @@ impl<'b, T: Clone + Copy + 'static> Bucket<T> {
|
|||
/// if entry does not exist, return just the index of an empty entry appropriate for this key
|
||||
/// returns (existing entry, index of the found or empty entry)
|
||||
fn find_index_entry_mut(
|
||||
index: &mut BucketStorage<IndexBucket<T>>,
|
||||
index: &BucketStorage<IndexBucket<T>>,
|
||||
key: &Pubkey,
|
||||
random: u64,
|
||||
) -> Result<(Option<IndexEntryPlaceInBucket<T>>, u64), BucketMapError> {
|
||||
|
@ -410,7 +410,7 @@ impl<'b, T: Clone + Copy + 'static> Bucket<T> {
|
|||
return Err(BucketMapError::DataNoSpace((best_fit_bucket, 0)));
|
||||
}
|
||||
let max_search = self.index.max_search();
|
||||
let (elem, elem_ix) = Self::find_index_entry_mut(&mut self.index, key, self.random)?;
|
||||
let (elem, elem_ix) = Self::find_index_entry_mut(&self.index, key, self.random)?;
|
||||
let elem = if let Some(elem) = elem {
|
||||
elem
|
||||
} else {
|
||||
|
|
|
@ -443,7 +443,7 @@ impl LoadedPrograms {
|
|||
key: Pubkey,
|
||||
entry: Arc<LoadedProgram>,
|
||||
) -> (bool, Arc<LoadedProgram>) {
|
||||
let second_level = self.entries.entry(key).or_insert_with(Vec::new);
|
||||
let second_level = self.entries.entry(key).or_default();
|
||||
let index = second_level
|
||||
.iter()
|
||||
.position(|at| at.effective_slot >= entry.effective_slot);
|
||||
|
|
|
@ -621,8 +621,7 @@ mod tests {
|
|||
fn create_default_recent_blockhashes_account() -> AccountSharedData {
|
||||
#[allow(deprecated)]
|
||||
recent_blockhashes_account::create_account_with_data_for_test(
|
||||
vec![IterItem(0u64, &Hash::default(), 0); sysvar::recent_blockhashes::MAX_ENTRIES]
|
||||
.into_iter(),
|
||||
vec![IterItem(0u64, &Hash::default(), 0); sysvar::recent_blockhashes::MAX_ENTRIES],
|
||||
)
|
||||
}
|
||||
fn create_default_rent_account() -> AccountSharedData {
|
||||
|
@ -1577,8 +1576,7 @@ mod tests {
|
|||
#[allow(deprecated)]
|
||||
let new_recent_blockhashes_account =
|
||||
solana_sdk::recent_blockhashes_account::create_account_with_data_for_test(
|
||||
vec![IterItem(0u64, &blockhash, 0); sysvar::recent_blockhashes::MAX_ENTRIES]
|
||||
.into_iter(),
|
||||
vec![IterItem(0u64, &blockhash, 0); sysvar::recent_blockhashes::MAX_ENTRIES],
|
||||
);
|
||||
mock_process_instruction(
|
||||
&system_program::id(),
|
||||
|
@ -1863,9 +1861,7 @@ mod tests {
|
|||
let blockhash_id = sysvar::recent_blockhashes::id();
|
||||
#[allow(deprecated)]
|
||||
let new_recent_blockhashes_account =
|
||||
solana_sdk::recent_blockhashes_account::create_account_with_data_for_test(
|
||||
vec![].into_iter(),
|
||||
);
|
||||
solana_sdk::recent_blockhashes_account::create_account_with_data_for_test(vec![]);
|
||||
process_instruction(
|
||||
&serialize(&SystemInstruction::InitializeNonceAccount(nonce_address)).unwrap(),
|
||||
vec![
|
||||
|
@ -1928,9 +1924,7 @@ mod tests {
|
|||
);
|
||||
#[allow(deprecated)]
|
||||
let new_recent_blockhashes_account =
|
||||
solana_sdk::recent_blockhashes_account::create_account_with_data_for_test(
|
||||
vec![].into_iter(),
|
||||
);
|
||||
solana_sdk::recent_blockhashes_account::create_account_with_data_for_test(vec![]);
|
||||
mock_process_instruction(
|
||||
&system_program::id(),
|
||||
Vec::new(),
|
||||
|
|
|
@ -516,7 +516,7 @@ where
|
|||
(SerializableBankAndStorage::<newer::Context> {
|
||||
bank,
|
||||
snapshot_storages: storage,
|
||||
phantom: std::marker::PhantomData::default(),
|
||||
phantom: std::marker::PhantomData,
|
||||
})
|
||||
.serialize(s)
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_create_account_empty() {
|
||||
let account = create_account_with_data_for_test(vec![].into_iter());
|
||||
let account = create_account_with_data_for_test(vec![]);
|
||||
let recent_blockhashes = from_account::<RecentBlockhashes, _>(&account).unwrap();
|
||||
assert_eq!(recent_blockhashes, RecentBlockhashes::default());
|
||||
}
|
||||
|
@ -106,9 +106,14 @@ mod tests {
|
|||
fn test_create_account_full() {
|
||||
let def_hash = Hash::default();
|
||||
let def_lamports_per_signature = 0;
|
||||
let account = create_account_with_data_for_test(
|
||||
vec![IterItem(0u64, &def_hash, def_lamports_per_signature); MAX_ENTRIES].into_iter(),
|
||||
let account = create_account_with_data_for_test(vec![
|
||||
IterItem(
|
||||
0u64,
|
||||
&def_hash,
|
||||
def_lamports_per_signature
|
||||
);
|
||||
MAX_ENTRIES
|
||||
]);
|
||||
let recent_blockhashes = from_account::<RecentBlockhashes, _>(&account).unwrap();
|
||||
assert_eq!(recent_blockhashes.len(), MAX_ENTRIES);
|
||||
}
|
||||
|
@ -117,10 +122,14 @@ mod tests {
|
|||
fn test_create_account_truncate() {
|
||||
let def_hash = Hash::default();
|
||||
let def_lamports_per_signature = 0;
|
||||
let account = create_account_with_data_for_test(
|
||||
vec![IterItem(0u64, &def_hash, def_lamports_per_signature); MAX_ENTRIES + 1]
|
||||
.into_iter(),
|
||||
let account = create_account_with_data_for_test(vec![
|
||||
IterItem(
|
||||
0u64,
|
||||
&def_hash,
|
||||
def_lamports_per_signature
|
||||
);
|
||||
MAX_ENTRIES + 1
|
||||
]);
|
||||
let recent_blockhashes = from_account::<RecentBlockhashes, _>(&account).unwrap();
|
||||
assert_eq!(recent_blockhashes.len(), MAX_ENTRIES);
|
||||
}
|
||||
|
|
|
@ -860,15 +860,13 @@ pub fn new_secp256k1_instruction(
|
|||
let signature_arr = signature.serialize();
|
||||
assert_eq!(signature_arr.len(), SIGNATURE_SERIALIZED_SIZE);
|
||||
|
||||
let mut instruction_data = vec![];
|
||||
instruction_data.resize(
|
||||
DATA_START
|
||||
let instruction_data_len = DATA_START
|
||||
.saturating_add(eth_pubkey.len())
|
||||
.saturating_add(signature_arr.len())
|
||||
.saturating_add(message_arr.len())
|
||||
.saturating_add(1),
|
||||
0,
|
||||
);
|
||||
.saturating_add(1);
|
||||
let mut instruction_data = vec![0; instruction_data_len];
|
||||
|
||||
let eth_address_offset = DATA_START;
|
||||
instruction_data[eth_address_offset..eth_address_offset.saturating_add(eth_pubkey.len())]
|
||||
.copy_from_slice(ð_pubkey);
|
||||
|
|
Loading…
Reference in New Issue