From a69844d463f0e31bee9b2de17dae32bd430e6120 Mon Sep 17 00:00:00 2001 From: damocles Date: Tue, 16 Jun 2026 11:51:01 +0200 Subject: [PATCH] hive-forge: fix ci-log clippy cast_possible_truncation (use try_from) --- hive-forge/src/verbs/ci_log.rs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/hive-forge/src/verbs/ci_log.rs b/hive-forge/src/verbs/ci_log.rs index c5c48fd3..5b5a779b 100644 --- a/hive-forge/src/verbs/ci_log.rs +++ b/hive-forge/src/verbs/ci_log.rs @@ -124,7 +124,11 @@ pub fn run(client: &Client, args: Args) -> Result<()> { ); } for sl in &steps_log { - let idx = sl.get("step").and_then(Value::as_u64).unwrap_or_default() as usize; + let idx = sl + .get("step") + .and_then(Value::as_u64) + .and_then(|n| usize::try_from(n).ok()) + .unwrap_or_default(); println!("=== step {idx}: {} ===", step_name(steps.get(idx))); if let Some(lines) = sl.get("lines").and_then(Value::as_array) { for line in lines { @@ -141,11 +145,10 @@ pub fn run(client: &Client, args: Args) -> Result<()> { #[cfg(test)] mod tests { use super::*; - use serde_json::json; #[test] fn steps_of_reads_current_job_steps() { - let view = json!({ + let view = serde_json::json!({ "state": { "currentJob": { "steps": [ { "summary": "Set up job" }, { "summary": "Run tests" } @@ -159,18 +162,21 @@ mod tests { #[test] fn steps_of_missing_is_empty() { - assert!(steps_of(&json!({})).is_empty()); - assert!(steps_of(&json!({ "state": {} })).is_empty()); + assert!(steps_of(&serde_json::json!({})).is_empty()); + assert!(steps_of(&serde_json::json!({ "state": {} })).is_empty()); } #[test] fn step_name_falls_back() { - assert_eq!(step_name(Some(&json!({ "name": "compile" }))), "compile"); - assert_eq!(step_name(Some(&json!({}))), "step"); + assert_eq!( + step_name(Some(&serde_json::json!({ "name": "compile" }))), + "compile" + ); + assert_eq!(step_name(Some(&serde_json::json!({}))), "step"); assert_eq!(step_name(None), "step"); // `summary` wins over `name` when both are present. assert_eq!( - step_name(Some(&json!({ "summary": "a", "name": "b" }))), + step_name(Some(&serde_json::json!({ "summary": "a", "name": "b" }))), "a" ); }