diff --git a/src/args.rs b/src/args.rs
index 16d7cfbafa0a0cef0100f75b718331a713695664..f6da12f1c766709e0b0027fce0751d47e166332a 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -191,7 +191,7 @@ impl Display for BadAddress {
 }
 
 fn try_parse_address(text: &str) -> Result<String, Box<dyn Error>> {
-    let (host, port) = match text.rsplit_once(":") {
+    let (host, port) = match text.rsplit_once(':') {
         Some((mut host, port)) => {
             if host.is_empty() {
                 host = "localhost";
diff --git a/src/discovery.rs b/src/discovery.rs
index 4401fed3c14ac852150e47148e3062d30946322a..f1d5c0206460fcb3f0b58aad478e221e80dbb8ec 100644
--- a/src/discovery.rs
+++ b/src/discovery.rs
@@ -151,7 +151,7 @@ impl Discovery {
                 if self.pending_request {
                     return None;
                 }
-                let res = peers.difference(&self.visited).cloned().next();
+                let res = peers.difference(&self.visited).next().cloned();
                 let addr = match &res {
                     Some(addr) => {
                         self.visited.insert(addr.clone());
diff --git a/src/ipc.rs b/src/ipc.rs
index ce42c2cf129673e492619988fddd610447641f12..afd66ae99ed68ca72c6a915ac15072079e1c8596 100644
--- a/src/ipc.rs
+++ b/src/ipc.rs
@@ -24,9 +24,8 @@ where
     T: Serialize,
 {
     pub fn send(mut self, msg: &T) {
-        match rmp_serde::encode::write(&mut self.fd, msg) {
-            Err(e) => tlog!(Error, "ipc error: {e}"),
-            Ok(()) => (),
+        if let Err(e) = rmp_serde::encode::write(&mut self.fd, msg) {
+            tlog!(Error, "ipc error: {e}")
         }
     }
 }