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