From 93bb6753330963c752c7ca3064cb6972ddd15477 Mon Sep 17 00:00:00 2001 From: futile Date: Wed, 3 Dec 2025 12:52:02 +0000 Subject: [PATCH] process: improve `get_processes` call --- src/process.rs | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/process.rs b/src/process.rs index 3bc33cf..fe1512a 100644 --- a/src/process.rs +++ b/src/process.rs @@ -1,6 +1,6 @@ use crate::{ - sys::{handle::Handle, memory, snapshot}, Error, + sys::{handle::Handle, memory, snapshot}, }; use derive_more::derive::Display; @@ -45,18 +45,17 @@ impl Process { /// initialize a `Process` from a pid or a process name pub fn from>(identifier: T) -> Result { let identifier = identifier.into(); - let Some(snapshot) = (match identifier { - Identifier::Pid(pid) => snapshot::ProcessSnapshot::get_processes()? - .into_iter() - .find(|snapshot| snapshot.id == pid), - Identifier::Name(ref name) => snapshot::ProcessSnapshot::get_processes()? - .into_iter() - .find(|snapshot| snapshot.name == *name), - }) else { - return Err(Error::CreateProcessError(format!( - "failed to find a process with identifier `{identifier}`", - ))); - }; + let snapshot = snapshot::ProcessSnapshot::get_processes()? + .into_iter() + .find(|snapshot| match identifier { + Identifier::Pid(pid) => snapshot.id == pid, + Identifier::Name(ref name) => snapshot.name == *name, + }) + .ok_or_else(|| { + Error::CreateProcessError(format!( + "failed to find a process with identifier `{identifier}`", + )) + })?; let mut process = Self { name: snapshot.name, id: snapshot.id,