[INFO] fetching crate turul-mcp-protocol-2025-06-18 0.2.1... [INFO] checking turul-mcp-protocol-2025-06-18-0.2.1 against try#446cb600aa4837dd6c513f14fa0d25a909b177d7 for pr-149195 [INFO] extracting crate turul-mcp-protocol-2025-06-18 0.2.1 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate turul-mcp-protocol-2025-06-18 0.2.1 [INFO] finished tweaking crates.io crate turul-mcp-protocol-2025-06-18 0.2.1 [INFO] tweaked toml for crates.io crate turul-mcp-protocol-2025-06-18 0.2.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate turul-mcp-protocol-2025-06-18 0.2.1 on toolchain 446cb600aa4837dd6c513f14fa0d25a909b177d7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate turul-mcp-protocol-2025-06-18 0.2.1 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" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c7b9e6b269acd6fbedc69ee4aa1feebcc0ede92310cabb0c18502e94886f7ac2 [INFO] running `Command { std: "docker" "start" "-a" "c7b9e6b269acd6fbedc69ee4aa1feebcc0ede92310cabb0c18502e94886f7ac2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c7b9e6b269acd6fbedc69ee4aa1feebcc0ede92310cabb0c18502e94886f7ac2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7b9e6b269acd6fbedc69ee4aa1feebcc0ede92310cabb0c18502e94886f7ac2", kill_on_drop: false }` [INFO] [stdout] c7b9e6b269acd6fbedc69ee4aa1feebcc0ede92310cabb0c18502e94886f7ac2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 008741eb23d3a955dbaf1a550c4cc8bed33c793c4c40c3712e82f4b4c67642c0 [INFO] running `Command { std: "docker" "start" "-a" "008741eb23d3a955dbaf1a550c4cc8bed33c793c4c40c3712e82f4b4c67642c0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking turul-mcp-json-rpc-server v0.2.1 [INFO] [stderr] Checking turul-mcp-protocol-2025-06-18 v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0659]: `CompleteResult` is ambiguous [INFO] [stdout] --> src/completion.rs:396:22 [INFO] [stdout] | [INFO] [stdout] 396 | let result = CompleteResult::new(completion).with_meta(meta); [INFO] [stdout] | ^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `CompleteResult` could refer to the trait imported here [INFO] [stdout] --> src/completion.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CompleteResult` to disambiguate [INFO] [stdout] note: `CompleteResult` could also refer to the struct imported here [INFO] [stdout] --> src/completion.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CompleteResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ElicitResult` is ambiguous [INFO] [stdout] --> src/elicitation.rs:547:29 [INFO] [stdout] | [INFO] [stdout] 547 | let accept_result = ElicitResult::accept(content); [INFO] [stdout] | ^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ElicitResult` could refer to the trait imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] note: `ElicitResult` could also refer to the struct imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ElicitResult` is ambiguous [INFO] [stdout] --> src/elicitation.rs:548:30 [INFO] [stdout] | [INFO] [stdout] 548 | let decline_result = ElicitResult::decline(); [INFO] [stdout] | ^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ElicitResult` could refer to the trait imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] note: `ElicitResult` could also refer to the struct imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ElicitResult` is ambiguous [INFO] [stdout] --> src/elicitation.rs:549:29 [INFO] [stdout] | [INFO] [stdout] 549 | let cancel_result = ElicitResult::cancel(); [INFO] [stdout] | ^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ElicitResult` could refer to the trait imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] note: `ElicitResult` could also refer to the struct imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ElicitResult` is ambiguous [INFO] [stdout] --> src/elicitation.rs:643:22 [INFO] [stdout] | [INFO] [stdout] 643 | let result = ElicitResult::accept(content.clone()).with_meta(meta); [INFO] [stdout] | ^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ElicitResult` could refer to the trait imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] note: `ElicitResult` could also refer to the struct imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ElicitResult` is ambiguous [INFO] [stdout] --> src/elicitation.rs:654:30 [INFO] [stdout] | [INFO] [stdout] 654 | let decline_result = ElicitResult::decline(); [INFO] [stdout] | ^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ElicitResult` could refer to the trait imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] note: `ElicitResult` could also refer to the struct imported here [INFO] [stdout] --> src/elicitation.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ElicitResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `SetLevelRequest` is ambiguous [INFO] [stdout] --> src/logging.rs:248:23 [INFO] [stdout] | [INFO] [stdout] 248 | let request = SetLevelRequest::new(LoggingLevel::Warning); [INFO] [stdout] | ^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `SetLevelRequest` could refer to the trait imported here [INFO] [stdout] --> src/logging.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `SetLevelRequest` to disambiguate [INFO] [stdout] note: `SetLevelRequest` could also refer to the struct imported here [INFO] [stdout] --> src/logging.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `SetLevelRequest` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `SetLevelRequest` is ambiguous [INFO] [stdout] --> src/logging.rs:268:23 [INFO] [stdout] | [INFO] [stdout] 268 | let request = SetLevelRequest::new(LoggingLevel::Error); [INFO] [stdout] | ^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `SetLevelRequest` could refer to the trait imported here [INFO] [stdout] --> src/logging.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `SetLevelRequest` to disambiguate [INFO] [stdout] note: `SetLevelRequest` could also refer to the struct imported here [INFO] [stdout] --> src/logging.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `SetLevelRequest` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `SetLevelRequest` is ambiguous [INFO] [stdout] --> src/logging.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | let parsed: SetLevelRequest = serde_json::from_str(&json).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `SetLevelRequest` could refer to the trait imported here [INFO] [stdout] --> src/logging.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `SetLevelRequest` to disambiguate [INFO] [stdout] note: `SetLevelRequest` could also refer to the struct imported here [INFO] [stdout] --> src/logging.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `SetLevelRequest` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ToolListChangedNotification` is ambiguous [INFO] [stdout] --> src/notifications.rs:454:28 [INFO] [stdout] | [INFO] [stdout] 454 | let notification = ToolListChangedNotification::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ToolListChangedNotification` could refer to the trait imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ToolListChangedNotification` to disambiguate [INFO] [stdout] note: `ToolListChangedNotification` could also refer to the struct imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ToolListChangedNotification` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `PromptListChangedNotification` is ambiguous [INFO] [stdout] --> src/notifications.rs:460:28 [INFO] [stdout] | [INFO] [stdout] 460 | let notification = PromptListChangedNotification::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `PromptListChangedNotification` could refer to the trait imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `PromptListChangedNotification` to disambiguate [INFO] [stdout] note: `PromptListChangedNotification` could also refer to the struct imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `PromptListChangedNotification` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `RootsListChangedNotification` is ambiguous [INFO] [stdout] --> src/notifications.rs:466:28 [INFO] [stdout] | [INFO] [stdout] 466 | let notification = RootsListChangedNotification::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `RootsListChangedNotification` could refer to the trait imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `RootsListChangedNotification` to disambiguate [INFO] [stdout] note: `RootsListChangedNotification` could also refer to the struct imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `RootsListChangedNotification` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ProgressNotification` is ambiguous [INFO] [stdout] --> src/notifications.rs:472:28 [INFO] [stdout] | [INFO] [stdout] 472 | let notification = ProgressNotification::new("token123", 50) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ProgressNotification` could refer to the trait imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ProgressNotification` to disambiguate [INFO] [stdout] note: `ProgressNotification` could also refer to the struct imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ProgressNotification` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ResourceUpdatedNotification` is ambiguous [INFO] [stdout] --> src/notifications.rs:488:28 [INFO] [stdout] | [INFO] [stdout] 488 | let notification = ResourceUpdatedNotification::new("file:///test.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ResourceUpdatedNotification` could refer to the trait imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ResourceUpdatedNotification` to disambiguate [INFO] [stdout] note: `ResourceUpdatedNotification` could also refer to the struct imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ResourceUpdatedNotification` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `CancelledNotification` is ambiguous [INFO] [stdout] --> src/notifications.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | CancelledNotification::new(RequestId::Number(123)).with_reason("User cancelled"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `CancelledNotification` could refer to the trait imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CancelledNotification` to disambiguate [INFO] [stdout] note: `CancelledNotification` could also refer to the struct imported here [INFO] [stdout] --> src/notifications.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CancelledNotification` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `GetPromptRequest` is ambiguous [INFO] [stdout] --> src/prompts.rs:581:23 [INFO] [stdout] | [INFO] [stdout] 581 | let request = GetPromptRequest::new("write_essay").with_arguments(args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `GetPromptRequest` could refer to the trait imported here [INFO] [stdout] --> src/prompts.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `GetPromptRequest` to disambiguate [INFO] [stdout] note: `GetPromptRequest` could also refer to the struct imported here [INFO] [stdout] --> src/prompts.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `GetPromptRequest` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `GetPromptResult` is ambiguous [INFO] [stdout] --> src/prompts.rs:599:24 [INFO] [stdout] | [INFO] [stdout] 599 | let response = GetPromptResult::new(messages).with_description("Generated essay prompt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `GetPromptResult` could refer to the trait imported here [INFO] [stdout] --> src/prompts.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `GetPromptResult` to disambiguate [INFO] [stdout] note: `GetPromptResult` could also refer to the struct imported here [INFO] [stdout] --> src/prompts.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `GetPromptResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ReadResourceResult` is ambiguous [INFO] [stdout] --> src/resources.rs:776:24 [INFO] [stdout] | [INFO] [stdout] 776 | let response = ReadResourceResult::single(content); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ReadResourceResult` could refer to the trait imported here [INFO] [stdout] --> src/resources.rs:737:9 [INFO] [stdout] | [INFO] [stdout] 737 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ReadResourceResult` to disambiguate [INFO] [stdout] note: `ReadResourceResult` could also refer to the struct imported here [INFO] [stdout] --> src/resources.rs:737:9 [INFO] [stdout] | [INFO] [stdout] 737 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ReadResourceResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `ListResourcesRequest` is ambiguous [INFO] [stdout] --> src/resources.rs:794:23 [INFO] [stdout] | [INFO] [stdout] 794 | let request = ListResourcesRequest::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `ListResourcesRequest` could refer to the trait imported here [INFO] [stdout] --> src/resources.rs:737:9 [INFO] [stdout] | [INFO] [stdout] 737 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ListResourcesRequest` to disambiguate [INFO] [stdout] note: `ListResourcesRequest` could also refer to the struct imported here [INFO] [stdout] --> src/resources.rs:737:9 [INFO] [stdout] | [INFO] [stdout] 737 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `ListResourcesRequest` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `CallToolResult` is ambiguous [INFO] [stdout] --> src/tools.rs:749:13 [INFO] [stdout] | [INFO] [stdout] 749 | CallToolResult::success(vec![ToolResult::text("Operation completed successfully")]); [INFO] [stdout] | ^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `CallToolResult` could refer to the trait imported here [INFO] [stdout] --> src/tools.rs:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CallToolResult` to disambiguate [INFO] [stdout] note: `CallToolResult` could also refer to the struct imported here [INFO] [stdout] --> src/tools.rs:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CallToolResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0659]: `CallToolResult` is ambiguous [INFO] [stdout] --> src/tools.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | CallToolResult::success(vec![ToolResult::text("Operation completed successfully")]) [INFO] [stdout] | ^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of multiple glob imports of a name in the same module [INFO] [stdout] note: `CallToolResult` could refer to the trait imported here [INFO] [stdout] --> src/tools.rs:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CallToolResult` to disambiguate [INFO] [stdout] note: `CallToolResult` could also refer to the struct imported here [INFO] [stdout] --> src/tools.rs:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `CallToolResult` to disambiguate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/completion.rs:396:22 [INFO] [stdout] | [INFO] [stdout] 396 | let result = CompleteResult::new(completion).with_meta(meta); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 396 | let result = ::new(completion).with_meta(meta); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/elicitation.rs:547:29 [INFO] [stdout] | [INFO] [stdout] 547 | let accept_result = ElicitResult::accept(content); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 547 | let accept_result = ::accept(content); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/elicitation.rs:548:30 [INFO] [stdout] | [INFO] [stdout] 548 | let decline_result = ElicitResult::decline(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 548 | let decline_result = ::decline(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/elicitation.rs:549:29 [INFO] [stdout] | [INFO] [stdout] 549 | let cancel_result = ElicitResult::cancel(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 549 | let cancel_result = ::cancel(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/elicitation.rs:643:22 [INFO] [stdout] | [INFO] [stdout] 643 | let result = ElicitResult::accept(content.clone()).with_meta(meta); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 643 | let result = ::accept(content.clone()).with_meta(meta); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/elicitation.rs:654:30 [INFO] [stdout] | [INFO] [stdout] 654 | let decline_result = ElicitResult::decline(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 654 | let decline_result = ::decline(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/logging.rs:248:23 [INFO] [stdout] | [INFO] [stdout] 248 | let request = SetLevelRequest::new(LoggingLevel::Warning); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 248 | let request = ::new(LoggingLevel::Warning); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/logging.rs:268:23 [INFO] [stdout] | [INFO] [stdout] 268 | let request = SetLevelRequest::new(LoggingLevel::Error); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 268 | let request = ::new(LoggingLevel::Error); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/logging.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | let parsed: SetLevelRequest = serde_json::from_str(&json).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/notifications.rs:454:28 [INFO] [stdout] | [INFO] [stdout] 454 | let notification = ToolListChangedNotification::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 454 | let notification = ::new(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/notifications.rs:460:28 [INFO] [stdout] | [INFO] [stdout] 460 | let notification = PromptListChangedNotification::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 460 | let notification = ::new(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/notifications.rs:466:28 [INFO] [stdout] | [INFO] [stdout] 466 | let notification = RootsListChangedNotification::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 466 | let notification = ::new(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/notifications.rs:472:28 [INFO] [stdout] | [INFO] [stdout] 472 | let notification = ProgressNotification::new("token123", 50) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 472 | let notification = ::new("token123", 50) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/notifications.rs:488:28 [INFO] [stdout] | [INFO] [stdout] 488 | let notification = ResourceUpdatedNotification::new("file:///test.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 488 | let notification = ::new("file:///test.txt"); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/notifications.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | CancelledNotification::new(RequestId::Number(123)).with_reason("User cancelled"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 497 | ::new(RequestId::Number(123)).with_reason("User cancelled"); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/prompts.rs:581:23 [INFO] [stdout] | [INFO] [stdout] 581 | let request = GetPromptRequest::new("write_essay").with_arguments(args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 581 | let request = ::new("write_essay").with_arguments(args); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/prompts.rs:588:24 [INFO] [stdout] | [INFO] [stdout] 588 | assert_eq!(arguments.get("topic"), Some(&"AI Safety".to_string())); [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/prompts.rs:599:24 [INFO] [stdout] | [INFO] [stdout] 599 | let response = GetPromptResult::new(messages).with_description("Generated essay prompt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 599 | let response = ::new(messages).with_description("Generated essay prompt"); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/resources.rs:776:24 [INFO] [stdout] | [INFO] [stdout] 776 | let response = ReadResourceResult::single(content); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 776 | let response = ::single(content); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/resources.rs:794:23 [INFO] [stdout] | [INFO] [stdout] 794 | let request = ListResourcesRequest::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 794 | let request = ::new(); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/tools.rs:749:13 [INFO] [stdout] | [INFO] [stdout] 749 | CallToolResult::success(vec![ToolResult::text("Operation completed successfully")]); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 749 | ::success(vec![ToolResult::text("Operation completed successfully")]); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0782]: expected a type, found a trait [INFO] [stdout] --> src/tools.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | CallToolResult::success(vec![ToolResult::text("Operation completed successfully")]) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object [INFO] [stdout] | [INFO] [stdout] 764 | ::success(vec![ToolResult::text("Operation completed successfully")]) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0659, E0782. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `turul-mcp-protocol-2025-06-18` (lib test) due to 43 previous errors [INFO] running `Command { std: "docker" "inspect" "008741eb23d3a955dbaf1a550c4cc8bed33c793c4c40c3712e82f4b4c67642c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "008741eb23d3a955dbaf1a550c4cc8bed33c793c4c40c3712e82f4b4c67642c0", kill_on_drop: false }` [INFO] [stdout] 008741eb23d3a955dbaf1a550c4cc8bed33c793c4c40c3712e82f4b4c67642c0