Bump the MSRV to 1.62 and using #[derive(Default)] on enums (#3304)

## Issue Addressed

N/A

## Proposed Changes

Since Rust 1.62, we can use `#[derive(Default)]` on enums.  

https://blog.rust-lang.org/2022/06/30/Rust-1.62.0.html#default-enum-variants

There are no changes to functionality in this PR, just replaced the `Default` trait implementation with `#[derive(Default)]`.
This commit is contained in:
Akihito Nakano
2022-07-15 07:31:19 +00:00
parent 1f54e10b7b
commit 98a9626ef5
8 changed files with 15 additions and 37 deletions

View File

@@ -10,7 +10,7 @@ use types::{Graffiti, PublicKeyBytes};
const DEFAULT_FREEZER_DB_DIR: &str = "freezer_db";
/// Defines how the client should initialize the `BeaconChain` and other components.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub enum ClientGenesis {
/// Creates a genesis state as per the 2019 Canada interop specifications.
Interop {
@@ -21,6 +21,7 @@ pub enum ClientGenesis {
FromStore,
/// Connects to an eth1 node and waits until it can create the genesis state from the deposit
/// contract.
#[default]
DepositContract,
/// Loads the genesis state from SSZ-encoded `BeaconState` bytes.
///
@@ -38,12 +39,6 @@ pub enum ClientGenesis {
},
}
impl Default for ClientGenesis {
fn default() -> Self {
Self::DepositContract
}
}
/// The core configuration of a Lighthouse beacon node.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Config {

View File

@@ -477,7 +477,7 @@ pub enum ConnectionDirection {
}
/// Connection Status of the peer.
#[derive(Debug, Clone)]
#[derive(Debug, Clone, Default)]
pub enum PeerConnectionStatus {
/// The peer is connected.
Connected {
@@ -507,6 +507,7 @@ pub enum PeerConnectionStatus {
since: Instant,
},
/// The connection status has not been specified.
#[default]
Unknown,
}
@@ -561,9 +562,3 @@ impl Serialize for PeerConnectionStatus {
}
}
}
impl Default for PeerConnectionStatus {
fn default() -> Self {
PeerConnectionStatus::Unknown
}
}

View File

@@ -78,18 +78,13 @@ impl std::fmt::Display for GossipKind {
}
/// The known encoding types for gossipsub messages.
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)]
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, Default)]
pub enum GossipEncoding {
/// Messages are encoded with SSZSnappy.
#[default]
SSZSnappy,
}
impl Default for GossipEncoding {
fn default() -> Self {
GossipEncoding::SSZSnappy
}
}
impl GossipTopic {
pub fn new(kind: GossipKind, encoding: GossipEncoding, fork_digest: [u8; 4]) -> Self {
GossipTopic {