From 6f7a58e4c5a648a998c618f24f8af62c339dee29 Mon Sep 17 00:00:00 2001 From: TechnoPorg Date: Wed, 11 Feb 2026 22:26:15 +0100 Subject: [PATCH] Fix CI --- benches/basic/execution.rs | 42 +++++++++++++------------- benches/basic/scaling.rs | 2 +- benches/comparisons/deep_chain.rs | 6 ++-- benches/comparisons/etl_pipeline.rs | 8 ++--- benches/comparisons/large_scale.rs | 2 +- benches/comparisons/linear_pipeline.rs | 10 +++--- benches/comparisons/wide_fanout.rs | 4 +-- benches/patterns/breakdown.rs | 6 ++-- examples/01_basic.rs | 3 +- src/task/tests.rs | 27 ++++++++--------- 10 files changed, 53 insertions(+), 57 deletions(-) diff --git a/benches/basic/execution.rs b/benches/basic/execution.rs index 7a48215..85aa2c0 100644 --- a/benches/basic/execution.rs +++ b/benches/basic/execution.rs @@ -12,7 +12,7 @@ pub fn bench_dag_execution(c: &mut Criterion) { rt.block_on(async { let dag = DagRunner::new(); for i in 0..10 { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i)); } dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) .await @@ -26,7 +26,7 @@ pub fn bench_dag_execution(c: &mut Criterion) { rt.block_on(async { let dag = DagRunner::new(); for i in 0..100 { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i)); } dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) .await @@ -51,61 +51,61 @@ pub fn bench_dag_execution(c: &mut Criterion) { let t0 = dag.add_task(Value(0)); let t1 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t0); let t2 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t1); let t3 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t2); let t4 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t3); let t5 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t4); let t6 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t5); let t7 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t6); let t8 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t7); let t9 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t8); let t10 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t9); let t11 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t10); let t12 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t11); let t13 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t12); let t14 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t13); let t15 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t14); let t16 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t15); let t17 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t16); let t18 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t17); let _t19 = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(t18); dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) diff --git a/benches/basic/scaling.rs b/benches/basic/scaling.rs index 670fa01..32199aa 100644 --- a/benches/basic/scaling.rs +++ b/benches/basic/scaling.rs @@ -17,7 +17,7 @@ pub fn bench_dag_scaling(c: &mut Criterion) { rt.block_on(async { let dag = DagRunner::new(); for i in 0..size { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i)); } dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) .await diff --git a/benches/comparisons/deep_chain.rs b/benches/comparisons/deep_chain.rs index 700d2a3..e58eb32 100644 --- a/benches/comparisons/deep_chain.rs +++ b/benches/comparisons/deep_chain.rs @@ -18,14 +18,14 @@ pub fn bench_deep_chain(c: &mut Criterion) { let dag = DagRunner::new(); - let first: TaskHandle<_> = dag.add_task(task_fn::<(), _, _>(|_: ()| { 0 })).into(); + let first: TaskHandle<_> = dag.add_task(task_fn::<(), _, _>(|_: ()| 0)).into(); let mut prev = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(first); for i in 2..100 { prev = dag - .add_task(task_fn::(move |&x: &i32| { x + i })) + .add_task(task_fn::(move |&x: &i32| x + i)) .depends_on(prev); } diff --git a/benches/comparisons/etl_pipeline.rs b/benches/comparisons/etl_pipeline.rs index 687b7df..bf7e506 100644 --- a/benches/comparisons/etl_pipeline.rs +++ b/benches/comparisons/etl_pipeline.rs @@ -25,19 +25,19 @@ pub fn bench_etl_pipeline(c: &mut Criterion) { // Transform each source let transform1 = dag .add_task(task_fn::, _, _>(|data: &Vec| { - data.into_iter().map(|x| x * 2).collect::>() + data.iter().map(|x| x * 2).collect::>() })) .depends_on(source1); let transform2 = dag .add_task(task_fn::, _, _>(|data: &Vec| { - data.into_iter().map(|x| x * 2).collect::>() + data.iter().map(|x| x * 2).collect::>() })) .depends_on(source2); let transform3 = dag .add_task(task_fn::, _, _>(|data: &Vec| { - data.into_iter().map(|x| x * 2).collect::>() + data.iter().map(|x| x * 2).collect::>() })) .depends_on(source3); @@ -66,7 +66,7 @@ pub fn bench_etl_pipeline(c: &mut Criterion) { // Load (compute sum) let load = dag .add_task(task_fn::, _, _>(|data: &Vec| { - data.into_iter().sum::() + data.iter().sum::() })) .depends_on(validate); diff --git a/benches/comparisons/large_scale.rs b/benches/comparisons/large_scale.rs index 12120e6..fbb9541 100644 --- a/benches/comparisons/large_scale.rs +++ b/benches/comparisons/large_scale.rs @@ -19,7 +19,7 @@ pub fn bench_large_scale(c: &mut Criterion) { let dag = DagRunner::new(); for i in 0..10_000 { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i * 2 })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i * 2)); } dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) diff --git a/benches/comparisons/linear_pipeline.rs b/benches/comparisons/linear_pipeline.rs index ca932c0..bfbb7cc 100644 --- a/benches/comparisons/linear_pipeline.rs +++ b/benches/comparisons/linear_pipeline.rs @@ -17,18 +17,18 @@ pub fn bench_linear_pipeline(c: &mut Criterion) { let dag = DagRunner::new(); - let a = dag.add_task(task_fn::<(), _, _>(|_: ()| { 1 })); + let a = dag.add_task(task_fn::<(), _, _>(|_: ()| 1)); let b = dag - .add_task(task_fn::(|&x: &i32| { x + 1 })) + .add_task(task_fn::(|&x: &i32| x + 1)) .depends_on(a); let c = dag - .add_task(task_fn::(|&x: &i32| { x * 2 })) + .add_task(task_fn::(|&x: &i32| x * 2)) .depends_on(b); let d = dag - .add_task(task_fn::(|&x: &i32| { x - 1 })) + .add_task(task_fn::(|&x: &i32| x - 1)) .depends_on(c); let e = dag - .add_task(task_fn::(|&x: &i32| { x * 3 })) + .add_task(task_fn::(|&x: &i32| x * 3)) .depends_on(d); dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) diff --git a/benches/comparisons/wide_fanout.rs b/benches/comparisons/wide_fanout.rs index 3f42c16..6aa00fc 100644 --- a/benches/comparisons/wide_fanout.rs +++ b/benches/comparisons/wide_fanout.rs @@ -17,11 +17,11 @@ pub fn bench_wide_fanout(c: &mut Criterion) { use dagx::{task_fn, DagRunner}; let dag = DagRunner::new(); - let source: TaskHandle<_> = dag.add_task(task_fn::<(), _, _>(|_: ()| { 42 })).into(); + let source: TaskHandle<_> = dag.add_task(task_fn::<(), _, _>(|_: ()| 42)).into(); // Create 100 tasks that all depend on source for i in 0..100 { - dag.add_task(task_fn::(move |&x: &i32| { x + i })) + dag.add_task(task_fn::(move |&x: &i32| x + i)) .depends_on(source); } diff --git a/benches/patterns/breakdown.rs b/benches/patterns/breakdown.rs index e946818..c4f5483 100644 --- a/benches/patterns/breakdown.rs +++ b/benches/patterns/breakdown.rs @@ -14,7 +14,7 @@ pub fn bench_10k_breakdown(c: &mut Criterion) { b.iter(|| { let dag = DagRunner::new(); for i in 0..10_000 { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i)); } }); }); @@ -25,7 +25,7 @@ pub fn bench_10k_breakdown(c: &mut Criterion) { rt.block_on(async { let dag = DagRunner::new(); for i in 0..10_000 { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i)); } dag.run(|fut| tokio::spawn(fut).map(Result::unwrap)) .await @@ -39,7 +39,7 @@ pub fn bench_10k_breakdown(c: &mut Criterion) { // Pre-build the DAG outside the measurement let dag = DagRunner::new(); for i in 0..10_000 { - dag.add_task(task_fn::<(), _, _>(move |_: ()| { i })); + dag.add_task(task_fn::<(), _, _>(move |_: ()| i)); } b.iter(|| { diff --git a/examples/01_basic.rs b/examples/01_basic.rs index 6065b42..3b6d5bb 100644 --- a/examples/01_basic.rs +++ b/examples/01_basic.rs @@ -113,11 +113,10 @@ async fn main() { // Step 7: Retrieve results // // Use .get() with a TaskHandle to retrieve the output. - // Results are cloned, so you can retrieve them multiple times. + // Results are not cloned, so you can only retrieve them once. println!("\nResult: {}", dag.get(sum).unwrap()); // Note: You can also retrieve intermediate results assert_eq!(dag.get(x).unwrap(), 2); assert_eq!(dag.get(y).unwrap(), 3); - assert_eq!(dag.get(sum).unwrap(), 5); } diff --git a/src/task/tests.rs b/src/task/tests.rs index ff2894c..99dbc38 100644 --- a/src/task/tests.rs +++ b/src/task/tests.rs @@ -17,7 +17,7 @@ async fn test_task_fn_creation_and_execution() { // Test the Task trait implementation let result = task .run(TaskInput::new( - vec![Arc::new(42) as Arc].iter(), + [Arc::new(42) as Arc].iter(), )) .await; assert_eq!(result, 84); @@ -30,7 +30,7 @@ async fn test_task_fn_with_unit_input() { let result = task .run(TaskInput::new( - vec![Arc::new(()) as Arc].iter(), + [Arc::new(()) as Arc].iter(), )) .await; assert_eq!(result, 100); @@ -43,7 +43,7 @@ async fn test_task_fn_with_tuple_input() { let result = task .run(TaskInput::new( - vec![ + [ Arc::new(10) as Arc, Arc::new(20) as Arc, ] @@ -56,15 +56,12 @@ async fn test_task_fn_with_tuple_input() { #[tokio::test] async fn test_task_fn_with_string_input() { // Test task_fn with String input - let task = task_fn::(|input: &String| { - let len = input.len(); - len - }); + let task = task_fn::(|input: &String| input.len()); let test_string = String::from("hello"); let result = task .run(TaskInput::new( - vec![Arc::new(test_string) as Arc].iter(), + [Arc::new(test_string) as Arc].iter(), )) .await; assert_eq!(result, 5); @@ -77,7 +74,7 @@ async fn test_task_fn_with_complex_output() { let result = task .run(TaskInput::new( - vec![Arc::new(5) as Arc].iter(), + [Arc::new(5) as Arc].iter(), )) .await; assert_eq!(result, vec![5, 10, 15]); @@ -91,7 +88,7 @@ async fn test_task_fn_stateful_closure() { let result = task .run(TaskInput::new( - vec![Arc::new(7) as Arc].iter(), + [Arc::new(7) as Arc].iter(), )) .await; assert_eq!(result, 21); @@ -124,7 +121,7 @@ async fn test_custom_task_implementation() { let result1 = task .run(TaskInput::new( - vec![Arc::new(5) as Arc].iter(), + [Arc::new(5) as Arc].iter(), )) .await; assert_eq!(result1, 15); @@ -160,7 +157,7 @@ async fn test_task_fn_single_call() { assert_eq!( task.run(TaskInput::new( - vec![Arc::new(1) as Arc].iter() + [Arc::new(1) as Arc].iter() )) .await, 2 @@ -180,7 +177,7 @@ async fn test_task_fn_with_result_type() { assert_eq!( task.run(TaskInput::new( - vec![Arc::new(5) as Arc].iter() + [Arc::new(5) as Arc].iter() )) .await, Ok(10) @@ -194,7 +191,7 @@ async fn test_task_fn_with_option_type() { assert_eq!( task.run(TaskInput::new( - vec![Arc::new(5) as Arc].iter() + [Arc::new(5) as Arc].iter() )) .await, Some(10) @@ -210,7 +207,7 @@ async fn test_task_fn_explicit_trait_call() { // Explicitly call the Task trait's run method let result = Task::run( task, - TaskInput::new(vec![Arc::new(10) as Arc].iter()), + TaskInput::new([Arc::new(10) as Arc].iter()), ) .await; assert_eq!(result, 30);