Fix Rust beta compiler errors (1.77) (#5180)
* Lint fixes * More fixes for beta compiler. * Format fixes * Move `#[allow(dead_code)]` to field level. * Remove old comment. * Update beacon_node/execution_layer/src/test_utils/mod.rs Co-authored-by: João Oliveira <hello@jxs.pt> * remove duplicate line
This commit is contained in:
parent
8fb6989801
commit
39e9f7dc6b
@ -539,8 +539,8 @@ impl<'a, T: BeaconChainTypes> IndexedAggregatedAttestation<'a, T> {
|
|||||||
Err(e) => return Err(SignatureNotChecked(&signed_aggregate.message.aggregate, e)),
|
Err(e) => return Err(SignatureNotChecked(&signed_aggregate.message.aggregate, e)),
|
||||||
};
|
};
|
||||||
|
|
||||||
let indexed_attestation =
|
let get_indexed_attestation_with_committee =
|
||||||
match map_attestation_committee(chain, attestation, |(committee, _)| {
|
|(committee, _): (BeaconCommittee, CommitteesPerSlot)| {
|
||||||
// Note: this clones the signature which is known to be a relatively slow operation.
|
// Note: this clones the signature which is known to be a relatively slow operation.
|
||||||
//
|
//
|
||||||
// Future optimizations should remove this clone.
|
// Future optimizations should remove this clone.
|
||||||
@ -561,7 +561,13 @@ impl<'a, T: BeaconChainTypes> IndexedAggregatedAttestation<'a, T> {
|
|||||||
|
|
||||||
get_indexed_attestation(committee.committee, attestation)
|
get_indexed_attestation(committee.committee, attestation)
|
||||||
.map_err(|e| BeaconChainError::from(e).into())
|
.map_err(|e| BeaconChainError::from(e).into())
|
||||||
}) {
|
};
|
||||||
|
|
||||||
|
let indexed_attestation = match map_attestation_committee(
|
||||||
|
chain,
|
||||||
|
attestation,
|
||||||
|
get_indexed_attestation_with_committee,
|
||||||
|
) {
|
||||||
Ok(indexed_attestation) => indexed_attestation,
|
Ok(indexed_attestation) => indexed_attestation,
|
||||||
Err(e) => return Err(SignatureNotChecked(&signed_aggregate.message.aggregate, e)),
|
Err(e) => return Err(SignatureNotChecked(&signed_aggregate.message.aggregate, e)),
|
||||||
};
|
};
|
||||||
|
@ -967,7 +967,7 @@ mod test {
|
|||||||
let spec = &E::default_spec();
|
let spec = &E::default_spec();
|
||||||
let state: BeaconState<E> = BeaconState::new(0, get_eth1_data(0), spec);
|
let state: BeaconState<E> = BeaconState::new(0, get_eth1_data(0), spec);
|
||||||
|
|
||||||
let blocks = vec![];
|
let blocks = [];
|
||||||
|
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
get_votes_to_consider(
|
get_votes_to_consider(
|
||||||
|
@ -51,7 +51,8 @@ const MAX_BLOCK_PRODUCTION_CACHE_DISTANCE: u64 = 4;
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
enum Error {
|
enum Error {
|
||||||
BeaconChain(BeaconChainError),
|
BeaconChain(BeaconChainError),
|
||||||
HeadMissingFromSnapshotCache(Hash256),
|
// We don't use the inner value directly, but it's used in the Debug impl.
|
||||||
|
HeadMissingFromSnapshotCache(#[allow(dead_code)] Hash256),
|
||||||
MaxDistanceExceeded {
|
MaxDistanceExceeded {
|
||||||
current_slot: Slot,
|
current_slot: Slot,
|
||||||
head_slot: Slot,
|
head_slot: Slot,
|
||||||
|
@ -54,7 +54,8 @@ impl Operation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
struct Custom(String);
|
// We don't use the string value directly, but it's used in the Debug impl which is required by `warp::reject::Reject`.
|
||||||
|
struct Custom(#[allow(dead_code)] String);
|
||||||
|
|
||||||
impl warp::reject::Reject for Custom {}
|
impl warp::reject::Reject for Custom {}
|
||||||
|
|
||||||
|
@ -599,8 +599,8 @@ async fn handle_rejection(err: Rejection) -> Result<impl warp::Reply, Infallible
|
|||||||
let code;
|
let code;
|
||||||
let message;
|
let message;
|
||||||
|
|
||||||
if let Some(e) = err.find::<AuthError>() {
|
if let Some(AuthError(e)) = err.find::<AuthError>() {
|
||||||
message = format!("Authorization error: {:?}", e);
|
message = format!("Authorization error: {}", e);
|
||||||
code = StatusCode::UNAUTHORIZED;
|
code = StatusCode::UNAUTHORIZED;
|
||||||
} else {
|
} else {
|
||||||
message = "BAD_REQUEST".to_string();
|
message = "BAD_REQUEST".to_string();
|
||||||
|
@ -14,11 +14,12 @@ const MAX_REQUEST_RANGE_EPOCHS: usize = 100;
|
|||||||
const BLOCK_ROOT_CHUNK_SIZE: usize = 100;
|
const BLOCK_ROOT_CHUNK_SIZE: usize = 100;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
// We don't use the inner values directly, but they're used in the Debug impl.
|
||||||
enum AttestationPerformanceError {
|
enum AttestationPerformanceError {
|
||||||
BlockReplay(BlockReplayError),
|
BlockReplay(#[allow(dead_code)] BlockReplayError),
|
||||||
BeaconState(BeaconStateError),
|
BeaconState(#[allow(dead_code)] BeaconStateError),
|
||||||
ParticipationCache(ParticipationCacheError),
|
ParticipationCache(#[allow(dead_code)] ParticipationCacheError),
|
||||||
UnableToFindValidator(usize),
|
UnableToFindValidator(#[allow(dead_code)] usize),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<BlockReplayError> for AttestationPerformanceError {
|
impl From<BlockReplayError> for AttestationPerformanceError {
|
||||||
|
@ -19,10 +19,11 @@ use warp_utils::reject::{beacon_chain_error, custom_bad_request, custom_server_e
|
|||||||
const BLOCK_ROOT_CHUNK_SIZE: usize = 100;
|
const BLOCK_ROOT_CHUNK_SIZE: usize = 100;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
// We don't use the inner values directly, but they're used in the Debug impl.
|
||||||
enum PackingEfficiencyError {
|
enum PackingEfficiencyError {
|
||||||
BlockReplay(BlockReplayError),
|
BlockReplay(#[allow(dead_code)] BlockReplayError),
|
||||||
BeaconState(BeaconStateError),
|
BeaconState(#[allow(dead_code)] BeaconStateError),
|
||||||
CommitteeStoreError(Slot),
|
CommitteeStoreError(#[allow(dead_code)] Slot),
|
||||||
InvalidAttestationError,
|
InvalidAttestationError,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1019,7 +1019,7 @@ pub fn serve<T: BeaconChainTypes>(
|
|||||||
Ok((
|
Ok((
|
||||||
state
|
state
|
||||||
.get_built_sync_committee(epoch, &chain.spec)
|
.get_built_sync_committee(epoch, &chain.spec)
|
||||||
.map(|committee| committee.clone())
|
.cloned()
|
||||||
.map_err(|e| match e {
|
.map_err(|e| match e {
|
||||||
BeaconStateError::SyncCommitteeNotKnown { .. } => {
|
BeaconStateError::SyncCommitteeNotKnown { .. } => {
|
||||||
warp_utils::reject::custom_bad_request(format!(
|
warp_utils::reject::custom_bad_request(format!(
|
||||||
@ -2858,7 +2858,7 @@ pub fn serve<T: BeaconChainTypes>(
|
|||||||
hex::encode(
|
hex::encode(
|
||||||
meta_data
|
meta_data
|
||||||
.syncnets()
|
.syncnets()
|
||||||
.map(|x| x.clone())
|
.cloned()
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.into_bytes()
|
.into_bytes()
|
||||||
)
|
)
|
||||||
|
@ -174,7 +174,7 @@ fn inject_nodes1() -> InjectNodes<IdentityTransform, AllowAllSubscriptionFilter>
|
|||||||
|
|
||||||
fn add_peer<D, F>(
|
fn add_peer<D, F>(
|
||||||
gs: &mut Behaviour<D, F>,
|
gs: &mut Behaviour<D, F>,
|
||||||
topic_hashes: &Vec<TopicHash>,
|
topic_hashes: &[TopicHash],
|
||||||
outbound: bool,
|
outbound: bool,
|
||||||
explicit: bool,
|
explicit: bool,
|
||||||
) -> (PeerId, RpcReceiver)
|
) -> (PeerId, RpcReceiver)
|
||||||
@ -187,7 +187,7 @@ where
|
|||||||
|
|
||||||
fn add_peer_with_addr<D, F>(
|
fn add_peer_with_addr<D, F>(
|
||||||
gs: &mut Behaviour<D, F>,
|
gs: &mut Behaviour<D, F>,
|
||||||
topic_hashes: &Vec<TopicHash>,
|
topic_hashes: &[TopicHash],
|
||||||
outbound: bool,
|
outbound: bool,
|
||||||
explicit: bool,
|
explicit: bool,
|
||||||
address: Multiaddr,
|
address: Multiaddr,
|
||||||
@ -208,7 +208,7 @@ where
|
|||||||
|
|
||||||
fn add_peer_with_addr_and_kind<D, F>(
|
fn add_peer_with_addr_and_kind<D, F>(
|
||||||
gs: &mut Behaviour<D, F>,
|
gs: &mut Behaviour<D, F>,
|
||||||
topic_hashes: &Vec<TopicHash>,
|
topic_hashes: &[TopicHash],
|
||||||
outbound: bool,
|
outbound: bool,
|
||||||
explicit: bool,
|
explicit: bool,
|
||||||
address: Multiaddr,
|
address: Multiaddr,
|
||||||
@ -3218,7 +3218,7 @@ fn test_scoring_p1() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn random_message(seq: &mut u64, topics: &Vec<TopicHash>) -> RawMessage {
|
fn random_message(seq: &mut u64, topics: &[TopicHash]) -> RawMessage {
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
*seq += 1;
|
*seq += 1;
|
||||||
RawMessage {
|
RawMessage {
|
||||||
@ -4080,20 +4080,20 @@ fn test_scoring_p6() {
|
|||||||
//create 5 peers with the same ip
|
//create 5 peers with the same ip
|
||||||
let addr = Multiaddr::from(Ipv4Addr::new(10, 1, 2, 3));
|
let addr = Multiaddr::from(Ipv4Addr::new(10, 1, 2, 3));
|
||||||
let peers = vec![
|
let peers = vec![
|
||||||
add_peer_with_addr(&mut gs, &vec![], false, false, addr.clone()).0,
|
add_peer_with_addr(&mut gs, &[], false, false, addr.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], false, false, addr.clone()).0,
|
add_peer_with_addr(&mut gs, &[], false, false, addr.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], true, false, addr.clone()).0,
|
add_peer_with_addr(&mut gs, &[], true, false, addr.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], true, false, addr.clone()).0,
|
add_peer_with_addr(&mut gs, &[], true, false, addr.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], true, true, addr.clone()).0,
|
add_peer_with_addr(&mut gs, &[], true, true, addr.clone()).0,
|
||||||
];
|
];
|
||||||
|
|
||||||
//create 4 other peers with other ip
|
//create 4 other peers with other ip
|
||||||
let addr2 = Multiaddr::from(Ipv4Addr::new(10, 1, 2, 4));
|
let addr2 = Multiaddr::from(Ipv4Addr::new(10, 1, 2, 4));
|
||||||
let others = vec![
|
let others = vec![
|
||||||
add_peer_with_addr(&mut gs, &vec![], false, false, addr2.clone()).0,
|
add_peer_with_addr(&mut gs, &[], false, false, addr2.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], false, false, addr2.clone()).0,
|
add_peer_with_addr(&mut gs, &[], false, false, addr2.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], true, false, addr2.clone()).0,
|
add_peer_with_addr(&mut gs, &[], true, false, addr2.clone()).0,
|
||||||
add_peer_with_addr(&mut gs, &vec![], true, false, addr2.clone()).0,
|
add_peer_with_addr(&mut gs, &[], true, false, addr2.clone()).0,
|
||||||
];
|
];
|
||||||
|
|
||||||
//no penalties yet
|
//no penalties yet
|
||||||
|
@ -42,7 +42,12 @@ pub fn fork_context(fork_name: ForkName) -> ForkContext {
|
|||||||
ForkContext::new::<E>(current_slot, Hash256::zero(), &chain_spec)
|
ForkContext::new::<E>(current_slot, Hash256::zero(), &chain_spec)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Libp2pInstance(LibP2PService<ReqId, E>, exit_future::Signal);
|
pub struct Libp2pInstance(
|
||||||
|
LibP2PService<ReqId, E>,
|
||||||
|
#[allow(dead_code)]
|
||||||
|
// This field is managed for lifetime purposes may not be used directly, hence the `#[allow(dead_code)]` attribute.
|
||||||
|
exit_future::Signal,
|
||||||
|
);
|
||||||
|
|
||||||
impl std::ops::Deref for Libp2pInstance {
|
impl std::ops::Deref for Libp2pInstance {
|
||||||
type Target = LibP2PService<ReqId, E>;
|
type Target = LibP2PService<ReqId, E>;
|
||||||
|
@ -253,7 +253,7 @@ mod attestation_service {
|
|||||||
&attestation_service.beacon_chain.spec,
|
&attestation_service.beacon_chain.spec,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let expected = vec![
|
let expected = [
|
||||||
SubnetServiceMessage::Subscribe(Subnet::Attestation(subnet_id)),
|
SubnetServiceMessage::Subscribe(Subnet::Attestation(subnet_id)),
|
||||||
SubnetServiceMessage::Unsubscribe(Subnet::Attestation(subnet_id)),
|
SubnetServiceMessage::Unsubscribe(Subnet::Attestation(subnet_id)),
|
||||||
];
|
];
|
||||||
|
@ -1344,7 +1344,7 @@ impl<E: EthSpec, Hot: ItemStore<E>, Cold: ItemStore<E>> HotColdDB<E, Hot, Cold>
|
|||||||
high_restore_point
|
high_restore_point
|
||||||
.get_block_root(slot)
|
.get_block_root(slot)
|
||||||
.or_else(|_| high_restore_point.get_oldest_block_root())
|
.or_else(|_| high_restore_point.get_oldest_block_root())
|
||||||
.map(|x| *x)
|
.copied()
|
||||||
.map_err(HotColdDBError::RestorePointBlockHashError)
|
.map_err(HotColdDBError::RestorePointBlockHashError)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,6 +214,7 @@ impl<'a> Builder<'a> {
|
|||||||
.write(true)
|
.write(true)
|
||||||
.read(true)
|
.read(true)
|
||||||
.create(true)
|
.create(true)
|
||||||
|
.truncate(true)
|
||||||
.open(path)
|
.open(path)
|
||||||
.map_err(Error::UnableToSaveDepositData)?
|
.map_err(Error::UnableToSaveDepositData)?
|
||||||
.write_all(hex.as_bytes())
|
.write_all(hex.as_bytes())
|
||||||
@ -231,6 +232,7 @@ impl<'a> Builder<'a> {
|
|||||||
.write(true)
|
.write(true)
|
||||||
.read(true)
|
.read(true)
|
||||||
.create(true)
|
.create(true)
|
||||||
|
.truncate(true)
|
||||||
.open(path)
|
.open(path)
|
||||||
.map_err(Error::UnableToSaveDepositAmount)?
|
.map_err(Error::UnableToSaveDepositAmount)?
|
||||||
.write_all(format!("{}", amount).as_bytes())
|
.write_all(format!("{}", amount).as_bytes())
|
||||||
|
@ -26,13 +26,11 @@ pub fn u64_leaf_count(len: usize) -> usize {
|
|||||||
|
|
||||||
pub fn hash256_iter(
|
pub fn hash256_iter(
|
||||||
values: &[Hash256],
|
values: &[Hash256],
|
||||||
) -> impl Iterator<Item = [u8; BYTES_PER_CHUNK]> + ExactSizeIterator + '_ {
|
) -> impl ExactSizeIterator<Item = [u8; BYTES_PER_CHUNK]> + '_ {
|
||||||
values.iter().copied().map(Hash256::to_fixed_bytes)
|
values.iter().copied().map(Hash256::to_fixed_bytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn u64_iter(
|
pub fn u64_iter(values: &[u64]) -> impl ExactSizeIterator<Item = [u8; BYTES_PER_CHUNK]> + '_ {
|
||||||
values: &[u64],
|
|
||||||
) -> impl Iterator<Item = [u8; BYTES_PER_CHUNK]> + ExactSizeIterator + '_ {
|
|
||||||
let type_size = size_of::<u64>();
|
let type_size = size_of::<u64>();
|
||||||
let vals_per_chunk = BYTES_PER_CHUNK / type_size;
|
let vals_per_chunk = BYTES_PER_CHUNK / type_size;
|
||||||
values.chunks(vals_per_chunk).map(move |xs| {
|
values.chunks(vals_per_chunk).map(move |xs| {
|
||||||
|
@ -641,7 +641,7 @@ impl<T: EthSpec> BeaconState<T> {
|
|||||||
if self.slot() <= decision_slot {
|
if self.slot() <= decision_slot {
|
||||||
Ok(block_root)
|
Ok(block_root)
|
||||||
} else {
|
} else {
|
||||||
self.get_block_root(decision_slot).map(|root| *root)
|
self.get_block_root(decision_slot).copied()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -657,7 +657,7 @@ impl<T: EthSpec> BeaconState<T> {
|
|||||||
if self.slot() == decision_slot {
|
if self.slot() == decision_slot {
|
||||||
Ok(block_root)
|
Ok(block_root)
|
||||||
} else {
|
} else {
|
||||||
self.get_block_root(decision_slot).map(|root| *root)
|
self.get_block_root(decision_slot).copied()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -683,7 +683,7 @@ impl<T: EthSpec> BeaconState<T> {
|
|||||||
if self.slot() == decision_slot {
|
if self.slot() == decision_slot {
|
||||||
Ok(block_root)
|
Ok(block_root)
|
||||||
} else {
|
} else {
|
||||||
self.get_block_root(decision_slot).map(|root| *root)
|
self.get_block_root(decision_slot).copied()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ impl<'a, N: Unsigned> CachedTreeHash<TreeHashCache> for HistoricalSummaryCache<'
|
|||||||
|
|
||||||
pub fn leaf_iter(
|
pub fn leaf_iter(
|
||||||
values: &[HistoricalSummary],
|
values: &[HistoricalSummary],
|
||||||
) -> impl Iterator<Item = [u8; BYTES_PER_CHUNK]> + ExactSizeIterator + '_ {
|
) -> impl ExactSizeIterator<Item = [u8; BYTES_PER_CHUNK]> + '_ {
|
||||||
values
|
values
|
||||||
.iter()
|
.iter()
|
||||||
.map(|value| value.tree_hash_root())
|
.map(|value| value.tree_hash_root())
|
||||||
|
@ -43,7 +43,7 @@ pub fn leaf_count(len: usize) -> usize {
|
|||||||
|
|
||||||
pub fn leaf_iter(
|
pub fn leaf_iter(
|
||||||
values: &[ParticipationFlags],
|
values: &[ParticipationFlags],
|
||||||
) -> impl Iterator<Item = [u8; BYTES_PER_CHUNK]> + ExactSizeIterator + '_ {
|
) -> impl ExactSizeIterator<Item = [u8; BYTES_PER_CHUNK]> + '_ {
|
||||||
values.chunks(BYTES_PER_CHUNK).map(|xs| {
|
values.chunks(BYTES_PER_CHUNK).map(|xs| {
|
||||||
// Zero-pad chunks on the right.
|
// Zero-pad chunks on the right.
|
||||||
let mut chunk = [0u8; BYTES_PER_CHUNK];
|
let mut chunk = [0u8; BYTES_PER_CHUNK];
|
||||||
|
@ -356,6 +356,7 @@ pub fn inspect_db<E: EthSpec>(
|
|||||||
|
|
||||||
let write_result = fs::OpenOptions::new()
|
let write_result = fs::OpenOptions::new()
|
||||||
.create(true)
|
.create(true)
|
||||||
|
.truncate(true)
|
||||||
.write(true)
|
.write(true)
|
||||||
.open(&file_path)
|
.open(&file_path)
|
||||||
.map_err(|e| format!("Failed to open file: {:?}", e))
|
.map_err(|e| format!("Failed to open file: {:?}", e))
|
||||||
|
@ -434,7 +434,7 @@ impl<E: EthSpec> Environment<E> {
|
|||||||
async move { rx.next().await.ok_or("Internal shutdown channel exhausted") };
|
async move { rx.next().await.ok_or("Internal shutdown channel exhausted") };
|
||||||
futures::pin_mut!(inner_shutdown);
|
futures::pin_mut!(inner_shutdown);
|
||||||
|
|
||||||
match self.runtime().block_on(async {
|
let register_handlers = async {
|
||||||
let mut handles = vec![];
|
let mut handles = vec![];
|
||||||
|
|
||||||
// setup for handling SIGTERM
|
// setup for handling SIGTERM
|
||||||
@ -465,7 +465,9 @@ impl<E: EthSpec> Environment<E> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
future::select(inner_shutdown, future::select_all(handles.into_iter())).await
|
future::select(inner_shutdown, future::select_all(handles.into_iter())).await
|
||||||
}) {
|
};
|
||||||
|
|
||||||
|
match self.runtime().block_on(register_handlers) {
|
||||||
future::Either::Left((Ok(reason), _)) => {
|
future::Either::Left((Ok(reason), _)) => {
|
||||||
info!(self.log, "Internal shutdown received"; "reason" => reason.message());
|
info!(self.log, "Internal shutdown received"; "reason" => reason.message());
|
||||||
Ok(reason)
|
Ok(reason)
|
||||||
|
Loading…
Reference in New Issue
Block a user