[INFO] cloning repository https://github.com/tristanpoland/Pulse
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tristanpoland/Pulse" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftristanpoland%2FPulse", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftristanpoland%2FPulse'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 291464a4382bcdeb695c56ac049e6e184469c5ac
[INFO] checking tristanpoland/Pulse against try#81ab7f2139295590561adbe6d5b0aaa2feff765f for pr-146470-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftristanpoland%2FPulse" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tristanpoland/Pulse
[INFO] finished tweaking git repo https://github.com/tristanpoland/Pulse
[INFO] tweaked toml for git repo https://github.com/tristanpoland/Pulse written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tristanpoland/Pulse on toolchain 81ab7f2139295590561adbe6d5b0aaa2feff765f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tristanpoland/Pulse 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" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-2-tc2/source/Cargo.toml: unused manifest key: workspace.dev-dependencies
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded yamux v0.13.6
[INFO] [stderr]   Downloaded libp2p-gossipsub v0.47.0
[INFO] [stderr]   Downloaded yaml-rust2 v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5c0eecadb91713396bc0ee5d0f3a800f4378b587421813e2a49d8cdb0927fa4e
[INFO] running `Command { std: "docker" "start" "-a" "5c0eecadb91713396bc0ee5d0f3a800f4378b587421813e2a49d8cdb0927fa4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5c0eecadb91713396bc0ee5d0f3a800f4378b587421813e2a49d8cdb0927fa4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c0eecadb91713396bc0ee5d0f3a800f4378b587421813e2a49d8cdb0927fa4e", kill_on_drop: false }`
[INFO] [stdout] 5c0eecadb91713396bc0ee5d0f3a800f4378b587421813e2a49d8cdb0927fa4e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+81ab7f2139295590561adbe6d5b0aaa2feff765f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3bda434e3bddb4353d5858f7cf71fd1ce029d2f3ee989063633da3f95881f75
[INFO] running `Command { std: "docker" "start" "-a" "a3bda434e3bddb4353d5858f7cf71fd1ce029d2f3ee989063633da3f95881f75", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.dev-dependencies
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling prometheus-client v0.22.3
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking multihash v0.19.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking indexmap v2.11.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking dtoa v1.0.10
[INFO] [stderr]     Checking hex_fmt v0.3.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking winnow v0.7.13
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking clap_builder v4.5.44
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking netlink-sys v0.8.7
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking regex v1.11.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.16
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking data-encoding-macro v0.1.18
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]     Checking multibase v0.9.1
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]     Checking thiserror v2.0.16
[INFO] [stderr]     Checking pest v2.8.1
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking netlink-packet-utils v0.5.2
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking netlink-packet-core v0.7.0
[INFO] [stderr]     Checking libp2p-identity v0.2.12
[INFO] [stderr]     Checking netlink-packet-route v0.17.1
[INFO] [stderr]     Checking clap v4.5.45
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking asynchronous-codec v0.7.0
[INFO] [stderr]     Checking futures-bounded v0.2.4
[INFO] [stderr]     Checking quick-protobuf-codec v0.3.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking multistream-select v0.13.0
[INFO] [stderr]     Checking rw-stream-sink v0.4.0
[INFO] [stderr]     Checking netlink-proto v0.11.5
[INFO] [stderr]     Checking yamux v0.12.1
[INFO] [stderr]     Checking futures-ticker v0.0.3
[INFO] [stderr]     Checking yamux v0.13.6
[INFO] [stderr]     Checking rtnetlink v0.13.1
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking if-watch v3.2.1
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking bitflags v2.9.3
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking uuid v1.18.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking rustix v1.0.8
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking multiaddr v0.18.2
[INFO] [stderr]     Checking hickory-proto v0.24.4
[INFO] [stderr]     Checking tungstenite v0.17.3
[INFO] [stderr]     Checking libp2p-core v0.42.0
[INFO] [stderr]     Checking tokio-tungstenite v0.17.2
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking tempfile v3.21.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking pulse-core v0.1.0 (/opt/rustwide/workdir/crates/pulse-core)
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking libp2p-swarm v0.45.1
[INFO] [stderr]     Checking libp2p-noise v0.45.0
[INFO] [stderr]     Checking libp2p-tcp v0.42.0
[INFO] [stderr]     Checking libp2p-yamux v0.46.0
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking libp2p-kad v0.46.2
[INFO] [stderr]     Checking libp2p-connection-limits v0.4.0
[INFO] [stderr]     Checking libp2p-gossipsub v0.47.0
[INFO] [stderr]     Checking libp2p-allow-block-list v0.4.0
[INFO] [stderr]     Checking libp2p-identify v0.45.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking pulse-parser v0.1.0 (/opt/rustwide/workdir/crates/pulse-parser)
[INFO] [stderr]     Checking pulse-executor v0.1.0 (/opt/rustwide/workdir/crates/pulse-executor)
[INFO] [stderr]     Checking libp2p-mdns v0.46.0
[INFO] [stderr]     Checking reqwest v0.12.23
[INFO] [stdout] warning: unused import: `TaskDefinition`
[INFO] [stdout]  --> crates/pulse-parser/src/workflow.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pulse_core::{Job, TaskDefinition, WorkflowDefinition};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TaskDefinition`
[INFO] [stdout]  --> crates/pulse-parser/src/workflow.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pulse_core::{Job, TaskDefinition, WorkflowDefinition};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/pulse-parser/src/workflow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/pulse-parser/src/workflow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionArtifact` and `TaskStatus`
[INFO] [stdout]  --> crates/pulse-executor/src/shell.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ActionExecutor, ExecutionArtifact, ExecutionContext, ResourceLimits, TaskDefinition,
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     TaskExecution, TaskExecutionResult, TaskExecutor, TaskStatus,
[INFO] [stdout]   |                                                       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Child`
[INFO] [stdout]  --> crates/pulse-executor/src/process_manager.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::{Child, Stdio};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `stdout_output`
[INFO] [stdout]    --> crates/pulse-executor/src/shell.rs:112:96
[INFO] [stdout]     |
[INFO] [stdout]  89 |             let mut stdout_output = Vec::new();
[INFO] [stdout]     |                 ----------------- move occurs because `stdout_output` has type `Vec<std::string::String>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout]  93 |             tokio::spawn(async move {
[INFO] [stdout]     |                          ---------- value moved here
[INFO] [stdout]  94 |                 while let Ok(Some(line)) = stdout_lines.next_line().await {
[INFO] [stdout]     |                 --------------------------------------------------------- inside of this loop
[INFO] [stdout]  95 |                     debug!("STDOUT: {}", line);
[INFO] [stdout]  96 |                     stdout_output.push(line);
[INFO] [stdout]     |                     ------------- variable moved due to use in coroutine
[INFO] [stdout] ...
[INFO] [stdout] 112 |             Ok::<(std::process::ExitStatus, Vec<String>, Vec<String>), ExecutorError>((status, stdout_output, stderr_output))
[INFO] [stdout]     |                                                                                                ^^^^^^^^^^^^^ value used here after move
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value before moving it into the closure
[INFO] [stdout]     |
[INFO] [stdout]  93 ~             let value = stdout_output.clone();
[INFO] [stdout]  94 ~             tokio::spawn(async move {
[INFO] [stdout]  95 |                 while let Ok(Some(line)) = stdout_lines.next_line().await {
[INFO] [stdout]  96 |                     debug!("STDOUT: {}", line);
[INFO] [stdout]  97 ~                     value.push(line);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `stderr_output`
[INFO] [stdout]    --> crates/pulse-executor/src/shell.rs:112:111
[INFO] [stdout]     |
[INFO] [stdout]  90 |             let mut stderr_output = Vec::new();
[INFO] [stdout]     |                 ----------------- move occurs because `stderr_output` has type `Vec<std::string::String>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 101 |             tokio::spawn(async move {
[INFO] [stdout]     |                          ---------- value moved here
[INFO] [stdout] 102 |                 while let Ok(Some(line)) = stderr_lines.next_line().await {
[INFO] [stdout]     |                 --------------------------------------------------------- inside of this loop
[INFO] [stdout] 103 |                     debug!("STDERR: {}", line);
[INFO] [stdout] 104 |                     stderr_output.push(line);
[INFO] [stdout]     |                     ------------- variable moved due to use in coroutine
[INFO] [stdout] ...
[INFO] [stdout] 112 |             Ok::<(std::process::ExitStatus, Vec<String>, Vec<String>), ExecutorError>((status, stdout_output, stderr_output))
[INFO] [stdout]     |                                                                                                               ^^^^^^^^^^^^^ value used here after move
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value before moving it into the closure
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             let value = stderr_output.clone();
[INFO] [stdout] 102 ~             tokio::spawn(async move {
[INFO] [stdout] 103 |                 while let Ok(Some(line)) = stderr_lines.next_line().await {
[INFO] [stdout] 104 |                     debug!("STDERR: {}", line);
[INFO] [stdout] 105 ~                     value.push(line);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionArtifact` and `TaskStatus`
[INFO] [stdout]  --> crates/pulse-executor/src/shell.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ActionExecutor, ExecutionArtifact, ExecutionContext, ResourceLimits, TaskDefinition,
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     TaskExecution, TaskExecutionResult, TaskExecutor, TaskStatus,
[INFO] [stdout]   |                                                       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Child`
[INFO] [stdout]  --> crates/pulse-executor/src/process_manager.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::{Child, Stdio};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:151:40
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     execution.complete(result.output.clone());
[INFO] [stdout]     |                               -------- ^^^^^^^^^^^^^^^^^^^^^ expected `Option<Value>`, found `Option<HashMap<String, Value>>`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<serde_json::Value>`
[INFO] [stdout]                found enum `Option<HashMap<std::string::String, serde_json::Value>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/task.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  68 |     pub fn complete(&mut self, output: Option<serde_json::Value>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `stdout_output`
[INFO] [stdout]    --> crates/pulse-executor/src/shell.rs:112:96
[INFO] [stdout]     |
[INFO] [stdout]  89 |             let mut stdout_output = Vec::new();
[INFO] [stdout]     |                 ----------------- move occurs because `stdout_output` has type `Vec<std::string::String>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout]  93 |             tokio::spawn(async move {
[INFO] [stdout]     |                          ---------- value moved here
[INFO] [stdout]  94 |                 while let Ok(Some(line)) = stdout_lines.next_line().await {
[INFO] [stdout]     |                 --------------------------------------------------------- inside of this loop
[INFO] [stdout]  95 |                     debug!("STDOUT: {}", line);
[INFO] [stdout]  96 |                     stdout_output.push(line);
[INFO] [stdout]     |                     ------------- variable moved due to use in coroutine
[INFO] [stdout] ...
[INFO] [stdout] 112 |             Ok::<(std::process::ExitStatus, Vec<String>, Vec<String>), ExecutorError>((status, stdout_output, stderr_output))
[INFO] [stdout]     |                                                                                                ^^^^^^^^^^^^^ value used here after move
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value before moving it into the closure
[INFO] [stdout]     |
[INFO] [stdout]  93 ~             let value = stdout_output.clone();
[INFO] [stdout]  94 ~             tokio::spawn(async move {
[INFO] [stdout]  95 |                 while let Ok(Some(line)) = stdout_lines.next_line().await {
[INFO] [stdout]  96 |                     debug!("STDOUT: {}", line);
[INFO] [stdout]  97 ~                     value.push(line);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `stderr_output`
[INFO] [stdout]    --> crates/pulse-executor/src/shell.rs:112:111
[INFO] [stdout]     |
[INFO] [stdout]  90 |             let mut stderr_output = Vec::new();
[INFO] [stdout]     |                 ----------------- move occurs because `stderr_output` has type `Vec<std::string::String>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 101 |             tokio::spawn(async move {
[INFO] [stdout]     |                          ---------- value moved here
[INFO] [stdout] 102 |                 while let Ok(Some(line)) = stderr_lines.next_line().await {
[INFO] [stdout]     |                 --------------------------------------------------------- inside of this loop
[INFO] [stdout] 103 |                     debug!("STDERR: {}", line);
[INFO] [stdout] 104 |                     stderr_output.push(line);
[INFO] [stdout]     |                     ------------- variable moved due to use in coroutine
[INFO] [stdout] ...
[INFO] [stdout] 112 |             Ok::<(std::process::ExitStatus, Vec<String>, Vec<String>), ExecutorError>((status, stdout_output, stderr_output))
[INFO] [stdout]     |                                                                                                               ^^^^^^^^^^^^^ value used here after move
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value before moving it into the closure
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             let value = stderr_output.clone();
[INFO] [stdout] 102 ~             tokio::spawn(async move {
[INFO] [stdout] 103 |                 while let Ok(Some(line)) = stderr_lines.next_line().await {
[INFO] [stdout] 104 |                     debug!("STDERR: {}", line);
[INFO] [stdout] 105 ~                     value.push(line);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:151:40
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     execution.complete(result.output.clone());
[INFO] [stdout]     |                               -------- ^^^^^^^^^^^^^^^^^^^^^ expected `Option<Value>`, found `Option<HashMap<String, Value>>`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<serde_json::Value>`
[INFO] [stdout]                found enum `Option<std::collections::HashMap<std::string::String, serde_json::Value>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/task.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  68 |     pub fn complete(&mut self, output: Option<serde_json::Value>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_pair` found for struct `AbortHandle` in the current scope
[INFO] [stdout]   --> crates/pulse-executor/src/process_manager.rs:89:76
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let (abort_handle, abort_registration) = tokio::task::AbortHandle::new_pair();
[INFO] [stdout]    |                                                                            ^^^^^^^^ function or associated item not found in `AbortHandle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_abort_handle` found for struct `tokio::task::JoinHandle<T>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |           let execution_future = tokio::task::spawn(async move {
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 105 | |             self.execute_with_streams(execution_id, stdout, stderr).await
[INFO] [stdout] 106 | |         })
[INFO] [stdout] 107 | |         .with_abort_handle(abort_registration);
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `abort_handle` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn abort_handle(&self) -> super::AbortHandle {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:221:25
[INFO] [stdout]     |
[INFO] [stdout] 221 |                         libc::killpg(pid as i32, libc::SIGTERM);
[INFO] [stdout]     |                         ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:221:50
[INFO] [stdout]     |
[INFO] [stdout] 221 |                         libc::killpg(pid as i32, libc::SIGTERM);
[INFO] [stdout]     |                                                  ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |                         libc::killpg(pid as i32, libc::SIGKILL);
[INFO] [stdout]     |                         ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:225:50
[INFO] [stdout]     |
[INFO] [stdout] 225 |                         libc::killpg(pid as i32, libc::SIGKILL);
[INFO] [stdout]     |                                                  ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/pulse-executor/src/shell.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     execution.complete(result.output.clone());
[INFO] [stdout]     |                               -------- ^^^^^^^^^^^^^^^^^^^^^ expected `Option<Value>`, found `Option<HashMap<String, Value>>`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<serde_json::Value>`
[INFO] [stdout]                found enum `Option<HashMap<std::string::String, serde_json::Value>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/task.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  68 |     pub fn complete(&mut self, output: Option<serde_json::Value>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking pulse-cli v0.1.0 (/opt/rustwide/workdir/crates/pulse-cli)
[INFO] [stdout] error[E0599]: no function or associated item named `new_pair` found for struct `AbortHandle` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:230:76
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let (abort_handle, abort_registration) = tokio::task::AbortHandle::new_pair();
[INFO] [stdout]     |                                                                            ^^^^^^^^ function or associated item not found in `AbortHandle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_abort_handle` found for struct `tokio::task::JoinHandle<T>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:251:10
[INFO] [stdout]     |
[INFO] [stdout] 235 |           let result = tokio::spawn(async move {
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 236 | |             let executor = unsafe { &*executor_ref }; // Safe because we control the lifetime
[INFO] [stdout] 237 | |             
[INFO] [stdout] 238 | |             if task_clone.uses.is_some() {
[INFO] [stdout] ...   |
[INFO] [stdout] 250 | |         })
[INFO] [stdout] 251 | |         .with_abort_handle(abort_registration);
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `abort_handle` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn abort_handle(&self) -> super::AbortHandle {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:264:41
[INFO] [stdout]     |
[INFO] [stdout] 264 |                     error_message: Some(e.to_string()),
[INFO] [stdout]     |                                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:270:36
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 let error_msg = if join_error.is_cancelled() {
[INFO] [stdout]     |                                    ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:291:32
[INFO] [stdout]     |
[INFO] [stdout] 291 |             execution.complete(execution_result.output.clone());
[INFO] [stdout]     |                       -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Value>`, found `Option<HashMap<String, Value>>`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<serde_json::Value>`
[INFO] [stdout]                found enum `Option<HashMap<std::string::String, serde_json::Value>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/task.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  68 |     pub fn complete(&mut self, output: Option<serde_json::Value>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> crates/pulse-executor/src/artifact_manager.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> crates/pulse-executor/src/artifact_manager.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_pair` found for struct `AbortHandle` in the current scope
[INFO] [stdout]   --> crates/pulse-executor/src/process_manager.rs:89:76
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let (abort_handle, abort_registration) = tokio::task::AbortHandle::new_pair();
[INFO] [stdout]    |                                                                            ^^^^^^^^ function or associated item not found in `AbortHandle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_abort_handle` found for struct `tokio::task::JoinHandle<T>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 104 |           let execution_future = tokio::task::spawn(async move {
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 105 | |             self.execute_with_streams(execution_id, stdout, stderr).await
[INFO] [stdout] 106 | |         })
[INFO] [stdout] 107 | |         .with_abort_handle(abort_registration);
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `abort_handle` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn abort_handle(&self) -> super::AbortHandle {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0382, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:221:25
[INFO] [stdout]     |
[INFO] [stdout] 221 |                         libc::killpg(pid as i32, libc::SIGTERM);
[INFO] [stdout]     |                         ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:221:50
[INFO] [stdout]     |
[INFO] [stdout] 221 |                         libc::killpg(pid as i32, libc::SIGTERM);
[INFO] [stdout]     |                                                  ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking libp2p v0.54.1
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |                         libc::killpg(pid as i32, libc::SIGKILL);
[INFO] [stdout]     |                         ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libc`
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:225:50
[INFO] [stdout]     |
[INFO] [stdout] 225 |                         libc::killpg(pid as i32, libc::SIGKILL);
[INFO] [stdout]     |                                                  ^^^^ use of unresolved module or unlinked crate `libc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `libc`, use `cargo add libc` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JobStatus` and `Job`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use pulse_core::{Job, JobStatus};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pulse_parser::WorkflowParser`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pulse_parser::WorkflowParser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> crates/pulse-cli/src/commands/validate.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeInfo`
[INFO] [stdout]  --> crates/pulse-cli/src/commands/formatters.rs:6:63
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::client::{ClusterInfo, JobInfo, TaskInfo, LogEntry, NodeInfo};
[INFO] [stdout]   |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JobStatus` and `Job`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use pulse_core::{Job, JobStatus};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pulse-executor` (lib) due to 15 previous errors; 4 warnings emitted
[INFO] [stdout] warning: unused import: `pulse_parser::WorkflowParser`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pulse_parser::WorkflowParser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/pulse-cli/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> crates/pulse-cli/src/commands/validate.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeInfo`
[INFO] [stdout]  --> crates/pulse-cli/src/commands/formatters.rs:6:63
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::client::{ClusterInfo, JobInfo, TaskInfo, LogEntry, NodeInfo};
[INFO] [stdout]   |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/pulse-executor/src/shell.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     execution.complete(result.output.clone());
[INFO] [stdout]     |                               -------- ^^^^^^^^^^^^^^^^^^^^^ expected `Option<Value>`, found `Option<HashMap<String, Value>>`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<serde_json::Value>`
[INFO] [stdout]                found enum `Option<std::collections::HashMap<std::string::String, serde_json::Value>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/task.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  68 |     pub fn complete(&mut self, output: Option<serde_json::Value>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:97:61
[INFO] [stdout]     |
[INFO] [stdout]  86 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout]  96 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout]  97 |             anyhow::bail!("Job submission failed: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                             ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_pair` found for struct `AbortHandle` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:230:76
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let (abort_handle, abort_registration) = tokio::task::AbortHandle::new_pair();
[INFO] [stdout]     |                                                                            ^^^^^^^^ function or associated item not found in `AbortHandle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:136:59
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 135 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 136 |             anyhow::bail!("Failed to list jobs: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                           ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:206:63
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 205 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 206 |             anyhow::bail!("Failed to get job tasks: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                               ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_abort_handle` found for struct `tokio::task::JoinHandle<T>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:251:10
[INFO] [stdout]     |
[INFO] [stdout] 235 |           let result = tokio::spawn(async move {
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 236 | |             let executor = unsafe { &*executor_ref }; // Safe because we control the lifetime
[INFO] [stdout] 237 | |             
[INFO] [stdout] 238 | |             if task_clone.uses.is_some() {
[INFO] [stdout] ...   |
[INFO] [stdout] 250 | |         })
[INFO] [stdout] 251 | |         .with_abort_handle(abort_registration);
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `abort_handle` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:300:5
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn abort_handle(&self) -> super::AbortHandle {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:264:41
[INFO] [stdout]     |
[INFO] [stdout] 264 |                     error_message: Some(e.to_string()),
[INFO] [stdout]     |                                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:239:60
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 238 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 239 |             anyhow::bail!("Failed to cancel job: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                            ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:270:36
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 let error_msg = if join_error.is_cancelled() {
[INFO] [stdout]     |                                    ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:272:66
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 271 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 272 |             anyhow::bail!("Failed to get cluster info: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                                  ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:291:32
[INFO] [stdout]     |
[INFO] [stdout] 291 |             execution.complete(execution_result.output.clone());
[INFO] [stdout]     |                       -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Value>`, found `Option<HashMap<String, Value>>`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<serde_json::Value>`
[INFO] [stdout]                found enum `Option<std::collections::HashMap<std::string::String, serde_json::Value>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/task.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  68 |     pub fn complete(&mut self, output: Option<serde_json::Value>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:314:58
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 313 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 314 |             anyhow::bail!("Failed to get logs: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                          ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:97:61
[INFO] [stdout]     |
[INFO] [stdout]  86 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout]  96 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout]  97 |             anyhow::bail!("Job submission failed: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                             ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:136:59
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 135 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 136 |             anyhow::bail!("Failed to list jobs: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                           ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:206:63
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 205 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 206 |             anyhow::bail!("Failed to get job tasks: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                               ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `retry_config` in initializer of `pulse_core::TaskDefinition`
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let task = TaskDefinition {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ missing `retry_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:239:60
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 238 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 239 |             anyhow::bail!("Failed to cancel job: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                            ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:272:66
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 271 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 272 |             anyhow::bail!("Failed to get cluster info: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                                  ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `response`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:314:58
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let response = self
[INFO] [stdout]     |             -------- move occurs because `response` has type `reqwest::Response`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 313 |             let error_text = response.text().await.unwrap_or_default();
[INFO] [stdout]     |                                       ------ `response` moved due to this method call
[INFO] [stdout] 314 |             anyhow::bail!("Failed to get logs: {} - {}", response.status(), error_text);
[INFO] [stdout]     |                                                          ^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: `reqwest::Response::text` takes ownership of the receiver `self`, which moves `response`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.23/src/async_impl/response.rs:167:23
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub async fn text(self) -> crate::Result<String> {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_executor` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:486:30
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let executor1 = pool.get_executor().await;
[INFO] [stdout]     |                              ^^^^^^^^^^^^ method not found in `std::result::Result<distributed::ExecutorPool, error::ExecutorError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `get_executor` exists on the type `distributed::ExecutorPool`
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub async fn get_executor(&self) -> Arc<DistributedTaskExecutor> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `distributed::ExecutorPool` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let executor1 = pool.expect("REASON").get_executor().await;
[INFO] [stdout]     |                             +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_executor` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:487:30
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let executor2 = pool.get_executor().await;
[INFO] [stdout]     |                              ^^^^^^^^^^^^ method not found in `std::result::Result<distributed::ExecutorPool, error::ExecutorError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `get_executor` exists on the type `distributed::ExecutorPool`
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub async fn get_executor(&self) -> Arc<DistributedTaskExecutor> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `distributed::ExecutorPool` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let executor2 = pool.expect("REASON").get_executor().await;
[INFO] [stdout]     |                             +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_executor` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:488:30
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let executor3 = pool.get_executor().await;
[INFO] [stdout]     |                              ^^^^^^^^^^^^ method not found in `std::result::Result<distributed::ExecutorPool, error::ExecutorError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `get_executor` exists on the type `distributed::ExecutorPool`
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub async fn get_executor(&self) -> Arc<DistributedTaskExecutor> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `distributed::ExecutorPool` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let executor3 = pool.expect("REASON").get_executor().await;
[INFO] [stdout]     |                             +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_pool_stats` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:494:26
[INFO] [stdout]     |
[INFO] [stdout] 494 |         let stats = pool.get_pool_stats().await;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^ method not found in `std::result::Result<distributed::ExecutorPool, error::ExecutorError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `get_pool_stats` exists on the type `distributed::ExecutorPool`
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub async fn get_pool_stats(&self) -> PoolStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `distributed::ExecutorPool` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 494 |         let stats = pool.expect("REASON").get_pool_stats().await;
[INFO] [stdout]     |                         +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for enum `std::result::Result<distributed::DistributedTaskExecutor, error::ExecutorError>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:513:39
[INFO] [stdout]     |
[INFO] [stdout]  19 | pub struct DistributedTaskExecutor {
[INFO] [stdout]     | ---------------------------------- doesn't satisfy `distributed::DistributedTaskExecutor: Clone`
[INFO] [stdout] ...
[INFO] [stdout] 513 |         let executor_clone = executor.clone();
[INFO] [stdout]     |                                       ^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/pulse-executor/src/error.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub enum ExecutorError {
[INFO] [stdout]     | ---------------------- doesn't satisfy `error::ExecutorError: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `distributed::DistributedTaskExecutor: Clone`
[INFO] [stdout]             which is required by `std::result::Result<distributed::DistributedTaskExecutor, error::ExecutorError>: Clone`
[INFO] [stdout]             `error::ExecutorError: Clone`
[INFO] [stdout]             which is required by `std::result::Result<distributed::DistributedTaskExecutor, error::ExecutorError>: Clone`
[INFO] [stdout] help: consider annotating `distributed::DistributedTaskExecutor` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout]  19 + #[derive(Clone)]
[INFO] [stdout]  20 | pub struct DistributedTaskExecutor {
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `error::ExecutorError` with `#[derive(Clone)]`
[INFO] [stdout]    --> crates/pulse-executor/src/error.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 + #[derive(Clone)]
[INFO] [stdout]   6 | pub enum ExecutorError {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `cancel_task` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:526:31
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let result = executor.cancel_task(&execution_id).await;
[INFO] [stdout]     |                               ^^^^^^^^^^^ method not found in `std::result::Result<distributed::DistributedTaskExecutor, error::ExecutorError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `cancel_task` exists on the type `distributed::DistributedTaskExecutor`
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/executor.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout]  20 |     async fn cancel_task(&self, execution_id: &Uuid) -> Result<()>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `distributed::DistributedTaskExecutor` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let result = executor.expect("REASON").cancel_task(&execution_id).await;
[INFO] [stdout]     |                              +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:526:13
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let result = executor.cancel_task(&execution_id).await;
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 527 |         assert!(result.is_ok());
[INFO] [stdout]     |                 ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `result` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let result: /* Type */ = executor.cancel_task(&execution_id).await;
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_execution_status` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:530:31
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let status = executor.get_execution_status(&execution_id).await.unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^ method not found in `std::result::Result<distributed::DistributedTaskExecutor, error::ExecutorError>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `get_execution_status` exists on the type `distributed::DistributedTaskExecutor`
[INFO] [stdout]    --> /opt/rustwide/workdir/crates/pulse-core/src/executor.rs:21:5
[INFO] [stdout]     |
[INFO] [stdout]  21 |     async fn get_execution_status(&self, execution_id: &Uuid) -> Result<Option<TaskExecutionStatus>>;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `distributed::DistributedTaskExecutor` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let status = executor.expect("REASON").get_execution_status(&execution_id).await.unwrap();
[INFO] [stdout]     |                              +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> crates/pulse-executor/src/distributed.rs:530:22
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let status = executor.get_execution_status(&execution_id).await.unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `process_manager::ProcessManager` in the current scope
[INFO] [stdout]    --> crates/pulse-executor/src/process_manager.rs:367:37
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub struct ProcessManager {
[INFO] [stdout]     | ------------------------- method `clone` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 367 |         let manager_clone = manager.clone();
[INFO] [stdout]     |                                     ^^^^^ method not found in `process_manager::ProcessManager`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> crates/pulse-executor/src/artifact_manager.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> crates/pulse-executor/src/artifact_manager.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manager`
[INFO] [stdout]    --> crates/pulse-executor/src/artifact_manager.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let manager = ArtifactManager::new(artifacts_dir.clone()).await.unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0282, E0308, E0382, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pulse-executor` (lib test) due to 26 previous errors; 5 warnings emitted
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/pulse-cli/src/api.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let config = CliConfig::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pulse-cli` (bin "pulse") due to 6 previous errors; 7 warnings emitted
[INFO] [stdout] warning: unused variable: `logs`
[INFO] [stdout]    --> crates/pulse-cli/src/client.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let logs = client.get_logs("test-job", Some("build"), 10).await.unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_logs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pulse-cli` (bin "pulse" test) due to 6 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a3bda434e3bddb4353d5858f7cf71fd1ce029d2f3ee989063633da3f95881f75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3bda434e3bddb4353d5858f7cf71fd1ce029d2f3ee989063633da3f95881f75", kill_on_drop: false }`
[INFO] [stdout] a3bda434e3bddb4353d5858f7cf71fd1ce029d2f3ee989063633da3f95881f75
