From 56d37f135536c7d17ab98c6671094925dee64a5e Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Sat, 28 Sep 2019 18:20:33 +0000 Subject: I don't like `if let` that much. --- src/manager/builder.rs | 8 +++----- src/manager/mod.rs | 20 +++++++------------- src/manager/updater.rs | 24 +++++++++--------------- src/model/ip.rs | 14 ++++++-------- 4 files changed, 25 insertions(+), 41 deletions(-) diff --git a/src/manager/builder.rs b/src/manager/builder.rs index e5fe2da..a5f04f2 100644 --- a/src/manager/builder.rs +++ b/src/manager/builder.rs @@ -162,11 +162,9 @@ fn find_psk<'a>( src: &'a Source, p: &proto::Peer, ) -> Result, Error> { - let want = gc.peers.get(&p.public_key); - let want = if let Some(v) = want { - v - } else { - return Ok(None); + let want = match gc.peers.get(&p.public_key) { + Some(v) => v, + None => return Ok(None), }; if let Some(ref want_src) = &want.source { diff --git a/src/manager/mod.rs b/src/manager/mod.rs index 78d579f..aa8b792 100644 --- a/src/manager/mod.rs +++ b/src/manager/mod.rs @@ -95,20 +95,15 @@ impl Manager { } fn state_path(&self) -> Option { - let mut path = if let Some(ref path) = self.state_directory { - path.clone() - } else { - return None; - }; + let mut path = self.state_directory.as_ref()?.clone(); path.push("state.json"); Some(path) } fn current_load(&mut self) -> bool { - let path = if let Some(path) = self.state_path() { - path - } else { - return false; + let path = match self.state_path() { + Some(v) => v, + None => return false, }; let data = match load_file(&path) { @@ -136,10 +131,9 @@ impl Manager { } fn current_update(&mut self, c: &model::Config) { - let path = if let Some(path) = self.state_path() { - path - } else { - return; + let path = match self.state_path() { + Some(v) => v, + None => return, }; let data = serde_json::to_vec(c).unwrap(); diff --git a/src/manager/updater.rs b/src/manager/updater.rs index 0de675c..14d55fc 100644 --- a/src/manager/updater.rs +++ b/src/manager/updater.rs @@ -19,20 +19,15 @@ impl Updater { } fn cache_path(&self, s: &Source) -> Option { - if let Some(ref dir) = self.config.cache_directory { - let mut p = dir.clone(); - p.push(&s.name); - Some(p) - } else { - None - } + let mut p = self.config.cache_directory.as_ref()?.clone(); + p.push(&s.name); + Some(p) } fn cache_update(&self, src: &Source) { - let path = if let Some(path) = self.cache_path(src) { - path - } else { - return; + let path = match self.cache_path(src) { + Some(v) => v, + None => return, }; let data = serde_json::to_vec(&src.data).unwrap(); @@ -45,10 +40,9 @@ impl Updater { } pub fn cache_load(&self, src: &mut Source) -> bool { - let path = if let Some(path) = self.cache_path(src) { - path - } else { - return false; + let path = match self.cache_path(src) { + Some(v) => v, + None => return false, }; let data = match load_file(&path) { diff --git a/src/model/ip.rs b/src/model/ip.rs index c20464f..490dada 100644 --- a/src/model/ip.rs +++ b/src/model/ip.rs @@ -159,10 +159,9 @@ macro_rules! per_proto { } pub fn insert(&mut self, mut net: $nett) { - let mut i = if let Err(i) = self.nets.binary_search(&net) { - i - } else { - return; + let mut i = match self.nets.binary_search(&net) { + Err(v) => v, + Ok(_) => return, }; let mut j = i; if i != 0 && self.nets[i - 1].contains(&net) { @@ -317,10 +316,9 @@ per_proto!(Ipv4Net(Ipv4Addr; "IPv4 network"); u32(4); Ipv4Set); per_proto!(Ipv6Net(Ipv6Addr; "IPv6 network"); u128(16); Ipv6Set); fn pfx_split(s: &str) -> Result<(&str, u8), NetParseError> { - let i = if let Some(i) = s.find('/') { - i - } else { - return Err(NetParseError); + let i = match s.find('/') { + Some(v) => v, + None => return Err(NetParseError), }; let (addr, pfx) = s.split_at(i); let pfx = u8::from_str(&pfx[1..]).map_err(|_| NetParseError)?; -- cgit