From 059d528b76914aaefebc42705984586ebb1c607a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 8 May 2026 23:45:50 +0900 Subject: refactor(advisory): fix clippy warnings Implement std::str::FromStr for AuditFormat and AbandonedHandling instead of ad-hoc from_str methods (resolves should_implement_trait). Group Auditor::audit() parameters into AuditOptions to resolve too_many_arguments. --- crates/mozart-core/src/advisory.rs | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'crates/mozart-core') diff --git a/crates/mozart-core/src/advisory.rs b/crates/mozart-core/src/advisory.rs index 4752c8b..f20405e 100644 --- a/crates/mozart-core/src/advisory.rs +++ b/crates/mozart-core/src/advisory.rs @@ -32,14 +32,18 @@ impl AuditFormat { Self::Summary => FORMAT_SUMMARY, } } +} + +impl std::str::FromStr for AuditFormat { + type Err = (); - pub fn from_str(s: &str) -> Option { + fn from_str(s: &str) -> Result { match s { - FORMAT_TABLE => Some(Self::Table), - FORMAT_PLAIN => Some(Self::Plain), - FORMAT_JSON => Some(Self::Json), - FORMAT_SUMMARY => Some(Self::Summary), - _ => None, + FORMAT_TABLE => Ok(Self::Table), + FORMAT_PLAIN => Ok(Self::Plain), + FORMAT_JSON => Ok(Self::Json), + FORMAT_SUMMARY => Ok(Self::Summary), + _ => Err(()), } } } @@ -61,13 +65,17 @@ impl AbandonedHandling { Self::Fail => ABANDONED_FAIL, } } +} + +impl std::str::FromStr for AbandonedHandling { + type Err = (); - pub fn from_str(s: &str) -> Option { + fn from_str(s: &str) -> Result { match s { - ABANDONED_IGNORE => Some(Self::Ignore), - ABANDONED_REPORT => Some(Self::Report), - ABANDONED_FAIL => Some(Self::Fail), - _ => None, + ABANDONED_IGNORE => Ok(Self::Ignore), + ABANDONED_REPORT => Ok(Self::Report), + ABANDONED_FAIL => Ok(Self::Fail), + _ => Err(()), } } } @@ -182,7 +190,7 @@ impl AuditConfig { let audit_abandoned = audit_val .get("abandoned") .and_then(|v| v.as_str()) - .and_then(AbandonedHandling::from_str) + .and_then(|s| s.parse::().ok()) .unwrap_or_default(); let block_insecure = audit_val -- cgit v1.3.1