From 1be78837da5f6821a7fe3d9ca71d65da89a297c8 Mon Sep 17 00:00:00 2001 From: Yaroslav Dynnikov <yaroslav.dynnikov@gmail.com> Date: Wed, 9 Nov 2022 18:49:00 +0300 Subject: [PATCH] chore: use let-else statements instead of a macro --- src/main.rs | 2 +- src/traft/governor.rs | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 37ed2b1fe2..932547dc9f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -975,7 +975,7 @@ fn postjoin(args: &args::Run, storage: Storage) { .with_target_grade(TargetGrade::Online) .with_failure_domain(args.failure_domain()); - let leader_id = unwrap_some_or!(node.status().leader_id, continue); + let Some(leader_id) = node.status().leader_id else { continue }; let leader = storage.peers.get(&leader_id).unwrap(); // It's necessary to call `proc_update_peer` remotely on a diff --git a/src/traft/governor.rs b/src/traft/governor.rs index e7b70fd6d0..05f801b342 100644 --- a/src/traft/governor.rs +++ b/src/traft/governor.rs @@ -8,7 +8,6 @@ use crate::traft::CurrentGrade; use crate::traft::Peer; use crate::traft::RaftId; use crate::traft::TargetGrade; -use crate::unwrap_some_or; struct RaftConf<'a> { all: BTreeMap<RaftId, &'a Peer>, @@ -88,11 +87,10 @@ pub(crate) fn raft_conf_change( Some(peer @ Peer {target_grade: TargetGrade::Offline, ..}) => { // A voter goes offline. Replace it with // another online instance if possible. - let replacement = peers.iter().find(|peer| { + let Some(replacement) = peers.iter().find(|peer| { peer.has_grades(CurrentGrade::Online, TargetGrade::Online) && !raft_conf.voters.contains(&peer.raft_id) - }); - let replacement = unwrap_some_or!(replacement, continue); + }) else { continue }; let ccs1 = raft_conf.change_single(AddLearnerNode, peer.raft_id); let ccs2 = raft_conf.change_single(AddNode, replacement.raft_id); -- GitLab