[INFO] fetching crate kotoba-workflow 0.1.22...
[INFO] testing kotoba-workflow-0.1.22 against 1.90.0 for beta-1.91-3
[INFO] extracting crate kotoba-workflow 0.1.22 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate kotoba-workflow 0.1.22
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kotoba-workflow 0.1.22
[INFO] tweaked toml for crates.io crate kotoba-workflow 0.1.22 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kotoba-workflow 0.1.22 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kotoba-workflow 0.1.22 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sqlx-macros v0.7.2
[INFO] [stderr]   Downloaded sqlx-macros-core v0.7.2
[INFO] [stderr]   Downloaded kotoba-errors v0.1.2
[INFO] [stderr]   Downloaded amq-protocol-uri v7.1.2
[INFO] [stderr]   Downloaded amq-protocol v7.1.2
[INFO] [stderr]   Downloaded tcp-stream v0.26.1
[INFO] [stderr]   Downloaded cookie-factory v0.3.3
[INFO] [stderr]   Downloaded kotoba-core v0.1.22
[INFO] [stderr]   Downloaded kotoba-storage v0.1.22
[INFO] [stderr]   Downloaded p12 v0.6.3
[INFO] [stderr]   Downloaded kotoba-jsonnet v0.1.22
[INFO] [stderr]   Downloaded sqlx-postgres v0.7.2
[INFO] [stderr]   Downloaded rocksdb v0.21.0
[INFO] [stderr]   Downloaded lapin v2.3.4
[INFO] [stderr]   Downloaded rusqlite v0.29.0
[INFO] [stderr]   Downloaded redis v0.23.3
[INFO] [stderr]   Downloaded webpki-roots v0.24.0
[INFO] [stderr]   Downloaded bindgen v0.65.1
[INFO] [stderr]   Downloaded sqlx v0.7.2
[INFO] [stderr]   Downloaded sqlx-core v0.7.2
[INFO] [stderr]   Downloaded pinky-swear v6.2.1
[INFO] [stderr]   Downloaded async-global-executor v3.1.0
[INFO] [stderr]   Downloaded amq-protocol-types v7.1.2
[INFO] [stderr]   Downloaded async-reactor-trait v1.1.0
[INFO] [stderr]   Downloaded sqlx-sqlite v0.7.2
[INFO] [stderr]   Downloaded reactor-trait v1.1.0
[INFO] [stderr]   Downloaded sqlx-mysql v0.7.2
[INFO] [stderr]   Downloaded rc2 v0.8.1
[INFO] [stderr]   Downloaded rustls-connector v0.18.5
[INFO] [stderr]   Downloaded amq-protocol-tcp v7.1.2
[INFO] [stderr]   Downloaded async-global-executor-trait v2.2.0
[INFO] [stderr]   Downloaded executor-trait v2.1.2
[INFO] [stderr]   Downloaded libsqlite3-sys v0.26.0
[INFO] [stderr]   Downloaded librocksdb-sys v0.11.0+8.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 598becc62a357d7a830b00a0e40e0380c910b1c044eff64fa1ca453dfc54328b
[INFO] running `Command { std: "docker" "start" "-a" "598becc62a357d7a830b00a0e40e0380c910b1c044eff64fa1ca453dfc54328b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "598becc62a357d7a830b00a0e40e0380c910b1c044eff64fa1ca453dfc54328b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "598becc62a357d7a830b00a0e40e0380c910b1c044eff64fa1ca453dfc54328b", kill_on_drop: false }`
[INFO] [stdout] 598becc62a357d7a830b00a0e40e0380c910b1c044eff64fa1ca453dfc54328b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7aec39dad3937f98f0ef7eef416f27f88890cb988fcc2e09582c4919a1364b51
[INFO] running `Command { std: "docker" "start" "-a" "7aec39dad3937f98f0ef7eef416f27f88890cb988fcc2e09582c4919a1364b51", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling cc v1.2.38
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.13.1
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling iso8601 v0.6.3
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling kotoba-errors v0.1.2
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling kotoba-storage v0.1.22
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling kotoba-jsonnet v0.1.22
[INFO] [stderr]    Compiling kotoba-core v0.1.22
[INFO] [stderr]    Compiling kotoba-workflow v0.1.22 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TxId`
[INFO] [stdout]   --> src/ir.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 | use kotoba_core::types::{GraphRef_ as GraphRef, Value, TxId};
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/store.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ir::ActivityIR`
[INFO] [stdout]   --> src/activity.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ir::ActivityIR;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CallDefinition`, `EmitDefinition`, `ForDefinition`, `ForkDefinition`, `ListenDefinition`, `RaiseDefinition`, `SwitchCase`, `TryDefinition`, `WaitDefinition`, and `WorkflowStep`
[INFO] [stdout]   --> src/parser.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...::{WorkflowStep, CallDefinition, EmitDefinition, ListenDefinition, WaitDefinition, RunDefinition, SwitchCase, ForDefinition, ForkDefinition, TryDefinition, RaiseDefinition, S...
[INFO] [stdout]    |       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionStatus` and `WorkflowExecution`
[INFO] [stdout]   --> src/distributed.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::ir::{WorkflowExecutionId, WorkflowExecution, ExecutionStatus};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/monitoring.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/optimization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActivityIR`
[INFO] [stdout]   --> src/optimization.rs:10:49
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ir::{WorkflowIR, WorkflowStrategyOp, ActivityIR};
[INFO] [stdout]    |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attempt_count`
[INFO] [stdout]    --> src/executor.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut attempt_count = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempt_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/executor.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut attempt_count = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/executor.rs:596:42
[INFO] [stdout]     |
[INFO] [stdout] 596 |             CompletionCondition::AtLeast(count) => {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/executor.rs:645:48
[INFO] [stdout]     |
[INFO] [stdout] 645 |             WaitCondition::Event { event_type, filter } => {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `filter: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/executor.rs:675:17
[INFO] [stdout]     |
[INFO] [stdout] 675 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> src/executor.rs:712:16
[INFO] [stdout]     |
[INFO] [stdout] 712 |             Ok(outputs) => {
[INFO] [stdout]     |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/executor.rs:736:13
[INFO] [stdout]     |
[INFO] [stdout] 736 |         let inputs = self.map_inputs(&input_mapping, &execution.inputs)?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/store.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             StorageBackend::Memory => Ok(Arc::new(MemoryWorkflowStore::new())),
[INFO] [stdout]    |             ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 40 |             _ => Err(WorkflowError::StorageError("No storage backend enabled. Enable 'rocksdb' or 'sqlite' feature".to_string())),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/store.rs:269:44
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub async fn cleanup_old_events(&self, execution_id: &WorkflowExecutionId) -> Result<(), WorkflowError> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/store.rs:407:47
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub async fn cleanup_old_snapshots(&self, execution_id: &WorkflowExecutionId) -> Result<(), WorkflowError> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attempt_count`
[INFO] [stdout]    --> src/activity.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut attempt_count = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempt_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/activity.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut attempt_count = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/saga.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 let mut order: Vec<String> = compensable.iter()
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compensable`
[INFO] [stdout]    --> src/saga.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let compensable = self.saga_manager.get_compensable_transactions(saga_id).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compensable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compensation_strategy`
[INFO] [stdout]    --> src/saga.rs:489:25
[INFO] [stdout]     |
[INFO] [stdout] 489 |             if let Some(compensation_strategy) = pattern.compensations.get(&compensation_ref) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compensation_strategy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saga_id`
[INFO] [stdout]    --> src/saga.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |         saga_id: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saga_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_dependencies`
[INFO] [stdout]    --> src/optimization.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let mut current_dependencies: HashMap<String, Vec<String>> = HashMap::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_dependencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimization.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut dependencies = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimization.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let mut current_dependencies: HashMap<String, Vec<String>> = HashMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/lib.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         timeout: Option<std::time::Duration>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/executor.rs:808:9
[INFO] [stdout]     |
[INFO] [stdout] 808 |         context: &HashMap<String, serde_json::Value>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/activity.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |     async fn execute(&self, inputs: HashMap<String, serde_json::Value>) -> Result<HashMap<String, serde_json::Value>, ActivityError> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/activity.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 |     async fn execute(&self, inputs: HashMap<String, serde_json::Value>) -> Result<HashMap<String, serde_json::Value>, ActivityError> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/parser.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let config = serde_json::to_value(call)
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/optimization.rs:431:50
[INFO] [stdout]     |
[INFO] [stdout] 431 |     async fn apply(&self, workflow: &WorkflowIR, context: &OptimizationContext) -> Option<OptimizationResult> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_parallelism`
[INFO] [stdout]    --> src/optimization.rs:493:67
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn optimize_parallel_execution(strategy: &WorkflowStrategyOp, max_parallelism: usize) -> WorkflowStrategyOp {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_parallelism`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/optimization.rs:559:50
[INFO] [stdout]     |
[INFO] [stdout] 559 |     async fn apply(&self, workflow: &WorkflowIR, context: &OptimizationContext) -> Option<OptimizationResult> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/integrations.rs:374:21
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 let data = params.get("data").and_then(|v| v.as_str()).ok_or(IntegrationError::InvalidParams)?;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/integrations.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 let body = params.get("body").and_then(|v| v.as_str()).ok_or(IntegrationError::InvalidParams)?;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `core_engine` is never read
[INFO] [stdout]    --> src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct ExtendedWorkflowEngine {
[INFO] [stdout]     |            ---------------------- field in this struct
[INFO] [stdout] 196 |     core_engine: std::sync::Arc<()>, // Placeholder
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute_step` is never used
[INFO] [stdout]    --> src/executor.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl WorkflowExecutor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     async fn execute_step(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state_manager` is never read
[INFO] [stdout]    --> src/saga.rs:375:5
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub struct SagaExecutionEngine {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 375 |     state_manager: Arc<crate::executor::WorkflowStateManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resource_manager` is never read
[INFO] [stdout]    --> src/optimization.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct WorkflowOptimizer {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 132 |     cost_model: CostModel,
[INFO] [stdout] 133 |     resource_manager: ResourceManager,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cost_threshold` is never read
[INFO] [stdout]    --> src/optimization.rs:548:5
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub struct CostBasedOptimizationRule {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 548 |     cost_threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `credentials` is never read
[INFO] [stdout]    --> src/integrations.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct CloudStorageIntegration {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 344 |     credentials: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `smtp_server`, `smtp_port`, `username`, `password`, and `from_email` are never read
[INFO] [stdout]    --> src/integrations.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub struct EmailIntegration {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 413 |     smtp_server: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 414 |     smtp_port: u16,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 415 |     username: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 416 |     password: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 417 |     from_email: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "7aec39dad3937f98f0ef7eef416f27f88890cb988fcc2e09582c4919a1364b51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7aec39dad3937f98f0ef7eef416f27f88890cb988fcc2e09582c4919a1364b51", kill_on_drop: false }`
[INFO] [stdout] 7aec39dad3937f98f0ef7eef416f27f88890cb988fcc2e09582c4919a1364b51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f39ba2410cc650930780bfe16839ca1eb22b4ab6a566c03a6fe100b34ce1bbc
[INFO] running `Command { std: "docker" "start" "-a" "1f39ba2410cc650930780bfe16839ca1eb22b4ab6a566c03a6fe100b34ce1bbc", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `TxId`
[INFO] [stdout]   --> src/ir.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 | use kotoba_core::types::{GraphRef_ as GraphRef, Value, TxId};
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/store.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ir::ActivityIR`
[INFO] [stdout]   --> src/activity.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ir::ActivityIR;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CallDefinition`, `EmitDefinition`, `ForDefinition`, `ForkDefinition`, `ListenDefinition`, `RaiseDefinition`, `SwitchCase`, `TryDefinition`, `WaitDefinition`, and `WorkflowStep`
[INFO] [stdout]   --> src/parser.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...::{WorkflowStep, CallDefinition, EmitDefinition, ListenDefinition, WaitDefinition, RunDefinition, SwitchCase, ForDefinition, ForkDefinition, TryDefinition, RaiseDefinition, S...
[INFO] [stdout]    |       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionStatus` and `WorkflowExecution`
[INFO] [stdout]   --> src/distributed.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::ir::{WorkflowExecutionId, WorkflowExecution, ExecutionStatus};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/monitoring.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/optimization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActivityIR`
[INFO] [stdout]   --> src/optimization.rs:10:49
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ir::{WorkflowIR, WorkflowStrategyOp, ActivityIR};
[INFO] [stdout]    |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attempt_count`
[INFO] [stdout]    --> src/executor.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut attempt_count = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempt_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/executor.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut attempt_count = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/executor.rs:596:42
[INFO] [stdout]     |
[INFO] [stdout] 596 |             CompletionCondition::AtLeast(count) => {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/executor.rs:645:48
[INFO] [stdout]     |
[INFO] [stdout] 645 |             WaitCondition::Event { event_type, filter } => {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `filter: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/executor.rs:675:17
[INFO] [stdout]     |
[INFO] [stdout] 675 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> src/executor.rs:712:16
[INFO] [stdout]     |
[INFO] [stdout] 712 |             Ok(outputs) => {
[INFO] [stdout]     |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/executor.rs:736:13
[INFO] [stdout]     |
[INFO] [stdout] 736 |         let inputs = self.map_inputs(&input_mapping, &execution.inputs)?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/store.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             StorageBackend::Memory => Ok(Arc::new(MemoryWorkflowStore::new())),
[INFO] [stdout]    |             ---------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 40 |             _ => Err(WorkflowError::StorageError("No storage backend enabled. Enable 'rocksdb' or 'sqlite' feature".to_string())),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/store.rs:269:44
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub async fn cleanup_old_events(&self, execution_id: &WorkflowExecutionId) -> Result<(), WorkflowError> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `execution_id`
[INFO] [stdout]    --> src/store.rs:407:47
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub async fn cleanup_old_snapshots(&self, execution_id: &WorkflowExecutionId) -> Result<(), WorkflowError> {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_execution_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attempt_count`
[INFO] [stdout]    --> src/activity.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut attempt_count = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempt_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/activity.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut attempt_count = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/saga.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 let mut order: Vec<String> = compensable.iter()
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compensable`
[INFO] [stdout]    --> src/saga.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let compensable = self.saga_manager.get_compensable_transactions(saga_id).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compensable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compensation_strategy`
[INFO] [stdout]    --> src/saga.rs:489:25
[INFO] [stdout]     |
[INFO] [stdout] 489 |             if let Some(compensation_strategy) = pattern.compensations.get(&compensation_ref) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compensation_strategy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saga_id`
[INFO] [stdout]    --> src/saga.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |         saga_id: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saga_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_dependencies`
[INFO] [stdout]    --> src/optimization.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let mut current_dependencies: HashMap<String, Vec<String>> = HashMap::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_dependencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimization.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut dependencies = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimization.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let mut current_dependencies: HashMap<String, Vec<String>> = HashMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/lib.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         timeout: Option<std::time::Duration>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/executor.rs:808:9
[INFO] [stdout]     |
[INFO] [stdout] 808 |         context: &HashMap<String, serde_json::Value>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/activity.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |     async fn execute(&self, inputs: HashMap<String, serde_json::Value>) -> Result<HashMap<String, serde_json::Value>, ActivityError> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kotoba-workflow v0.1.22 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/activity.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 |     async fn execute(&self, inputs: HashMap<String, serde_json::Value>) -> Result<HashMap<String, serde_json::Value>, ActivityError> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/parser.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let config = serde_json::to_value(call)
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/optimization.rs:431:50
[INFO] [stdout]     |
[INFO] [stdout] 431 |     async fn apply(&self, workflow: &WorkflowIR, context: &OptimizationContext) -> Option<OptimizationResult> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_parallelism`
[INFO] [stdout]    --> src/optimization.rs:493:67
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn optimize_parallel_execution(strategy: &WorkflowStrategyOp, max_parallelism: usize) -> WorkflowStrategyOp {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_parallelism`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/optimization.rs:559:50
[INFO] [stdout]     |
[INFO] [stdout] 559 |     async fn apply(&self, workflow: &WorkflowIR, context: &OptimizationContext) -> Option<OptimizationResult> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/integrations.rs:374:21
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 let data = params.get("data").and_then(|v| v.as_str()).ok_or(IntegrationError::InvalidParams)?;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/integrations.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |                 let body = params.get("body").and_then(|v| v.as_str()).ok_or(IntegrationError::InvalidParams)?;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `core_engine` is never read
[INFO] [stdout]    --> src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct ExtendedWorkflowEngine {
[INFO] [stdout]     |            ---------------------- field in this struct
[INFO] [stdout] 196 |     core_engine: std::sync::Arc<()>, // Placeholder
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute_step` is never used
[INFO] [stdout]    --> src/executor.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl WorkflowExecutor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     async fn execute_step(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state_manager` is never read
[INFO] [stdout]    --> src/saga.rs:375:5
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub struct SagaExecutionEngine {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 375 |     state_manager: Arc<crate::executor::WorkflowStateManager>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resource_manager` is never read
[INFO] [stdout]    --> src/optimization.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct WorkflowOptimizer {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 132 |     cost_model: CostModel,
[INFO] [stdout] 133 |     resource_manager: ResourceManager,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cost_threshold` is never read
[INFO] [stdout]    --> src/optimization.rs:548:5
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub struct CostBasedOptimizationRule {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 548 |     cost_threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `credentials` is never read
[INFO] [stdout]    --> src/integrations.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct CloudStorageIntegration {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 344 |     credentials: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `smtp_server`, `smtp_port`, `username`, `password`, and `from_email` are never read
[INFO] [stdout]    --> src/integrations.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub struct EmailIntegration {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 413 |     smtp_server: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 414 |     smtp_port: u16,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 415 |     username: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 416 |     password: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 417 |     from_email: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActivityResult`
[INFO] [stdout]  --> tests/integration_test.rs:4:92
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kotoba_workflow::executor::{ActivityRegistry, Activity, ActivityError, ActivityStatus, ActivityResult};
[INFO] [stdout]   |                                                                                            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `activities` in initializer of `kotoba_workflow::WorkflowIR`
[INFO] [stdout]    --> tests/integration_test.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let workflow_ir = WorkflowIR {
[INFO] [stdout]     |                           ^^^^^^^^^^ missing `activities`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kotoba_workflow::prelude`
[INFO] [stdout]  --> tests/integration_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use kotoba_workflow::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kotoba-workflow` (test "integration_test") due to 1 previous error; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0407]: method `delete_execution` is not a member of trait `WorkflowStore`
[INFO] [stdout]    --> src/lib.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |           async fn delete_execution(&self, _execution_id: &WorkflowExecutionId) -> Result<(), WorkflowError> {
[INFO] [stdout]     |           ^        ---------------- help: there is an associated function with a similar name: `get_execution`
[INFO] [stdout]     |  _________|
[INFO] [stdout]     | |
[INFO] [stdout] 470 | |             Ok(())
[INFO] [stdout] 471 | |         }
[INFO] [stdout]     | |_________^ not a member of trait `WorkflowStore`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `port` in `kotoba_storage`
[INFO] [stdout]    --> src/lib.rs:478:26
[INFO] [stdout]     |
[INFO] [stdout] 478 |     impl kotoba_storage::port::StoragePort for MockStoragePort {
[INFO] [stdout]     |                          ^^^^ could not find `port` in `kotoba_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StorageError` in crate `kotoba_storage`
[INFO] [stdout]    --> src/lib.rs:479:85
[INFO] [stdout]     |
[INFO] [stdout] 479 |         async fn get(&self, _key: &[u8]) -> Result<Option<Vec<u8>>, kotoba_storage::StorageError> {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^ not found in `kotoba_storage`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::WorkflowError::StorageError` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 479 -         async fn get(&self, _key: &[u8]) -> Result<Option<Vec<u8>>, kotoba_storage::StorageError> {
[INFO] [stdout] 479 +         async fn get(&self, _key: &[u8]) -> Result<Option<Vec<u8>>, crate::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 479 -         async fn get(&self, _key: &[u8]) -> Result<Option<Vec<u8>>, kotoba_storage::StorageError> {
[INFO] [stdout] 479 +         async fn get(&self, _key: &[u8]) -> Result<Option<Vec<u8>>, kotoba_errors::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StorageError` in crate `kotoba_storage`
[INFO] [stdout]    --> src/lib.rs:483:87
[INFO] [stdout]     |
[INFO] [stdout] 483 |         async fn put(&self, _key: &[u8], _value: &[u8]) -> Result<(), kotoba_storage::StorageError> {
[INFO] [stdout]     |                                                                                       ^^^^^^^^^^^^ not found in `kotoba_storage`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::WorkflowError::StorageError` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 483 -         async fn put(&self, _key: &[u8], _value: &[u8]) -> Result<(), kotoba_storage::StorageError> {
[INFO] [stdout] 483 +         async fn put(&self, _key: &[u8], _value: &[u8]) -> Result<(), crate::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 483 -         async fn put(&self, _key: &[u8], _value: &[u8]) -> Result<(), kotoba_storage::StorageError> {
[INFO] [stdout] 483 +         async fn put(&self, _key: &[u8], _value: &[u8]) -> Result<(), kotoba_errors::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StorageError` in crate `kotoba_storage`
[INFO] [stdout]    --> src/lib.rs:487:75
[INFO] [stdout]     |
[INFO] [stdout] 487 |         async fn delete(&self, _key: &[u8]) -> Result<(), kotoba_storage::StorageError> {
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^ not found in `kotoba_storage`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::WorkflowError::StorageError` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 487 -         async fn delete(&self, _key: &[u8]) -> Result<(), kotoba_storage::StorageError> {
[INFO] [stdout] 487 +         async fn delete(&self, _key: &[u8]) -> Result<(), crate::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 487 -         async fn delete(&self, _key: &[u8]) -> Result<(), kotoba_storage::StorageError> {
[INFO] [stdout] 487 +         async fn delete(&self, _key: &[u8]) -> Result<(), kotoba_errors::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StorageError` in crate `kotoba_storage`
[INFO] [stdout]    --> src/lib.rs:491:97
[INFO] [stdout]     |
[INFO] [stdout] 491 |         async fn scan(&self, _prefix: &[u8]) -> Result<Vec<(Vec<u8>, Vec<u8>)>, kotoba_storage::StorageError> {
[INFO] [stdout]     |                                                                                                 ^^^^^^^^^^^^ not found in `kotoba_storage`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an enum variant `crate::WorkflowError::StorageError` and 1 other; try using the variant's enum
[INFO] [stdout]     |
[INFO] [stdout] 491 -         async fn scan(&self, _prefix: &[u8]) -> Result<Vec<(Vec<u8>, Vec<u8>)>, kotoba_storage::StorageError> {
[INFO] [stdout] 491 +         async fn scan(&self, _prefix: &[u8]) -> Result<Vec<(Vec<u8>, Vec<u8>)>, crate::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 491 -         async fn scan(&self, _prefix: &[u8]) -> Result<Vec<(Vec<u8>, Vec<u8>)>, kotoba_storage::StorageError> {
[INFO] [stdout] 491 +         async fn scan(&self, _prefix: &[u8]) -> Result<Vec<(Vec<u8>, Vec<u8>)>, kotoba_errors::WorkflowError> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `kotoba_workflow_core`
[INFO] [stdout]    --> src/lib.rs:912:26
[INFO] [stdout]     |
[INFO] [stdout] 912 |             core_engine: kotoba_workflow_core::WorkflowEngine::new(),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `kotoba_workflow_core`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `kotoba_workflow_core`, use `cargo add kotoba_workflow_core` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout] 443 +     use crate::WorkflowEngine;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `WorkflowEngine`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 912 -             core_engine: kotoba_workflow_core::WorkflowEngine::new(),
[INFO] [stdout] 912 +             core_engine: WorkflowEngine::new(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `WorkflowIR` in module `prelude`
[INFO] [stdout]    --> src/lib.rs:927:36
[INFO] [stdout]     |
[INFO] [stdout] 927 |         let _workflow_ir: prelude::WorkflowIR = WorkflowIR::default();
[INFO] [stdout]     |                                    ^^^^^^^^^^ not found in `prelude`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout] 443 +     use crate::WorkflowIR;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `WorkflowIR`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 927 -         let _workflow_ir: prelude::WorkflowIR = WorkflowIR::default();
[INFO] [stdout] 927 +         let _workflow_ir: WorkflowIR = WorkflowIR::default();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TxId`
[INFO] [stdout]   --> src/ir.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 | use kotoba_core::types::{GraphRef_ as GraphRef, Value, TxId};
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/store.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ir::ActivityIR`
[INFO] [stdout]   --> src/activity.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ir::ActivityIR;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CallDefinition`, `EmitDefinition`, `ForDefinition`, `ForkDefinition`, `ListenDefinition`, `RaiseDefinition`, `SwitchCase`, `TryDefinition`, `WaitDefinition`, and `WorkflowStep`
[INFO] [stdout]   --> src/parser.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...::{WorkflowStep, CallDefinition, EmitDefinition, ListenDefinition, WaitDefinition, RunDefinition, SwitchCase, ForDefinition, ForkDefinition, TryDefinition, RaiseDefinition, S...
[INFO] [stdout]    |       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionStatus` and `WorkflowExecution`
[INFO] [stdout]   --> src/distributed.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::ir::{WorkflowExecutionId, WorkflowExecution, ExecutionStatus};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/monitoring.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/optimization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActivityIR`
[INFO] [stdout]   --> src/optimization.rs:10:49
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ir::{WorkflowIR, WorkflowStrategyOp, ActivityIR};
[INFO] [stdout]    |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:758:38
[INFO] [stdout]     |
[INFO] [stdout] 756 |     fn test_extended_workflow_engine_is_distributed_enabled_initially_false() {
[INFO] [stdout]     |     ------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] 757 |         let builder = WorkflowEngineBuilder::new();
[INFO] [stdout] 758 |         let engine = builder.build().await.unwrap();
[INFO] [stdout]     |                                      ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:767:38
[INFO] [stdout]     |
[INFO] [stdout] 765 |     fn test_extended_workflow_engine_distributed_execution_manager_initially_none() {
[INFO] [stdout]     |     ------------------------------------------------------------------------------- this is not `async`
[INFO] [stdout] 766 |         let builder = WorkflowEngineBuilder::new();
[INFO] [stdout] 767 |         let engine = builder.build().await.unwrap();
[INFO] [stdout]     |                                      ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]     --> src/lib.rs:1018:38
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn test_extended_workflow_engine_debug() {
[INFO] [stdout]      |     ---------------------------------------- this is not `async`
[INFO] [stdout] 1017 |         let builder = WorkflowEngineBuilder::new();
[INFO] [stdout] 1018 |         let engine = builder.build().await.unwrap();
[INFO] [stdout]      |                                      ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `add_event`, `get_events`, `put`, `get`, `get_keys_with_prefix`
[INFO] [stdout]    --> src/lib.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 452 |     impl WorkflowStore for MockWorkflowStore {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `add_event`, `get_events`, `put`, `get`, `get_keys_with_prefix` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/store.rs:58:5
[INFO] [stdout]     |
[INFO] [stdout]  58 |     async fn add_event(&self, execution_id: &WorkflowExecutionId, event: ExecutionEvent) -> Result<(), WorkflowError>;
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------ `add_event` from trait
[INFO] [stdout] ...
[INFO] [stdout]  61 |     async fn get_events(&self, execution_id: &WorkflowExecutionId) -> Result<Vec<ExecutionEvent>, WorkflowError>;
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------- `get_events` from trait
[INFO] [stdout] ...
[INFO] [stdout]  67 |     async fn put(&self, key: String, value: Vec<u8>) -> Result<(), WorkflowError>;
[INFO] [stdout]     |     ------------------------------------------------------------------------------ `put` from trait
[INFO] [stdout]  68 |     async fn get(&self, key: &str) -> Result<Option<Vec<u8>>, WorkflowError>;
[INFO] [stdout]     |     ------------------------------------------------------------------------- `get` from trait
[INFO] [stdout]  69 |     async fn get_keys_with_prefix(&self, prefix: &str) -> Result<Vec<String>, WorkflowError>;
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------- `get_keys_with_prefix` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0407, E0412, E0433, E0728.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kotoba-workflow` (lib test) due to 12 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1f39ba2410cc650930780bfe16839ca1eb22b4ab6a566c03a6fe100b34ce1bbc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f39ba2410cc650930780bfe16839ca1eb22b4ab6a566c03a6fe100b34ce1bbc", kill_on_drop: false }`
[INFO] [stdout] 1f39ba2410cc650930780bfe16839ca1eb22b4ab6a566c03a6fe100b34ce1bbc
