From 445ec824551a7242b0f85ea564469b992ad737f5 Mon Sep 17 00:00:00 2001 From: Yegor Bugayenko Date: Sat, 14 Jan 2023 19:45:18 +0500 Subject: [PATCH] #79 match --- src/find.rs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/find.rs b/src/find.rs index a04f6de..c3a9de5 100644 --- a/src/find.rs +++ b/src/find.rs @@ -169,18 +169,19 @@ impl Sodg { continue; }; trace!("#find(ν{v1}, {loc}): {indent}calling relay(ν{v}, {k})..."); - let redirect = relay.re(v, &k); - let fault = if let Ok(re) = redirect { - if let Ok(to) = self.find_with_indent(v, re.as_str(), relay, depth + 1) { - trace!("#find(ν{v1}, {loc}): {indent}ν{v}.{k} relayed to ν{to} (re: {re})"); - v = to; - continue; + let fault = match relay.re(v, &k) { + Ok(re) => { + if let Ok(to) = self.find_with_indent(v, re.as_str(), relay, depth + 1) { + trace!("#find(ν{v1}, {loc}): {indent}ν{v}.{k} relayed to ν{to} (re: {re})"); + v = to; + continue; + } + format!("re to '{re}' didn't help") + } + Err(err) => { + trace!("#find(ν{v1}, {loc}): !{}", err); + format!("error: {}", err) } - format!("re to '{re}' didn't help") - } else { - let msg = redirect.err().unwrap(); - trace!("#find(ν{v1}, {loc}): !{}", msg); - format!("error: {}", msg) }; let others: Vec = self .vertices