[pbs-devel] [PATCH v2 backup 2/5] clippy fixes: use of ok_or followed by a function call

Maximiliano Sandoval m.sandoval at proxmox.com
Fri Jun 16 10:27:28 CEST 2023


The function will always be called. This is only bad if it allocates or does some non-trivial amount of work.

Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
 src/api2/node/services.rs | 4 +++-
 src/api2/tape/drive.rs    | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/api2/node/services.rs b/src/api2/node/services.rs
index 4a73b42d..2786d620 100644
--- a/src/api2/node/services.rs
+++ b/src/api2/node/services.rs
@@ -78,7 +78,9 @@ fn json_service_state(service: &str, status: Value) -> Value {
         let name = status["Name"].as_str().unwrap_or(service);
 
         let state = if status["Type"] == "oneshot" && status["SubState"] == "dead" {
-            status["Result"].as_str().or(status["SubState"].as_str())
+            status["Result"]
+                .as_str()
+                .or_else(|| status["SubState"].as_str())
         } else {
             status["SubState"].as_str()
         }
diff --git a/src/api2/tape/drive.rs b/src/api2/tape/drive.rs
index 020dd492..5306e605 100644
--- a/src/api2/tape/drive.rs
+++ b/src/api2/tape/drive.rs
@@ -652,7 +652,7 @@ pub async fn read_label(drive: String, inventorize: Option<bool>) -> Result<Medi
         let mut drive = open_drive(&config, &drive)?;
 
         let (media_id, _key_config) = drive.read_label()?;
-        let media_id = media_id.ok_or(format_err!("Media is empty (no label)."))?;
+        let media_id = media_id.ok_or_else(|| format_err!("Media is empty (no label)."))?;
 
         let label = if let Some(ref set) = media_id.media_set_label {
             let key = &set.encryption_key_fingerprint;
-- 
2.39.2






More information about the pbs-devel mailing list