Don't clone task inputs

This commit is contained in:
TechnoPorg committed 2026-02-11 22:29:54 +01:00
1 parent 6f7a58e4c5
commit 4ef7e69cdd
10 files changed
+15 -137

No files matched your search

+2 -4
View File
@@ -11,7 +11,7 @@
//! system. The public API is fully type-safe with no runtime type errors. Internal execution
//! uses type erasure for heterogeneous task storage, but this is never exposed to users.
//! - **Works with ANY type**: Custom types work automatically with the `#[task]` macro—just
//! implement `Clone + Send + Sync`, no trait implementations needed! The macro generates
//! implement `Send + Sync`, no trait implementations needed! The macro generates
//! type-specific extraction logic for seamless integration.
//! - **Runtime-agnostic**: Works with any async runtime (Tokio, async-std, smol, Embassy, etc.)
//! - **Type-state pattern**: The API guides you with compile-time errors if you wire dependencies
@@ -442,15 +442,13 @@
//!
//! ## Custom Types
//!
//! **dagx works with ANY type automatically!** As long as your type implements `Clone + Send + Sync + 'static`,
//! **dagx works with ANY type automatically!** As long as your type is `Send + Sync + 'static`,
//! the `#[task]` macro generates the necessary extraction logic:
//!
//! ```no_run
//! # use dagx::{task, DagRunner, Task};
//! # use futures::FutureExt;
//!
//! // Just derive Clone - that's all you need!
//! #[derive(Clone)]
//! struct User {
//! name: String,
//! age: u32,