diff options
author | Hristo Venev <hristo@venev.name> | 2019-09-28 18:20:33 +0000 |
---|---|---|
committer | Hristo Venev <hristo@venev.name> | 2019-09-29 16:11:35 +0300 |
commit | 56d37f135536c7d17ab98c6671094925dee64a5e (patch) | |
tree | 652b972cef0c1700b4c8ee457afd7b79861f1672 | |
parent | 8e6318f29eb022126e82e0c084262c77d9ee3300 (diff) |
I don't like `if let` that much.
-rw-r--r-- | src/manager/builder.rs | 8 | ||||
-rw-r--r-- | src/manager/mod.rs | 20 | ||||
-rw-r--r-- | src/manager/updater.rs | 24 | ||||
-rw-r--r-- | 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<Option<&'a model::Key>, 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<PathBuf> { - 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<PathBuf> { - 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)?; |