Pass Epoch by value in StakeHistory::get() (#21523)

This commit is contained in:
Brooks Prumo 2021-12-01 08:57:29 -06:00 committed by GitHub
parent 3da914330d
commit cb368e6554
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 12 additions and 13 deletions

View File

@ -2221,7 +2221,7 @@ mod tests {
}
for epoch in 0..=stake.deactivation_epoch + 1 {
let history = stake_history.get(&epoch).unwrap();
let history = stake_history.get(epoch).unwrap();
let other_activations: u64 = other_activations[..=epoch as usize].iter().sum();
let expected_stake = history.effective - base_stake - other_activations;
let (expected_activating, expected_deactivating) = if epoch < stake.deactivation_epoch {

View File

@ -2174,7 +2174,7 @@ impl Bank {
.fetch_add(validator_rewards_paid, Relaxed);
let active_stake = if let Some(stake_history_entry) =
self.stakes.read().unwrap().history().get(&prev_epoch)
self.stakes.read().unwrap().history().get(prev_epoch)
{
stake_history_entry.effective
} else {
@ -2274,7 +2274,7 @@ impl Bank {
.fetch_add(validator_rewards_paid, Relaxed);
let active_stake = if let Some(stake_history_entry) =
self.stakes.read().unwrap().history().get(&prev_epoch)
self.stakes.read().unwrap().history().get(prev_epoch)
{
stake_history_entry.effective
} else {

View File

@ -404,7 +404,7 @@ impl Delegation {
} else if let Some((history, mut prev_epoch, mut prev_cluster_stake)) =
history.and_then(|history| {
history
.get(&self.deactivation_epoch)
.get(self.deactivation_epoch)
.map(|cluster_stake_at_deactivation_epoch| {
(
history,
@ -448,7 +448,7 @@ impl Delegation {
if current_epoch >= target_epoch {
break;
}
if let Some(current_cluster_stake) = history.get(&current_epoch) {
if let Some(current_cluster_stake) = history.get(current_epoch) {
prev_epoch = current_epoch;
prev_cluster_stake = current_cluster_stake;
} else {
@ -488,7 +488,7 @@ impl Delegation {
} else if let Some((history, mut prev_epoch, mut prev_cluster_stake)) =
history.and_then(|history| {
history
.get(&self.activation_epoch)
.get(self.activation_epoch)
.map(|cluster_stake_at_activation_epoch| {
(
history,
@ -533,7 +533,7 @@ impl Delegation {
if current_epoch >= target_epoch || current_epoch >= self.deactivation_epoch {
break;
}
if let Some(current_cluster_stake) = history.get(&current_epoch) {
if let Some(current_cluster_stake) = history.get(current_epoch) {
prev_epoch = current_epoch;
prev_cluster_stake = current_cluster_stake;
} else {

View File

@ -56,8 +56,7 @@ impl std::ops::Add for StakeHistoryEntry {
pub struct StakeHistory(Vec<(Epoch, StakeHistoryEntry)>);
impl StakeHistory {
#[allow(clippy::trivially_copy_pass_by_ref)]
pub fn get(&self, epoch: &Epoch) -> Option<&StakeHistoryEntry> {
pub fn get(&self, epoch: Epoch) -> Option<&StakeHistoryEntry> {
self.binary_search_by(|probe| epoch.cmp(&probe.0))
.ok()
.map(|index| &self[index].1)
@ -98,9 +97,9 @@ mod tests {
}
assert_eq!(stake_history.len(), MAX_ENTRIES);
assert_eq!(stake_history.iter().map(|entry| entry.0).min().unwrap(), 1);
assert_eq!(stake_history.get(&0), None);
assert_eq!(stake_history.get(0), None);
assert_eq!(
stake_history.get(&1),
stake_history.get(1),
Some(&StakeHistoryEntry {
activating: 1,
..StakeHistoryEntry::default()

View File

@ -54,9 +54,9 @@ mod tests {
}
assert_eq!(stake_history.len(), MAX_ENTRIES);
assert_eq!(stake_history.iter().map(|entry| entry.0).min().unwrap(), 1);
assert_eq!(stake_history.get(&0), None);
assert_eq!(stake_history.get(0), None);
assert_eq!(
stake_history.get(&1),
stake_history.get(1),
Some(&StakeHistoryEntry {
activating: 1,
..StakeHistoryEntry::default()