Don't require an explicit return type in the task macro
This commit is contained in:
1 parent
098b2711d8
commit
1c9034de71
42 files changed
+51
-75
No files matched your search
@@ -2,7 +2,6 @@
|
||||
|
||||
use crate::builder::IsUnitType;
|
||||
use crate::runner::DagRunner;
|
||||
use crate::task::Task;
|
||||
use crate::types::TaskHandle;
|
||||
|
||||
// Initialize tracing subscriber for tests (idempotent)
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
use crate::deps::DepsTuple;
|
||||
use crate::runner::DagRunner;
|
||||
use crate::task::Task;
|
||||
use crate::types::{NodeId, TaskHandle};
|
||||
|
||||
// Test task for dependency testing
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#![allow(dead_code)] // Test helpers generate unused code via macro
|
||||
|
||||
use crate::extract::ExtractInput;
|
||||
use crate::task::Task;
|
||||
use std::any::Any;
|
||||
use std::sync::Arc;
|
||||
|
||||
|
||||
@@ -774,6 +774,8 @@
|
||||
|
||||
#![allow(private_bounds, private_interfaces)]
|
||||
|
||||
extern crate self as dagx;
|
||||
|
||||
// Module declarations
|
||||
mod builder;
|
||||
pub mod cycle_prevention;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::node::{ExecutableNode, TypedNode};
|
||||
use crate::task::Task;
|
||||
use crate::types::NodeId;
|
||||
|
||||
// Simple test task
|
||||
|
||||
+3
-3
@@ -235,7 +235,7 @@ impl DagRunner {
|
||||
/// # Parameters
|
||||
///
|
||||
/// - `spawner`: A function that spawns futures on the async runtime
|
||||
/// and returns a handle to the task. This is the only way to run tasks on separate threads. Examples:
|
||||
/// and returns a handle to the task. This is the only way to run tasks on separate threads. Examples:
|
||||
/// - Tokio: `|fut| { tokio::spawn(fut).map(Result::unwrap) }`
|
||||
/// - Smol: `|fut| { smol::spawn(fut) }`
|
||||
/// - Async-std: `|fut| { async_std::task::spawn(fut) }`
|
||||
@@ -374,7 +374,7 @@ impl DagRunner {
|
||||
let dependencies: Vec<_> = edges[&node_id]
|
||||
.iter()
|
||||
.flat_map(|dep| outputs.get(dep))
|
||||
.map(|value| value.clone())
|
||||
.cloned()
|
||||
.collect();
|
||||
|
||||
// Execute inline with panic handling.
|
||||
@@ -437,7 +437,7 @@ impl DagRunner {
|
||||
let dependencies: Vec<_> = edges[&node_id]
|
||||
.iter()
|
||||
.flat_map(|dep| outputs.get(dep))
|
||||
.map(|value| value.clone())
|
||||
.cloned()
|
||||
.collect();
|
||||
|
||||
// Spawn the task using the provided spawner
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
use crate::error::DagError;
|
||||
use crate::runner::DagRunner;
|
||||
use crate::task::Task;
|
||||
use crate::types::TaskHandle;
|
||||
use futures::FutureExt;
|
||||
use std::collections::HashMap;
|
||||
|
||||
+4
-11
@@ -2,7 +2,6 @@
|
||||
|
||||
use crate::error::DagError;
|
||||
use crate::runner::DagRunner;
|
||||
use crate::task::Task;
|
||||
use crate::types::TaskHandle;
|
||||
|
||||
use futures::FutureExt;
|
||||
@@ -161,17 +160,11 @@ async fn test_concurrent_run_protection() {
|
||||
assert!(result1.is_ok() != result2.is_ok());
|
||||
|
||||
// The error should be about concurrent execution
|
||||
if result1.is_err() {
|
||||
assert!(matches!(
|
||||
result1.unwrap_err(),
|
||||
crate::error::DagError::ConcurrentExecution
|
||||
));
|
||||
if let Err(e) = result1 {
|
||||
assert!(matches!(e, crate::error::DagError::ConcurrentExecution));
|
||||
}
|
||||
if result2.is_err() {
|
||||
assert!(matches!(
|
||||
result2.unwrap_err(),
|
||||
crate::error::DagError::ConcurrentExecution
|
||||
));
|
||||
if let Err(e) = result2 {
|
||||
assert!(matches!(e, crate::error::DagError::ConcurrentExecution));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -167,7 +167,6 @@ async fn test_task_fn_with_option_type() {
|
||||
#[tokio::test]
|
||||
async fn test_task_fn_explicit_trait_call() {
|
||||
// Test explicit Task trait method call to cover line 121
|
||||
use crate::task::Task;
|
||||
|
||||
let task = task_fn(|x: i32| async move { x * 3 });
|
||||
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
//!
|
||||
//! These tests ensure we hit line 71 in the From<TaskBuilder> implementation
|
||||
|
||||
use crate::types::TaskHandle;
|
||||
use crate::{task, DagRunner, Task};
|
||||
use crate::{task, DagRunner, TaskHandle};
|
||||
use futures::FutureExt;
|
||||
|
||||
#[tokio::test]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
//! Unit tests for types module
|
||||
|
||||
use crate::task::Task;
|
||||
use crate::types::{NodeId, TaskHandle};
|
||||
use std::marker::PhantomData;
|
||||
|
||||
|
||||
Reference in new issue
Block a user