[INFO] cloning repository https://github.com/tim-schultz/mcp-client-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tim-schultz/mcp-client-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftim-schultz%2Fmcp-client-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftim-schultz%2Fmcp-client-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1c7de4a5936c3779629d668c556cb45ca64c757e [INFO] testing tim-schultz/mcp-client-rs/1c7de4a5936c3779629d668c556cb45ca64c757e against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftim-schultz%2Fmcp-client-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tim-schultz/mcp-client-rs [INFO] removed 0 missing examples [INFO] finished tweaking git repo https://github.com/tim-schultz/mcp-client-rs [INFO] tweaked toml for git repo https://github.com/tim-schultz/mcp-client-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tim-schultz/mcp-client-rs on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tim-schultz/mcp-client-rs 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8b503edda553c39fef9fe24195bb8f0c899f6f93018e4b2c9a006044b336fe38 [INFO] running `Command { std: "docker" "start" "-a" "8b503edda553c39fef9fe24195bb8f0c899f6f93018e4b2c9a006044b336fe38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8b503edda553c39fef9fe24195bb8f0c899f6f93018e4b2c9a006044b336fe38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b503edda553c39fef9fe24195bb8f0c899f6f93018e4b2c9a006044b336fe38", kill_on_drop: false }` [INFO] [stdout] 8b503edda553c39fef9fe24195bb8f0c899f6f93018e4b2c9a006044b336fe38 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5c2c1e308560d94f24e1f73e947afa1ea7519c98414e11b4fb57777b777f0a0b [INFO] running `Command { std: "docker" "start" "-a" "5c2c1e308560d94f24e1f73e947afa1ea7519c98414e11b4fb57777b777f0a0b", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling fastrand v2.2.0 [INFO] [stderr] Compiling rustix v0.38.41 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling anyhow v1.0.94 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling futures-lite v2.5.0 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling tokio v1.41.1 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling event-listener v5.3.1 [INFO] [stderr] Compiling async-executor v1.13.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.3 [INFO] [stderr] Compiling async-lock v3.4.0 [INFO] [stderr] Compiling async-channel v2.3.1 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling blocking v1.6.1 [INFO] [stderr] Compiling async-fs v2.1.2 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling polling v3.7.4 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling async-io v2.4.0 [INFO] [stderr] Compiling async-signal v0.2.10 [INFO] [stderr] Compiling async-net v2.0.0 [INFO] [stderr] Compiling async-process v2.3.0 [INFO] [stderr] Compiling smol v2.0.2 [INFO] [stderr] Compiling mcp-client-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code`, `message`, and `data` are never read [INFO] [stdout] --> src/types.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 290 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 291 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 293 | data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are 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: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_capabilities`, `list_prompts`, `list_resources`, `read_resources`, and `list_tools` are never used [INFO] [stdout] --> src/protocol.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Protocol { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_capabilities(&self) -> Option<&ServerCapabilities> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub async fn list_prompts(&self) -> Result, ClientError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub async fn list_resources(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub async fn read_resources( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub async fn list_tools(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `protocol_version`, `server_info`, and `meta` are never read [INFO] [stdout] --> src/types.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct InitializeResponse { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 8 | pub protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | pub capabilities: ServerCapabilities, [INFO] [stdout] 10 | pub server_info: ServerInfo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] [INFO] [stdout] 12 | pub meta: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InitializeResponse` 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 `name` and `version` are never read [INFO] [stdout] --> src/types.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ServerInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 17 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | pub version: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResourcesReadResponse` is never constructed [INFO] [stdout] --> src/types.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct ResourcesReadResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResourcesListResponse` is never constructed [INFO] [stdout] --> src/types.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct ResourcesListResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Resource` is never constructed [INFO] [stdout] --> src/types.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Resource { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListToolsResponse` is never constructed [INFO] [stdout] --> src/types.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct ListToolsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tool` is never constructed [INFO] [stdout] --> src/types.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct Tool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content`, `is_error`, and `meta` are never read [INFO] [stdout] --> src/types.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct CallToolResponse { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 71 | pub content: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 72 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 73 | pub is_error: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 74 | #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] [INFO] [stdout] 75 | pub meta: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallToolResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Prompt` is never constructed [INFO] [stdout] --> src/types.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct Prompt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub enum RequestType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 99 | ResourcesUnsubscribe, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 100 | ResourcesSubscribe, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | ResourcesRead, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 102 | ResourcesList, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 103 | LoggingSetLevel, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | PromptsGet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 105 | PromptsList, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 106 | CompletionComplete, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 107 | Ping, [INFO] [stdout] | ^^^^ [INFO] [stdout] 108 | ListTools, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 109 | ListResourceTemplates, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | ListRoots, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RequestType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Experimental`, `Logging`, `Prompts`, `Resources`, and `Sampling` are never constructed [INFO] [stdout] --> src/types.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub enum ServerCapability { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 115 | Experimental, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 116 | Logging, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 117 | Prompts, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 118 | Resources, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 119 | Tools, [INFO] [stdout] 120 | Sampling, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `levels` is never read [INFO] [stdout] --> src/types.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 156 | pub struct LoggingCapability { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 157 | pub levels: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoggingCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `supports_custom` is never read [INFO] [stdout] --> src/types.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct PromptsCapability { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 162 | pub supports_custom: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PromptsCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `supports_subscribe` and `supports_delta` are never read [INFO] [stdout] --> src/types.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct ResourcesCapability { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 167 | pub supports_subscribe: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 168 | pub supports_delta: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResourcesCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `supports_streaming` is never read [INFO] [stdout] --> src/types.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct ToolsCapability { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 173 | #[serde(default)] [INFO] [stdout] 174 | pub supports_streaming: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolsCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_tokens` and `supported_methods` are never read [INFO] [stdout] --> src/types.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct SamplingCapability { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 179 | pub max_tokens: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 180 | pub supported_methods: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SamplingCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ResourceError` and `PromptError` are never constructed [INFO] [stdout] --> src/types.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub enum ClientError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 187 | ResourceError(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 188 | ToolError(String), [INFO] [stdout] 189 | PromptError(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientError` 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 `jsonrpc` and `id` are never read [INFO] [stdout] --> src/types.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 274 | pub struct JsonRpcResponse { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 275 | pub jsonrpc: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 276 | pub id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `error` is never read [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ResponseContent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code`, `message`, and `data` are never read [INFO] [stdout] --> src/types.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 290 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 291 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 293 | data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.37s [INFO] running `Command { std: "docker" "inspect" "5c2c1e308560d94f24e1f73e947afa1ea7519c98414e11b4fb57777b777f0a0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5c2c1e308560d94f24e1f73e947afa1ea7519c98414e11b4fb57777b777f0a0b", kill_on_drop: false }` [INFO] [stdout] 5c2c1e308560d94f24e1f73e947afa1ea7519c98414e11b4fb57777b777f0a0b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 903b8f9cf6e2203f3f35e8dedc008ef7abc9879def7663762007e5be5a44fcff [INFO] running `Command { std: "docker" "start" "-a" "903b8f9cf6e2203f3f35e8dedc008ef7abc9879def7663762007e5be5a44fcff", kill_on_drop: false }` [INFO] [stderr] Compiling mcp-client-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code`, `message`, and `data` are never read [INFO] [stdout] --> src/types.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 290 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 291 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 293 | data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are 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: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_capabilities`, `list_prompts`, `list_resources`, `read_resources`, and `list_tools` are never used [INFO] [stdout] --> src/protocol.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Protocol { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_capabilities(&self) -> Option<&ServerCapabilities> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub async fn list_prompts(&self) -> Result, ClientError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub async fn list_resources(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub async fn read_resources( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub async fn list_tools(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `protocol_version`, `server_info`, and `meta` are never read [INFO] [stdout] --> src/types.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct InitializeResponse { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 8 | pub protocol_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | pub capabilities: ServerCapabilities, [INFO] [stdout] 10 | pub server_info: ServerInfo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] [INFO] [stdout] 12 | pub meta: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InitializeResponse` 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 `name` and `version` are never read [INFO] [stdout] --> src/types.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ServerInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 17 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | pub version: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResourcesReadResponse` is never constructed [INFO] [stdout] --> src/types.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct ResourcesReadResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResourcesListResponse` is never constructed [INFO] [stdout] --> src/types.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct ResourcesListResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Resource` is never constructed [INFO] [stdout] --> src/types.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Resource { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListToolsResponse` is never constructed [INFO] [stdout] --> src/types.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct ListToolsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tool` is never constructed [INFO] [stdout] --> src/types.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct Tool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content`, `is_error`, and `meta` are never read [INFO] [stdout] --> src/types.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct CallToolResponse { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 71 | pub content: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 72 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 73 | pub is_error: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 74 | #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] [INFO] [stdout] 75 | pub meta: Option>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallToolResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Prompt` is never constructed [INFO] [stdout] --> src/types.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct Prompt { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub enum RequestType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 99 | ResourcesUnsubscribe, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 100 | ResourcesSubscribe, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | ResourcesRead, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 102 | ResourcesList, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 103 | LoggingSetLevel, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | PromptsGet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 105 | PromptsList, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 106 | CompletionComplete, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 107 | Ping, [INFO] [stdout] | ^^^^ [INFO] [stdout] 108 | ListTools, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 109 | ListResourceTemplates, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | ListRoots, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RequestType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Experimental`, `Logging`, `Prompts`, `Resources`, and `Sampling` are never constructed [INFO] [stdout] --> src/types.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub enum ServerCapability { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 115 | Experimental, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 116 | Logging, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 117 | Prompts, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 118 | Resources, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 119 | Tools, [INFO] [stdout] 120 | Sampling, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ServerCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `levels` is never read [INFO] [stdout] --> src/types.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 156 | pub struct LoggingCapability { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 157 | pub levels: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoggingCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `supports_custom` is never read [INFO] [stdout] --> src/types.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct PromptsCapability { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 162 | pub supports_custom: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PromptsCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `supports_subscribe` and `supports_delta` are never read [INFO] [stdout] --> src/types.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct ResourcesCapability { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 167 | pub supports_subscribe: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 168 | pub supports_delta: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResourcesCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `supports_streaming` is never read [INFO] [stdout] --> src/types.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct ToolsCapability { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 173 | #[serde(default)] [INFO] [stdout] 174 | pub supports_streaming: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolsCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_tokens` and `supported_methods` are never read [INFO] [stdout] --> src/types.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct SamplingCapability { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 179 | pub max_tokens: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 180 | pub supported_methods: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SamplingCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ResourceError` and `PromptError` are never constructed [INFO] [stdout] --> src/types.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub enum ClientError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 187 | ResourceError(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 188 | ToolError(String), [INFO] [stdout] 189 | PromptError(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientError` 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 `jsonrpc` and `id` are never read [INFO] [stdout] --> src/types.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 274 | pub struct JsonRpcResponse { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 275 | pub jsonrpc: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 276 | pub id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `error` is never read [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ResponseContent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code`, `message`, and `data` are never read [INFO] [stdout] --> src/types.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 290 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 291 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 293 | data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stdout] --> src/types.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | Error { error: JsonRpcError }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/types.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code`, `message`, and `data` are never read [INFO] [stdout] --> src/types.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 289 | struct JsonRpcError { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 290 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 291 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stdout] 293 | data: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.04s [INFO] running `Command { std: "docker" "inspect" "903b8f9cf6e2203f3f35e8dedc008ef7abc9879def7663762007e5be5a44fcff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "903b8f9cf6e2203f3f35e8dedc008ef7abc9879def7663762007e5be5a44fcff", kill_on_drop: false }` [INFO] [stdout] 903b8f9cf6e2203f3f35e8dedc008ef7abc9879def7663762007e5be5a44fcff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 551bf5d7862167bafee1ff91b7421367c5ad72df27eb887a433ef52daa38e127 [INFO] running `Command { std: "docker" "start" "-a" "551bf5d7862167bafee1ff91b7421367c5ad72df27eb887a433ef52daa38e127", kill_on_drop: false }` [INFO] [stderr] warning: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stderr] --> src/types.rs:285:13 [INFO] [stderr] | [INFO] [stderr] 285 | Error { error: JsonRpcError }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub` [INFO] [stderr] | [INFO] [stderr] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/types.rs:289:1 [INFO] [stderr] | [INFO] [stderr] 289 | struct JsonRpcError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `code`, `message`, and `data` are never read [INFO] [stderr] --> src/types.rs:290:5 [INFO] [stderr] | [INFO] [stderr] 289 | struct JsonRpcError { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 290 | code: i32, [INFO] [stderr] | ^^^^ [INFO] [stderr] 291 | message: String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stderr] 293 | data: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `mcp-client-rs` (lib) generated 2 warnings [INFO] [stderr] warning: type `JsonRpcError` is more private than the item `ResponseContent::Error::error` [INFO] [stderr] --> src/types.rs:285:13 [INFO] [stderr] | [INFO] [stderr] 285 | Error { error: JsonRpcError }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ field `ResponseContent::Error::error` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `JsonRpcError` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/types.rs:289:1 [INFO] [stderr] | [INFO] [stderr] 289 | struct JsonRpcError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: methods `get_capabilities`, `list_prompts`, `list_resources`, `read_resources`, and `list_tools` are never used [INFO] [stderr] --> src/protocol.rs:98:12 [INFO] [stderr] | [INFO] [stderr] 35 | impl Protocol { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 98 | pub fn get_capabilities(&self) -> Option<&ServerCapabilities> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 170 | pub async fn list_prompts(&self) -> Result, ClientError> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 185 | pub async fn list_resources(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 200 | pub async fn read_resources( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 225 | pub async fn list_tools(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `protocol_version`, `server_info`, and `meta` are never read [INFO] [stderr] --> src/types.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct InitializeResponse { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] 8 | pub protocol_version: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 9 | pub capabilities: ServerCapabilities, [INFO] [stderr] 10 | pub server_info: ServerInfo, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 11 | #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] [INFO] [stderr] 12 | pub meta: Option>, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InitializeResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `version` are never read [INFO] [stderr] --> src/types.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct ServerInfo { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 17 | pub name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 18 | pub version: String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ServerInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `ResourcesReadResponse` is never constructed [INFO] [stderr] --> src/types.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct ResourcesReadResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ResourcesListResponse` is never constructed [INFO] [stderr] --> src/types.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | pub struct ResourcesListResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Resource` is never constructed [INFO] [stderr] --> src/types.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | pub struct Resource { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ListToolsResponse` is never constructed [INFO] [stderr] --> src/types.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 55 | pub struct ListToolsResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Tool` is never constructed [INFO] [stderr] --> src/types.rs:61:12 [INFO] [stderr] | [INFO] [stderr] 61 | pub struct Tool { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `content`, `is_error`, and `meta` are never read [INFO] [stderr] --> src/types.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 70 | pub struct CallToolResponse { [INFO] [stderr] | ---------------- fields in this struct [INFO] [stderr] 71 | pub content: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 72 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stderr] 73 | pub is_error: Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 74 | #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] [INFO] [stderr] 75 | pub meta: Option>, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CallToolResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Prompt` is never constructed [INFO] [stderr] --> src/types.rs:90:12 [INFO] [stderr] | [INFO] [stderr] 90 | pub struct Prompt { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/types.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub enum RequestType { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 99 | ResourcesUnsubscribe, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 100 | ResourcesSubscribe, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 101 | ResourcesRead, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 102 | ResourcesList, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 103 | LoggingSetLevel, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 104 | PromptsGet, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 105 | PromptsList, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 106 | CompletionComplete, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 107 | Ping, [INFO] [stderr] | ^^^^ [INFO] [stderr] 108 | ListTools, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 109 | ListResourceTemplates, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 110 | ListRoots, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RequestType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Experimental`, `Logging`, `Prompts`, `Resources`, and `Sampling` are never constructed [INFO] [stderr] --> src/types.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub enum ServerCapability { [INFO] [stderr] | ---------------- variants in this enum [INFO] [stderr] 115 | Experimental, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 116 | Logging, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 117 | Prompts, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 118 | Resources, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 119 | Tools, [INFO] [stderr] 120 | Sampling, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ServerCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `levels` is never read [INFO] [stderr] --> src/types.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 156 | pub struct LoggingCapability { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] 157 | pub levels: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LoggingCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `supports_custom` is never read [INFO] [stderr] --> src/types.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 161 | pub struct PromptsCapability { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] 162 | pub supports_custom: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PromptsCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `supports_subscribe` and `supports_delta` are never read [INFO] [stderr] --> src/types.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 166 | pub struct ResourcesCapability { [INFO] [stderr] | ------------------- fields in this struct [INFO] [stderr] 167 | pub supports_subscribe: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 168 | pub supports_delta: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ResourcesCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `supports_streaming` is never read [INFO] [stderr] --> src/types.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 172 | pub struct ToolsCapability { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 173 | #[serde(default)] [INFO] [stderr] 174 | pub supports_streaming: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ToolsCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `max_tokens` and `supported_methods` are never read [INFO] [stderr] --> src/types.rs:179:9 [INFO] [stderr] | [INFO] [stderr] 178 | pub struct SamplingCapability { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] 179 | pub max_tokens: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 180 | pub supported_methods: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SamplingCapability` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `ResourceError` and `PromptError` are never constructed [INFO] [stderr] --> src/types.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 184 | pub enum ClientError { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 187 | ResourceError(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 188 | ToolError(String), [INFO] [stderr] 189 | PromptError(String), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ClientError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `jsonrpc` and `id` are never read [INFO] [stderr] --> src/types.rs:275:9 [INFO] [stderr] | [INFO] [stderr] 274 | pub struct JsonRpcResponse { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] 275 | pub jsonrpc: String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 276 | pub id: u64, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `JsonRpcResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `error` is never read [INFO] [stderr] --> src/types.rs:285:13 [INFO] [stderr] | [INFO] [stderr] 285 | Error { error: JsonRpcError }, [INFO] [stderr] | ----- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `ResponseContent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `code`, `message`, and `data` are never read [INFO] [stderr] --> src/types.rs:290:5 [INFO] [stderr] | [INFO] [stderr] 289 | struct JsonRpcError { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 290 | code: i32, [INFO] [stderr] | ^^^^ [INFO] [stderr] 291 | message: String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 292 | #[serde(skip_serializing_if = "Option::is_none")] [INFO] [stderr] 293 | data: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `JsonRpcError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `mcp-client-rs` (bin "mcp-client-rs" test) generated 22 warnings [INFO] [stderr] warning: `mcp-client-rs` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mcp_client_rs-78b9b3cb4c0299ca) [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mcp_client_rs-44c58dd45cc285a5) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests mcp_client_rs [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "551bf5d7862167bafee1ff91b7421367c5ad72df27eb887a433ef52daa38e127", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "551bf5d7862167bafee1ff91b7421367c5ad72df27eb887a433ef52daa38e127", kill_on_drop: false }` [INFO] [stdout] 551bf5d7862167bafee1ff91b7421367c5ad72df27eb887a433ef52daa38e127