From f15778cf72de86abc74c4b9bf4dfe7948ea0557c Mon Sep 17 00:00:00 2001
From: Yaroslav Dynnikov <yaroslav.dynnikov@gmail.com>
Date: Mon, 25 Apr 2022 00:40:43 +0300
Subject: [PATCH] chore: pleasure clippy

```console
$ cargo clippy
   Compiling picodata v0.1.0 (/home/rosik/w/picodata)
warning: 'tarantool-sys/patches-applied' exists, so patching step is
skipped
warning: single-character string constant used as pattern
   --> src/args.rs:194:47
    |
194 |     let (host, port) = match text.rsplit_once(":") {
    |                                               ^^^ help: try using
a `char` instead: `':'`
    |
    = note: `#[warn(clippy::single_char_pattern)]` on by default
    = help: for further information visit
https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern

warning: called `cloned().next()` on an `Iterator`. It may be more
efficient to call `next().cloned()` instead
   --> src/discovery.rs:154:27
    |
154 |                 let res =
    peers.difference(&self.visited).cloned().next();
    |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this:
`peers.difference(&self.visited).next().cloned()`
    |
    = note: `#[warn(clippy::iter_overeager_cloned)]` on by default
    = help: for further information visit
https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned

warning: you seem to be trying to use `match` for destructuring a single
pattern. Consider using `if let`
  --> src/ipc.rs:27:9
   |
27 | /         match rmp_serde::encode::write(&mut self.fd, msg) {
28 | |             Err(e) => tlog!(Error, "ipc error: {e}"),
29 | |             Ok(()) => (),
30 | |         }
   | |_________^ help: try this: `if let Err(e) =
rmp_serde::encode::write(&mut self.fd, msg) { tlog!(Error, "ipc error:
{e}") }`
   |
   = note: `#[warn(clippy::single_match)]` on by default
   = help: for further information visit
https://rust-lang.github.io/rust-clippy/master/index.html#single_match

warning: `picodata` (bin "picodata") generated 3 warnings
    Finished dev [unoptimized + debuginfo] target(s) in 1.41s
```
---
 src/args.rs      | 2 +-
 src/discovery.rs | 2 +-
 src/ipc.rs       | 5 ++---
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/args.rs b/src/args.rs
index 16d7cfbafa..f6da12f1c7 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 4401fed3c1..f1d5c02064 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 ce42c2cf12..afd66ae99e 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}")
         }
     }
 }
-- 
GitLab