cano 0.15.3

High-performance orchestration engine for building resilient, self-healing systems in Rust. Uses Finite State Machines (FSM) for strict, type-safe transitions.
Documentation

Build #4345989 2026-09-06 02:21:10

# rustc version rustc 1.100.0-nightly (f248f4038 2026-09-05)

# docs.rs version docsrs 0.0.0 (c6ca30c0fecf66cc5a0859ac541222ca6c912d59 2026-09-01 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "2fb20fda3b1ecc885489ffa536464d436492262e005635005a652b0a6ecace2a" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=html-non-static-files\", \"--resource-suffix\", \"-20260905-1.100.0-nightly-f248f4038\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-j12" "--target" "x86_64-unknown-linux-gnu" "-Zrustdoc-scrape-examples", kill_on_drop: false }` [INFO] [stderr] warning: explicit `package.readme` can be inferred [INFO] [stderr] --> Cargo.toml:409:1 [INFO] [stderr] | [INFO] [stderr] 409 | readme = "README.md" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::manual_readme` is set to `warn` by default [INFO] [stderr] help: consider removing `package.readme` [INFO] [stderr] warning: binary `recovery_resume` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /opt/rustwide/target/.../recovery_resume [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::non_kebab_case_bins` is set to `warn` by default [INFO] [stderr] help: to change the binary name to `recovery-resume`, convert `bin.name` [INFO] [stderr] --> Cargo.toml:37:8 [INFO] [stderr] | [INFO] [stderr] 37 - name = "recovery_resume" [INFO] [stderr] 37 + name = "recovery-resume" [INFO] [stderr] | [INFO] [stderr] warning: binary `stepped_resume` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /opt/rustwide/target/.../stepped_resume [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `stepped-resume`, convert `bin.name` [INFO] [stderr] --> Cargo.toml:42:8 [INFO] [stderr] | [INFO] [stderr] 42 - name = "stepped_resume" [INFO] [stderr] 42 + name = "stepped-resume" [INFO] [stderr] | [INFO] [stderr] warning: `cano` (manifest) generated 3 warnings [INFO] [stderr] warning: Rustdoc did not scrape the following examples because they require dev-dependencies: ai_workflow_yes_and, batch_task, circuit_breaker, circuit_breaker_manual, custom_checkpoint_store, join_strategies, metrics_demo, metrics_tracing_context, mixed_workflow, observer_metrics, panic_safety, poll_retry_on_error, poll_task, processing_models_tour, rate_limiter, rate_limiter_multi, resources_advanced, router_task, saga_payment, saga_recovery, scheduler_backoff, scheduler_book_prepositions, scheduler_cancellation, scheduler_duration_scheduling, scheduler_graceful_shutdown, scheduler_mapreduce_books, scheduler_mixed_workflows, scheduler_scheduling, split_bulkhead, stepped_task, store_custom_backend, stream_task, task_interface_demo, task_simple, testing_helpers, timer_task, tracing_demo, workflow_ad_exchange, workflow_bare, workflow_book_prepositions, workflow_cancellation, workflow_negotiation, workflow_observer, workflow_on_request, workflow_partial_results, workflow_recovery, workflow_resources, workflow_simd_matrix_pipeline, workflow_simple, workflow_split_join, workflow_stack_store, workflow_total_timeout, workflow_validation [INFO] [stderr] If you want Rustdoc to scrape these examples, then add `doc-scrape-examples = true` [INFO] [stderr] to the [[example]] target configuration of at least one example. [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting cano v0.15.3 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `TracingObserver` [INFO] [stderr] --> src/lib.rs:156:38 [INFO] [stderr] | [INFO] [stderr] 156 | //! the `tracing` feature enabled, [`TracingObserver`] is a ready-made observer that re-emits [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `TracingObserver` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `TracingObserver` [INFO] [stderr] --> src/lib.rs:242:93 [INFO] [stderr] | [INFO] [stderr] 242 | ...ifecycle/failure event hooks (and [`TracingObserver`], behind the `tracing` feature) [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `TracingObserver` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `TracingObserver` [INFO] [stderr] --> src/observer.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | //! ## Built-in: [`TracingObserver`] [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `TracingObserver` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `TracingObserver` [INFO] [stderr] --> src/observer.rs:46:43 [INFO] [stderr] | [INFO] [stderr] 46 | //! With the `tracing` feature enabled, [`TracingObserver`] is a ready-made observer [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `TracingObserver` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RedbCheckpointStore` [INFO] [stderr] --> src/recovery.rs:19:68 [INFO] [stderr] | [INFO] [stderr] 19 | //! - **Optional default.** With the `recovery` feature enabled, [`RedbCheckpointStore`] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no item named `RedbCheckpointStore` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] help: there's a similarly named item `CheckpointStore` [INFO] [stderr] | [INFO] [stderr] 19 - //! - **Optional default.** With the `recovery` feature enabled, [`RedbCheckpointStore`] [INFO] [stderr] 19 + //! - **Optional default.** With the `recovery` feature enabled, [`CheckpointStore`] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Task::name` [INFO] [stderr] --> src/task/retry.rs:233:49 [INFO] [stderr] | [INFO] [stderr] 233 | /// Populated by the workflow engine from [`Task::name`]; `None` when [INFO] [stderr] | ^^^^^^^^^^ no item named `Task` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `StreamWindow::Count(1)` [INFO] [stderr] --> src/task/stream.rs:192:41 [INFO] [stderr] | [INFO] [stderr] 192 | /// Windowing policy. Defaults to [`StreamWindow::Count(1)`] (flush per item). [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ the enum `StreamWindow` has no variant or associated item named `Count(1)` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Workflow::register_stream` [INFO] [stderr] --> src/task/stream.rs:264:49 [INFO] [stderr] | [INFO] [stderr] 264 | /// **Panic safety:** when registered via [`Workflow::register_stream`] (engine-driven [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Workflow` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Workflow::register` [INFO] [stderr] --> src/task/stream.rs:266:32 [INFO] [stderr] | [INFO] [stderr] 266 | /// registered via plain [`Workflow::register`] (in-memory companion), panics propagate. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ no item named `Workflow` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `crate::workflow::execution::StateEntry` [INFO] [stderr] --> src/task/stream.rs:643:28 [INFO] [stderr] | [INFO] [stderr] 643 | /// [`StateEntry::Stream`](crate::workflow::execution::StateEntry) path. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `execution` in module `workflow` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `WorkflowObserver` [INFO] [stderr] --> src/task.rs:265:11 [INFO] [stderr] | [INFO] [stderr] 265 | /// [`WorkflowObserver`] hooks. [INFO] [stderr] | ^^^^^^^^^^^^^^^^ no item named `WorkflowObserver` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `Self::with_timeout` [INFO] [stderr] --> src/workflow.rs:307:66 [INFO] [stderr] | [INFO] [stderr] 307 | /// if rollback itself fails. Contrast with [`with_timeout`](Self::with_timeout), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ the struct `Workflow` has no field or associated item named `with_timeout` [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/stream.rs:14:60 [INFO] [stderr] | [INFO] [stderr] 14 | //! - **Cancelled** — the workflow's [`CancellationToken`](crate::cancel::CancellationToken) [INFO] [stderr] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 14 - //! - **Cancelled** — the workflow's [`CancellationToken`](crate::cancel::CancellationToken) [INFO] [stderr] 14 + //! - **Cancelled** — the workflow's [`CancellationToken`] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/stream.rs:17:40 [INFO] [stderr] | [INFO] [stderr] 17 | //! ends as [`CanoError::Cancelled`](crate::error::CanoError::Cancelled) so a later [INFO] [stderr] | ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 17 - //! ends as [`CanoError::Cancelled`](crate::error::CanoError::Cancelled) so a later [INFO] [stderr] 17 + //! ends as [`CanoError::Cancelled`] so a later [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/stream.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | //! [`CanoError::WorkflowTimeout`](crate::error::CanoError::WorkflowTimeout). [INFO] [stderr] | ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 26 - //! [`CanoError::WorkflowTimeout`](crate::error::CanoError::WorkflowTimeout). [INFO] [stderr] 26 + //! [`CanoError::WorkflowTimeout`]. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/stream.rs:153:46 [INFO] [stderr] | [INFO] [stderr] 153 | /// The workflow's [`CancellationToken`](crate::cancel::CancellationToken) fired [INFO] [stderr] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 153 - /// The workflow's [`CancellationToken`](crate::cancel::CancellationToken) fired [INFO] [stderr] 153 + /// The workflow's [`CancellationToken`] fired [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/stream.rs:254:36 [INFO] [stderr] | [INFO] [stderr] 254 | /// [`CanoError::Cancelled`](crate::error::CanoError::Cancelled) (an `Err` returned [INFO] [stderr] | ---------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 254 - /// [`CanoError::Cancelled`](crate::error::CanoError::Cancelled) (an `Err` returned [INFO] [stderr] 254 + /// [`CanoError::Cancelled`] (an `Err` returned [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/timer.rs:3:47 [INFO] [stderr] | [INFO] [stderr] 3 | //! A [`TimerTask`] sleeps for a [`Duration`](std::time::Duration) (or until a monotonic [INFO] [stderr] | ---------- ^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 3 - //! A [`TimerTask`] sleeps for a [`Duration`](std::time::Duration) (or until a monotonic [INFO] [stderr] 3 + //! A [`TimerTask`] sleeps for a [`Duration`] (or until a monotonic [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/timer.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | //! [`Instant`](std::time::Instant) is reached) and then transitions to the next state. It [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 4 - //! [`Instant`](std::time::Instant) is reached) and then transitions to the next state. It [INFO] [stderr] 4 + //! [`Instant`] is reached) and then transitions to the next state. It [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/task/timer.rs:227:31 [INFO] [stderr] | [INFO] [stderr] 227 | /// monotonic [`Instant`](std::time::Instant) deadline. [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 227 - /// monotonic [`Instant`](std::time::Instant) deadline. [INFO] [stderr] 227 + /// monotonic [`Instant`] deadline. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/workflow.rs:305:48 [INFO] [stderr] | [INFO] [stderr] 305 | /// returns [`CanoError::WorkflowTimeout`](crate::CanoError::WorkflowTimeout) [INFO] [stderr] | ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 305 - /// returns [`CanoError::WorkflowTimeout`](crate::CanoError::WorkflowTimeout) [INFO] [stderr] 305 + /// returns [`CanoError::WorkflowTimeout`] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/workflow.rs:306:48 [INFO] [stderr] | [INFO] [stderr] 306 | /// — or [`CanoError::CompensationFailed`](crate::CanoError::CompensationFailed) [INFO] [stderr] | ------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 306 - /// — or [`CanoError::CompensationFailed`](crate::CanoError::CompensationFailed) [INFO] [stderr] 306 + /// — or [`CanoError::CompensationFailed`] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/workflow.rs:561:35 [INFO] [stderr] | [INFO] [stderr] 561 | /// Register a [`StreamTask`](crate::task::stream::StreamTask) for `state`, with [INFO] [stderr] | ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 561 - /// Register a [`StreamTask`](crate::task::stream::StreamTask) for `state`, with [INFO] [stderr] 561 + /// Register a [`StreamTask`] for `state`, with [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/workflow.rs:566:50 [INFO] [stderr] | [INFO] [stderr] 566 | /// observes the run's [`CancellationToken`](crate::cancel::CancellationToken), and — [INFO] [stderr] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 566 - /// observes the run's [`CancellationToken`](crate::cancel::CancellationToken), and — [INFO] [stderr] 566 + /// observes the run's [`CancellationToken`], and — [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/workflow.rs:720:60 [INFO] [stderr] | [INFO] [stderr] 720 | /// surfaces as [`CanoError::WorkflowVersionMismatch`](crate::CanoError::WorkflowVersionMismatch). [INFO] [stderr] | ------------------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 720 - /// surfaces as [`CanoError::WorkflowVersionMismatch`](crate::CanoError::WorkflowVersionMismatch). [INFO] [stderr] 720 + /// surfaces as [`CanoError::WorkflowVersionMismatch`]. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/workflow.rs:949:31 [INFO] [stderr] | [INFO] [stderr] 949 | /// [`CompensatableTask`](crate::saga::CompensatableTask) is never interrupted mid-run (it [INFO] [stderr] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 949 - /// [`CompensatableTask`](crate::saga::CompensatableTask) is never interrupted mid-run (it [INFO] [stderr] 949 + /// [`CompensatableTask`] is never interrupted mid-run (it [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `task::router` is both a module and an attribute macro [INFO] [stderr] --> src/lib.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | //! - [`task::router`]: The [`RouterTask`] trait — side-effect-free branching via `route()`; registered with [`Workflow::register_r... [INFO] [stderr] | ^^^^^^^^^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the module, prefix with `mod@` [INFO] [stderr] | [INFO] [stderr] 232 | //! - [`mod@task::router`]: The [`RouterTask`] trait — side-effect-free branching via `route()`; registered with [`Workflow::register_router`] [INFO] [stderr] | ++++ [INFO] [stderr] help: to link to the attribute macro, prefix with `attribute@` [INFO] [stderr] | [INFO] [stderr] 232 | //! - [`attribute@task::router`]: The [`RouterTask`] trait — side-effect-free branching via `route()`; registered with [`Workflow::register_router`] [INFO] [stderr] | ++++++++++ [INFO] [stderr] [INFO] [stderr] warning: `task::poll` is both a module and an attribute macro [INFO] [stderr] --> src/lib.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | //! - [`task::poll`]: The [`PollTask`] trait — wait-until loop via `poll()`; registered with [`Workflow::register`] [INFO] [stderr] | ^^^^^^^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the module, prefix with `mod@` [INFO] [stderr] | [INFO] [stderr] 233 | //! - [`mod@task::poll`]: The [`PollTask`] trait — wait-until loop via `poll()`; registered with [`Workflow::register`] [INFO] [stderr] | ++++ [INFO] [stderr] help: to link to the attribute macro, prefix with `attribute@` [INFO] [stderr] | [INFO] [stderr] 233 | //! - [`attribute@task::poll`]: The [`PollTask`] trait — wait-until loop via `poll()`; registered with [`Workflow::register`] [INFO] [stderr] | ++++++++++ [INFO] [stderr] [INFO] [stderr] warning: `task::timer` is both a module and an attribute macro [INFO] [stderr] --> src/lib.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | //! - [`task::timer`]: The [`TimerTask`] trait — wait-then-transition via `wait()`/`after_wait()`; registered with [`Workflow::regi... [INFO] [stderr] | ^^^^^^^^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the module, prefix with `mod@` [INFO] [stderr] | [INFO] [stderr] 234 | //! - [`mod@task::timer`]: The [`TimerTask`] trait — wait-then-transition via `wait()`/`after_wait()`; registered with [`Workflow::register`] [INFO] [stderr] | ++++ [INFO] [stderr] help: to link to the attribute macro, prefix with `attribute@` [INFO] [stderr] | [INFO] [stderr] 234 | //! - [`attribute@task::timer`]: The [`TimerTask`] trait — wait-then-transition via `wait()`/`after_wait()`; registered with [`Workflow::register`] [INFO] [stderr] | ++++++++++ [INFO] [stderr] [INFO] [stderr] warning: `task::batch` is both a module and an attribute macro [INFO] [stderr] --> src/lib.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | //! - [`task::batch`]: The [`BatchTask`] trait — fan-out over data items via `load`/`process_item`/`finish`; registered with [`Work... [INFO] [stderr] | ^^^^^^^^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the module, prefix with `mod@` [INFO] [stderr] | [INFO] [stderr] 235 | //! - [`mod@task::batch`]: The [`BatchTask`] trait — fan-out over data items via `load`/`process_item`/`finish`; registered with [`Workflow::register`] [INFO] [stderr] | ++++ [INFO] [stderr] help: to link to the attribute macro, prefix with `attribute@` [INFO] [stderr] | [INFO] [stderr] 235 | //! - [`attribute@task::batch`]: The [`BatchTask`] trait — fan-out over data items via `load`/`process_item`/`finish`; registered with [`Workflow::register`] [INFO] [stderr] | ++++++++++ [INFO] [stderr] [INFO] [stderr] warning: `task::stepped` is both a module and an attribute macro [INFO] [stderr] --> src/lib.rs:236:9 [INFO] [stderr] | [INFO] [stderr] 236 | //! - [`task::stepped`]: The [`SteppedTask`] trait — resumable iterative work via `step()` with a serializable cursor; registered w... [INFO] [stderr] | ^^^^^^^^^^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the module, prefix with `mod@` [INFO] [stderr] | [INFO] [stderr] 236 | //! - [`mod@task::stepped`]: The [`SteppedTask`] trait — resumable iterative work via `step()` with a serializable cursor; registered with [`Workflow::register_stepped`] (persists the cursor when a checkpoint store is attached) [INFO] [stderr] | ++++ [INFO] [stderr] help: to link to the attribute macro, prefix with `attribute@` [INFO] [stderr] | [INFO] [stderr] 236 | //! - [`attribute@task::stepped`]: The [`SteppedTask`] trait — resumable iterative work via `step()` with a serializable cursor; registered with [`Workflow::register_stepped`] (persists the cursor when a checkpoint store is attached) [INFO] [stderr] | ++++++++++ [INFO] [stderr] [INFO] [stderr] warning: `task::stream` is both a module and an attribute macro [INFO] [stderr] --> src/lib.rs:237:9 [INFO] [stderr] | [INFO] [stderr] 237 | //! - [`task::stream`]: The [`StreamTask`] trait — a genuine stream-processing model: consume an `impl Stream` continuously, flush ... [INFO] [stderr] | ^^^^^^^^^^^^ ambiguous link [INFO] [stderr] | [INFO] [stderr] help: to link to the module, prefix with `mod@` [INFO] [stderr] | [INFO] [stderr] 237 | //! - [`mod@task::stream`]: The [`StreamTask`] trait — a genuine stream-processing model: consume an `impl Stream` continuously, flush per [`StreamWindow`] window, run until the [`CancellationToken`] fires, and resume from a persisted cursor; registered with [`Workflow::register_stream`] [INFO] [stderr] | ++++ [INFO] [stderr] help: to link to the attribute macro, prefix with `attribute@` [INFO] [stderr] | [INFO] [stderr] 237 | //! - [`attribute@task::stream`]: The [`StreamTask`] trait — a genuine stream-processing model: consume an `impl Stream` continuously, flush per [`StreamWindow`] window, run until the [`CancellationToken`] fires, and resume from a persisted cursor; registered with [`Workflow::register_stream`] [INFO] [stderr] | ++++++++++ [INFO] [stderr] [INFO] [stderr] warning: `cano` (lib doc) generated 32 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.52s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/cano/index.html [INFO] running `Command { std: "docker" "inspect" "2fb20fda3b1ecc885489ffa536464d436492262e005635005a652b0a6ecace2a", kill_on_drop: false }`