[INFO] cloning repository https://github.com/sunanzhi/rust-protocol-executor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sunanzhi/rust-protocol-executor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsunanzhi%2Frust-protocol-executor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsunanzhi%2Frust-protocol-executor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] deda3d0275380fed68237575066dd12bd2f80c81
[INFO] checking sunanzhi/rust-protocol-executor against try#d336647335db03a0fc5b24fc5325cd3905c5b8e8 for pr-151146-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsunanzhi%2Frust-protocol-executor" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sunanzhi/rust-protocol-executor
[INFO] finished tweaking git repo https://github.com/sunanzhi/rust-protocol-executor
[INFO] tweaked toml for git repo https://github.com/sunanzhi/rust-protocol-executor written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sunanzhi/rust-protocol-executor on toolchain d336647335db03a0fc5b24fc5325cd3905c5b8e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sunanzhi/rust-protocol-executor 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" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 52bf9911a3109a75ffeac84ff592d97ea89e79c0b317327899e39617316b1286
[INFO] running `Command { std: "docker" "start" "-a" "52bf9911a3109a75ffeac84ff592d97ea89e79c0b317327899e39617316b1286", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52bf9911a3109a75ffeac84ff592d97ea89e79c0b317327899e39617316b1286", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52bf9911a3109a75ffeac84ff592d97ea89e79c0b317327899e39617316b1286", kill_on_drop: false }`
[INFO] [stdout] 52bf9911a3109a75ffeac84ff592d97ea89e79c0b317327899e39617316b1286
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b74d6ac2224d045fe84995483cebbb08cd43636d5821c7931b4dae97c7465755
[INFO] running `Command { std: "docker" "start" "-a" "b74d6ac2224d045fe84995483cebbb08cd43636d5821c7931b4dae97c7465755", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling aws-lc-rs v1.15.2
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking rustls-pki-types v1.13.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking openssl-probe v0.2.0
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling aws-lc-sys v0.35.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serde v1.0.228
[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 serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.13.1
[INFO] [stderr]     Checking protocol-executor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]  --> src/middleware/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use external::*;
[INFO] [stdout]   |         ----------- but the name `ExternalMiddlewareConfig` in the type namespace is also re-exported here
[INFO] [stdout] 7 | pub use registry::*;
[INFO] [stdout]   |         ^^^^^^^^^^^ the name `ExternalMiddlewareConfig` in the type namespace is first re-exported here
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout]   = note: `#[deny(ambiguous_glob_reexports)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: ambiguous glob re-exports
[INFO] [stdout]  --> src/middleware/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use external::*;
[INFO] [stdout]   |         ----------- but the name `ExternalMiddlewareConfig` in the type namespace is also re-exported here
[INFO] [stdout] 7 | pub use registry::*;
[INFO] [stdout]   |         ^^^^^^^^^^^ the name `ExternalMiddlewareConfig` in the type namespace is first re-exported here
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: for more information, see issue #107880 <https://github.com/rust-lang/rust/issues/107880>
[INFO] [stdout]   = note: `#[deny(ambiguous_glob_reexports)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/executor/http.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut request_builder = self.client.request(reqwest::Method::GET, "x");
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/executor/mode/workflow.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn execute(&self, context: Context) -> Result<ExecutionResult, Error> {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/logger.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn before(&self, context: &mut Context) -> Result<(), anyhow::Error> {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/logger.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         context: &Context,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/validator.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn before(&self, context: &mut Context) -> Result<(), anyhow::Error> {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/middleware/builtin/single_transfer.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         result: &mut ExecutionResult,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/single_transfer.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         context: &Context,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ProtocolDataType` is more private than the item `BaseProtocol::parse_data`
[INFO] [stdout]   --> src/executor/protocol/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn parse_data(&self) -> Result<ProtocolDataType, anyhow::Error> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `BaseProtocol::parse_data` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ProtocolDataType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/executor/protocol/mod.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum ProtocolDataType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `middleware_registry` and `config` are never read
[INFO] [stdout]   --> src/executor/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ExecutorFactory {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 55 |     middleware_registry: Arc<MiddlewareRegistry>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 56 |     config: config::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutorFactory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base` is never read
[INFO] [stdout]  --> src/executor/mode/workflow.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorkflowMode {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 7 |     base: BaseExecutor,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/executor/protocol/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Http(HttpProtocolModel),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProtocolDataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Http(HttpProtocolModel),
[INFO] [stdout] 37 +     Http(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/executor/protocol/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Unknown(Value),
[INFO] [stdout]    |     ------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProtocolDataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     Unknown(Value),
[INFO] [stdout] 38 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request`, `response`, and `options` are never read
[INFO] [stdout]  --> src/executor/protocol/http.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct HttpProtocolModel {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 7 |     request: HttpRequest,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     response: HttpResponse,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 9 |     options: HttpOptions,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `HttpProtocolModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `url`, `method`, `headers`, `query_params`, and `body` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HttpRequest {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 14 |     url: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     method: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     headers: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 17 |     query_params: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     body: HttpRequestBodyDTO,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode`, `json`, `form`, and `raw` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct HttpRequestBodyDTO {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 23 |     mode: HttpRequestBodyModeEnum,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     json: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     form: HashMap<String, ParamDTO>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     raw: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpRequestBodyDTO` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `headers`, and `body_asserts` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct HttpResponse {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 31 |     status: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     headers: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     body_asserts: HashMap<String, AssertDTO>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `http_version`, `timeout_ms`, `retry`, `follow_redirects`, and `verify_ssl` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct HttpOptions {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 38 |     http_version: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 39 |     timeout_ms: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 40 |     retry: HttpRetry,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     follow_redirects: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     verify_ssl: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count` and `interval_ms` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct HttpRetry {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 47 |     count: u64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     interval_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpRetry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_header` is never used
[INFO] [stdout]   --> src/cli/mod.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn parse_header(s: &str) -> Result<(String, String), String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `protocol-executor` (lib test) due to 2 previous errors; 19 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/executor/http.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut request_builder = self.client.request(reqwest::Method::GET, "x");
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/executor/mode/workflow.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn execute(&self, context: Context) -> Result<ExecutionResult, Error> {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/logger.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn before(&self, context: &mut Context) -> Result<(), anyhow::Error> {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/logger.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         context: &Context,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/validator.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn before(&self, context: &mut Context) -> Result<(), anyhow::Error> {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/middleware/builtin/single_transfer.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         result: &mut ExecutionResult,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/middleware/builtin/single_transfer.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         context: &Context,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ProtocolDataType` is more private than the item `BaseProtocol::parse_data`
[INFO] [stdout]   --> src/executor/protocol/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn parse_data(&self) -> Result<ProtocolDataType, anyhow::Error> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `BaseProtocol::parse_data` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ProtocolDataType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/executor/protocol/mod.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum ProtocolDataType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `middleware_registry` and `config` are never read
[INFO] [stdout]   --> src/executor/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ExecutorFactory {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 55 |     middleware_registry: Arc<MiddlewareRegistry>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 56 |     config: config::Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutorFactory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base` is never read
[INFO] [stdout]  --> src/executor/mode/workflow.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorkflowMode {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 7 |     base: BaseExecutor,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/executor/protocol/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Http(HttpProtocolModel),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProtocolDataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Http(HttpProtocolModel),
[INFO] [stdout] 37 +     Http(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/executor/protocol/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Unknown(Value),
[INFO] [stdout]    |     ------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProtocolDataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     Unknown(Value),
[INFO] [stdout] 38 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request`, `response`, and `options` are never read
[INFO] [stdout]  --> src/executor/protocol/http.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct HttpProtocolModel {
[INFO] [stdout]   |            ----------------- fields in this struct
[INFO] [stdout] 7 |     request: HttpRequest,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     response: HttpResponse,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 9 |     options: HttpOptions,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `HttpProtocolModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `url`, `method`, `headers`, `query_params`, and `body` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HttpRequest {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 14 |     url: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     method: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     headers: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 17 |     query_params: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     body: HttpRequestBodyDTO,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode`, `json`, `form`, and `raw` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct HttpRequestBodyDTO {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 23 |     mode: HttpRequestBodyModeEnum,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     json: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     form: HashMap<String, ParamDTO>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     raw: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpRequestBodyDTO` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `headers`, and `body_asserts` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct HttpResponse {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 31 |     status: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     headers: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     body_asserts: HashMap<String, AssertDTO>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `http_version`, `timeout_ms`, `retry`, `follow_redirects`, and `verify_ssl` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct HttpOptions {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 38 |     http_version: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 39 |     timeout_ms: Option<u64>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 40 |     retry: HttpRetry,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     follow_redirects: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     verify_ssl: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count` and `interval_ms` are never read
[INFO] [stdout]   --> src/executor/protocol/http.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct HttpRetry {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 47 |     count: u64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     interval_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HttpRetry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_header` is never used
[INFO] [stdout]   --> src/cli/mod.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn parse_header(s: &str) -> Result<(String, String), String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `protocol-executor` (lib) due to 2 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b74d6ac2224d045fe84995483cebbb08cd43636d5821c7931b4dae97c7465755", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b74d6ac2224d045fe84995483cebbb08cd43636d5821c7931b4dae97c7465755", kill_on_drop: false }`
[INFO] [stdout] b74d6ac2224d045fe84995483cebbb08cd43636d5821c7931b4dae97c7465755
