Jelajahi Sumber

init: appease clippy

```
warning: in a `match` scrutinee, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a `let`
   --> init/src/main.rs:127:23
    |
127 |               match (|| {
    |  _______________________^
128 | |                 let entry = entry.context("read_dir(/bin) failed")?;
129 | |                 let path = entry.path();
130 | |                 let status = std::process::Command::new(&path)
...   |
139 | |                 }
140 | |             })() {
    | |_____________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blocks_in_conditions
    = note: `#[warn(clippy::blocks_in_conditions)]` on by default
```

https://github.com/rust-lang/rust-clippy/pull/11853 landed in nightly.
Tamir Duberstein 1 tahun lalu
induk
melakukan
af935f84bf
1 mengubah file dengan 15 tambahan dan 16 penghapusan
  1. 15 16
      init/src/main.rs

+ 15 - 16
init/src/main.rs

@@ -123,25 +123,24 @@ fn run() -> anyhow::Result<()> {
     // Iterate files in /bin.
     let read_dir = std::fs::read_dir("/bin").context("read_dir(/bin) failed")?;
     let errors = read_dir
-        .filter_map(|entry| {
-            match (|| {
-                let entry = entry.context("read_dir(/bin) failed")?;
-                let path = entry.path();
-                let status = std::process::Command::new(&path)
-                    .args(&args)
-                    .status()
-                    .with_context(|| format!("failed to execute {}", path.display()))?;
+        .map(|entry| {
+            let entry = entry.context("read_dir(/bin) failed")?;
+            let path = entry.path();
+            let status = std::process::Command::new(&path)
+                .args(&args)
+                .status()
+                .with_context(|| format!("failed to execute {}", path.display()))?;
 
-                if status.code() == Some(0) {
-                    Ok(())
-                } else {
-                    Err(anyhow::anyhow!("{} failed: {status:?}", path.display()))
-                }
-            })() {
-                Ok(()) => None,
-                Err(err) => Some(err),
+            if status.code() == Some(0) {
+                Ok(())
+            } else {
+                Err(anyhow::anyhow!("{} failed: {status:?}", path.display()))
             }
         })
+        .filter_map(|result| match result {
+            Ok(()) => None,
+            Err(err) => Some(err),
+        })
         .collect::<Vec<_>>();
     if errors.is_empty() {
         Ok(())