[INFO] fetching crate kodegen_mcp_schema 0.10.14... [INFO] testing kodegen_mcp_schema-0.10.14 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate kodegen_mcp_schema 0.10.14 into /workspace/builds/worker-0-tc2/source [INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml [INFO] started tweaking crates.io crate kodegen_mcp_schema 0.10.14 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate kodegen_mcp_schema 0.10.14 [INFO] tweaked toml for crates.io crate kodegen_mcp_schema 0.10.14 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate kodegen_mcp_schema 0.10.14 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kodegen_mcp_schema 0.10.14 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b664e0570cbd46708599a109a39814a14c53fb1fd1a09010b89037ffe4a6acb1 [INFO] running `Command { std: "docker" "start" "-a" "b664e0570cbd46708599a109a39814a14c53fb1fd1a09010b89037ffe4a6acb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b664e0570cbd46708599a109a39814a14c53fb1fd1a09010b89037ffe4a6acb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b664e0570cbd46708599a109a39814a14c53fb1fd1a09010b89037ffe4a6acb1", kill_on_drop: false }` [INFO] [stdout] b664e0570cbd46708599a109a39814a14c53fb1fd1a09010b89037ffe4a6acb1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f38115ffaea1175402d704b9c0d7e493c13654f0035fddce66dcc9b93a7fbbc2 [INFO] running `Command { std: "docker" "start" "-a" "f38115ffaea1175402d704b9c0d7e493c13654f0035fddce66dcc9b93a7fbbc2", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zmij v1.0.7 [INFO] [stderr] Compiling syn v2.0.112 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling lru v0.16.2 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling inventory v0.3.21 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling schemars_derive v1.2.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling kodegen_mcp_schema_macros v0.10.25 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling rmcp-macros v0.11.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling schemars v1.2.0 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling kodegen_config v0.10.11 [INFO] [stderr] Compiling rmcp v0.11.0 [INFO] [stderr] Compiling kodegen_mcp_schema v0.10.14 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 50s [INFO] running `Command { std: "docker" "inspect" "f38115ffaea1175402d704b9c0d7e493c13654f0035fddce66dcc9b93a7fbbc2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f38115ffaea1175402d704b9c0d7e493c13654f0035fddce66dcc9b93a7fbbc2", kill_on_drop: false }` [INFO] [stdout] f38115ffaea1175402d704b9c0d7e493c13654f0035fddce66dcc9b93a7fbbc2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cfdda399106015726440e1ce555da53e6d1519f35e7400fec0b8731fd13c3191 [INFO] running `Command { std: "docker" "start" "-a" "cfdda399106015726440e1ce555da53e6d1519f35e7400fec0b8731fd13c3191", kill_on_drop: false }` [INFO] [stderr] Compiling kodegen_mcp_schema v0.10.14 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 27.98s [INFO] running `Command { std: "docker" "inspect" "cfdda399106015726440e1ce555da53e6d1519f35e7400fec0b8731fd13c3191", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cfdda399106015726440e1ce555da53e6d1519f35e7400fec0b8731fd13c3191", kill_on_drop: false }` [INFO] [stdout] cfdda399106015726440e1ce555da53e6d1519f35e7400fec0b8731fd13c3191 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e41d7d781cae0265d2432977b1ce62c1c1d707e99b862820c8885e44a8136ecc [INFO] running `Command { std: "docker" "start" "-a" "e41d7d781cae0265d2432977b1ce62c1c1d707e99b862820c8885e44a8136ecc", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kodegen_mcp_schema-143a2068a5a90aa6) [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] Running tests/deserialize_test.rs (/opt/rustwide/target/debug/deps/deserialize_test-e59ff674b0f8c5ee) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_deserialize_missing_content ... ok [INFO] [stdout] test test_deserialize_invalid_tool_name ... ok [INFO] [stdout] test test_deserialize_terminal_output ... ok [INFO] [stdout] test test_deserialize_terminal_output_still_running ... ok [INFO] [stdout] test test_deserialize_terminal_output_with_error ... ok [INFO] [stderr] Doc-tests kodegen_mcp_schema [INFO] [stdout] test test_deserialize_malformed_json ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/tool/traits.rs - tool::traits::ToolExecutionContext::notify (line 837) ... FAILED [INFO] [stdout] test src/tool/traits.rs - tool::traits::ToolExecutionContext::is_cancelled (line 887) ... FAILED [INFO] [stdout] test src/serde_helpers.rs - serde_helpers::string_or_vec (line 29) ... FAILED [INFO] [stdout] test src/tool/traits.rs - tool::traits::ToolExecutionContext::progress (line 807) ... FAILED [INFO] [stdout] test src/lib.rs - ToolArgs (line 68) ... FAILED [INFO] [stdout] test src/tool/traits.rs - tool::traits::ToolExecutionContext::update (line 820) ... FAILED [INFO] [stdout] test src/tool/traits.rs - tool::traits::Tool::execute (line 451) ... FAILED [INFO] [stdout] test src/tool/traits.rs - tool::traits::ToolExecutionContext::stream (line 793) ... FAILED [INFO] [stdout] test src/deserialize/mod.rs - deserialize::deserialize_tool_output (line 28) ... FAILED [INFO] [stdout] test src/tool/mod.rs - tool (line 10) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/tool/traits.rs - tool::traits::ToolExecutionContext::notify (line 837) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope [INFO] [stdout] --> src/tool/traits.rs:839:1 [INFO] [stdout] | [INFO] [stdout] 839 | ctx.notify(lines_read as f64, None, Some("Reading file...")).await.ok(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `lines_read` in this scope [INFO] [stdout] --> src/tool/traits.rs:839:12 [INFO] [stdout] | [INFO] [stdout] 839 | ctx.notify(lines_read as f64, None, Some("Reading file...")).await.ok(); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/tool/traits.rs:839:62 [INFO] [stdout] | [INFO] [stdout] 837 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_traits_rs_837_0() { [INFO] [stdout] | ------------------------------------------- this is not `async` [INFO] [stdout] 838 | // Unknown total, just report current count [INFO] [stdout] 839 | ctx.notify(lines_read as f64, None, Some("Reading file...")).await.ok(); [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/tool/traits.rs - tool::traits::ToolExecutionContext::is_cancelled (line 887) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `items` in this scope [INFO] [stdout] --> src/tool/traits.rs:888:13 [INFO] [stdout] | [INFO] [stdout] 888 | for item in items { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope [INFO] [stdout] --> src/tool/traits.rs:889:8 [INFO] [stdout] | [INFO] [stdout] 889 | if ctx.is_cancelled() { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0433]: cannot find type `McpError` in this scope [INFO] [stdout] --> src/tool/traits.rs:890:20 [INFO] [stdout] | [INFO] [stdout] 890 | return Err(McpError::cancelled("Operation cancelled")); [INFO] [stdout] | ^^^^^^^^ use of undeclared type `McpError` [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 887 + use kodegen_mcp_schema::McpError; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/tool/traits.rs:892:24 [INFO] [stdout] | [INFO] [stdout] 887 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_traits_rs_887_0() { [INFO] [stdout] | ------------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 892 | process_item(item).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `process_item` in this scope [INFO] [stdout] --> src/tool/traits.rs:892:5 [INFO] [stdout] | [INFO] [stdout] 892 | process_item(item).await?; [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/serde_helpers.rs - serde_helpers::string_or_vec (line 29) stdout ---- [INFO] [stdout] error[E0433]: cannot find `serde_helpers` in `crate` [INFO] [stdout] --> src/serde_helpers.rs:34:41 [INFO] [stdout] | [INFO] [stdout] 34 | #[serde(default, deserialize_with = "crate::serde_helpers::string_or_vec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unresolved import [INFO] [stdout] | [INFO] [stdout] help: a similar path exists [INFO] [stdout] | [INFO] [stdout] 34 - #[serde(default, deserialize_with = "crate::serde_helpers::string_or_vec")] [INFO] [stdout] 34 + #[serde(default, deserialize_with = kodegen_mcp_schema::serde_helpers)] [INFO] [stdout] | [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 29 + use kodegen_mcp_schema::serde_helpers; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/tool/traits.rs - tool::traits::ToolExecutionContext::progress (line 807) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope [INFO] [stdout] --> src/tool/traits.rs:809:1 [INFO] [stdout] | [INFO] [stdout] 809 | ctx.progress(50.0, 100.0).await.ok(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/tool/traits.rs:809:27 [INFO] [stdout] | [INFO] [stdout] 807 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_traits_rs_807_0() { [INFO] [stdout] | ------------------------------------------- this is not `async` [INFO] [stdout] 808 | // Processing 50 out of 100 files [INFO] [stdout] 809 | ctx.progress(50.0, 100.0).await.ok(); [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - ToolArgs (line 68) stdout ---- [INFO] [stdout] error[E0405]: cannot find trait `ToolArgs` in this scope [INFO] [stdout] --> src/lib.rs:70:6 [INFO] [stdout] | [INFO] [stdout] 70 | impl ToolArgs for TerminalInput { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this trait [INFO] [stdout] | [INFO] [stdout] 68 + use kodegen_mcp_schema::ToolArgs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalInput` in this scope [INFO] [stdout] --> src/lib.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | impl ToolArgs for TerminalInput { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 68 + use kodegen_mcp_schema::terminal::TerminalInput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalOutput` in this scope [INFO] [stdout] --> src/lib.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | type Output = TerminalOutput; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 68 + use kodegen_mcp_schema::terminal::TerminalOutput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0405]: cannot find trait `Tool` in this scope [INFO] [stdout] --> src/lib.rs:75:6 [INFO] [stdout] | [INFO] [stdout] 75 | impl Tool for TerminalTool { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this trait [INFO] [stdout] | [INFO] [stdout] 68 + use kodegen_mcp_schema::Tool; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalTool` in this scope [INFO] [stdout] --> src/lib.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | impl Tool for TerminalTool { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalInput` in this scope [INFO] [stdout] --> src/lib.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | type Args = TerminalInput; [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 68 + use kodegen_mcp_schema::terminal::TerminalInput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0405, E0425. [INFO] [stdout] For more information about an error, try `rustc --explain E0405`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/tool/traits.rs - tool::traits::ToolExecutionContext::update (line 820) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope [INFO] [stdout] --> src/tool/traits.rs:821:1 [INFO] [stdout] | [INFO] [stdout] 821 | ctx.update(50.0, 100.0, "Generating embeddings 50/100").await.ok(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/tool/traits.rs:821:57 [INFO] [stdout] | [INFO] [stdout] 820 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_traits_rs_820_0() { [INFO] [stdout] | ------------------------------------------- this is not `async` [INFO] [stdout] 821 | ctx.update(50.0, 100.0, "Generating embeddings 50/100").await.ok(); [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/tool/traits.rs - tool::traits::Tool::execute (line 451) stdout ---- [INFO] [stdout] error: expected identifier, found `...` [INFO] [stdout] --> src/tool/traits.rs:460:60 [INFO] [stdout] | [INFO] [stdout] 460 | Ok(ToolResponse::new(output_text, TerminalOutput { ... })) [INFO] [stdout] | -------------- ^^^ expected identifier [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct [INFO] [stdout] [INFO] [stdout] error[E0405]: cannot find trait `Tool` in this scope [INFO] [stdout] --> src/tool/traits.rs:452:6 [INFO] [stdout] | [INFO] [stdout] 452 | impl Tool for TerminalTool { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this trait [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::Tool; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalTool` in this scope [INFO] [stdout] --> src/tool/traits.rs:452:15 [INFO] [stdout] | [INFO] [stdout] 452 | impl Tool for TerminalTool { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalInput` in this scope [INFO] [stdout] --> src/tool/traits.rs:453:17 [INFO] [stdout] | [INFO] [stdout] 453 | type Args = TerminalInput; [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::terminal::TerminalInput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ToolExecutionContext` in this scope [INFO] [stdout] --> src/tool/traits.rs:457:52 [INFO] [stdout] | [INFO] [stdout] 457 | async fn execute(&self, args: Self::Args, ctx: ToolExecutionContext) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::ToolExecutionContext; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ToolResponse` in this scope [INFO] [stdout] --> src/tool/traits.rs:458:19 [INFO] [stdout] | [INFO] [stdout] 458 | -> Result, McpError> [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::ToolResponse; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `TerminalOutput` in this scope [INFO] [stdout] --> src/tool/traits.rs:458:32 [INFO] [stdout] | [INFO] [stdout] 458 | -> Result, McpError> [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::terminal::TerminalOutput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `McpError` in this scope [INFO] [stdout] --> src/tool/traits.rs:458:49 [INFO] [stdout] | [INFO] [stdout] 458 | -> Result, McpError> [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::McpError; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: cannot find type `ToolResponse` in this scope [INFO] [stdout] --> src/tool/traits.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 460 | Ok(ToolResponse::new(output_text, TerminalOutput { ... })) [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `ToolResponse` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::ToolResponse; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `output_text` in this scope [INFO] [stdout] --> src/tool/traits.rs:460:30 [INFO] [stdout] | [INFO] [stdout] 460 | Ok(ToolResponse::new(output_text, TerminalOutput { ... })) [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `TerminalOutput` in this scope [INFO] [stdout] --> src/tool/traits.rs:460:43 [INFO] [stdout] | [INFO] [stdout] 460 | Ok(ToolResponse::new(output_text, TerminalOutput { ... })) [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 451 + use kodegen_mcp_schema::terminal::TerminalOutput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0405, E0422, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0405`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/tool/traits.rs - tool::traits::ToolExecutionContext::stream (line 793) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope [INFO] [stdout] --> src/tool/traits.rs:795:1 [INFO] [stdout] | [INFO] [stdout] 795 | ctx.stream("npm info using npm@8.19.2\n").await.ok(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope [INFO] [stdout] --> src/tool/traits.rs:796:1 [INFO] [stdout] | [INFO] [stdout] 796 | ctx.stream("added 234 packages in 15s\n").await.ok(); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/tool/traits.rs:795:43 [INFO] [stdout] | [INFO] [stdout] 793 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_traits_rs_793_0() { [INFO] [stdout] | ------------------------------------------- this is not `async` [INFO] [stdout] 794 | // Terminal streaming command output [INFO] [stdout] 795 | ctx.stream("npm info using npm@8.19.2\n").await.ok(); [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/tool/traits.rs:796:43 [INFO] [stdout] | [INFO] [stdout] 793 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_traits_rs_793_0() { [INFO] [stdout] | ------------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 796 | ctx.stream("added 234 packages in 15s\n").await.ok(); [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/deserialize/mod.rs - deserialize::deserialize_tool_output (line 28) stdout ---- [INFO] [stdout] error[E0433]: cannot find type `AnyToolOutput` in this scope [INFO] [stdout] --> src/deserialize/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | AnyToolOutput::FsReadFile(output) => { [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared type `AnyToolOutput` [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 27 + use kodegen_mcp_schema::AnyToolOutput; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/deserialize/mod.rs:37:63 [INFO] [stdout] | [INFO] [stdout] 29 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_deserialize_mod_rs_28_0() { [INFO] [stdout] | ---------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 37 | let result = deserialize_tool_output("fs_read_file", mcp_json)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 29 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_deserialize_mod_rs_28_0() -> Result<(), Box> { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/tool/mod.rs - tool (line 10) stdout ---- [INFO] [stdout] error[E0437]: type `PromptArgs` is not a member of trait `Tool` [INFO] [stdout] --> src/tool/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | type PromptArgs = MyPromptArgs; [INFO] [stdout] | ^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | help: there is an associated type with a similar name: `Prompts` [INFO] [stdout] | not a member of trait `Tool` [INFO] [stdout] [INFO] [stdout] error[E0407]: method `prompt_arguments` is not a member of trait `Tool` [INFO] [stdout] --> src/tool/mod.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / fn prompt_arguments() -> Vec { [INFO] [stdout] 40 | | vec![] [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____^ not a member of trait `Tool` [INFO] [stdout] [INFO] [stdout] error[E0407]: method `prompt` is not a member of trait `Tool` [INFO] [stdout] --> src/tool/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | / async fn prompt(&self, _args: Self::PromptArgs) -> Result, McpError> { [INFO] [stdout] 44 | | Ok(vec![]) [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ not a member of trait `Tool` [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MyArgs: ToolArgs` is not satisfied [INFO] [stdout] --> src/tool/mod.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | type Args = MyArgs; [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `ToolArgs` is not implemented for `MyArgs` [INFO] [stdout] --> src/tool/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct MyArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: the following other types implement trait `ToolArgs`: [INFO] [stdout] AddIssueCommentArgs [INFO] [stdout] AddPromptArgs [INFO] [stdout] AddPullRequestReviewCommentArgs [INFO] [stdout] BrowserAgentArgs [INFO] [stdout] BrowserClickArgs [INFO] [stdout] BrowserExtractTextArgs [INFO] [stdout] BrowserNavigateArgs [INFO] [stdout] BrowserResearchArgs [INFO] [stdout] and 111 others [INFO] [stdout] note: required by a bound in `kodegen_mcp_schema::Tool::Args` [INFO] [stdout] --> src/tool/traits.rs:272:16 [INFO] [stdout] | [INFO] [stdout] 272 | type Args: ToolArgs; [INFO] [stdout] | ^^^^^^^^ required by this bound in `Tool::Args` [INFO] [stdout] [INFO] [stdout] error[E0050]: method `execute` has 2 parameters but the declaration in trait `execute` has 3 [INFO] [stdout] --> src/tool/mod.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | async fn execute(&self, args: Self::Args) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters, found 2 [INFO] [stdout] | [INFO] [stdout] = note: `execute` from trait: `fn(&Self, ::Args, ToolExecutionContext) -> impl Future::Args as ToolArgs>::Output>, kodegen_mcp_schema::McpError>> + std::marker::Send` [INFO] [stdout] help: add the missing parameter from the trait [INFO] [stdout] | [INFO] [stdout] 35 | async fn execute(&self, args: Self::Args, ctx: ToolExecutionContext) -> Result { [INFO] [stdout] | +++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `Prompts` [INFO] [stdout] --> src/tool/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | impl Tool for MyTool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ missing `Prompts` in implementation [INFO] [stdout] | [INFO] [stdout] = help: implement the missing item: `type Prompts = /* Type */;` [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `PromptArgs` not found for `Self` [INFO] [stdout] --> src/tool/mod.rs:43:41 [INFO] [stdout] | [INFO] [stdout] 43 | async fn prompt(&self, _args: Self::PromptArgs) -> Result, McpError> { [INFO] [stdout] | ^^^^^^^^^^ help: there is an associated type with a similar name: `Prompts` [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0046, E0050, E0220, E0277, E0407, E0437. [INFO] [stdout] For more information about an error, try `rustc --explain E0046`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/deserialize/mod.rs - deserialize::deserialize_tool_output (line 28) [INFO] [stdout] src/lib.rs - ToolArgs (line 68) [INFO] [stdout] src/serde_helpers.rs - serde_helpers::string_or_vec (line 29) [INFO] [stdout] src/tool/mod.rs - tool (line 10) [INFO] [stdout] src/tool/traits.rs - tool::traits::Tool::execute (line 451) [INFO] [stdout] src/tool/traits.rs - tool::traits::ToolExecutionContext::is_cancelled (line 887) [INFO] [stdout] src/tool/traits.rs - tool::traits::ToolExecutionContext::notify (line 837) [INFO] [stdout] src/tool/traits.rs - tool::traits::ToolExecutionContext::progress (line 807) [INFO] [stdout] src/tool/traits.rs - tool::traits::ToolExecutionContext::stream (line 793) [INFO] [stdout] src/tool/traits.rs - tool::traits::ToolExecutionContext::update (line 820) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 10 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.17s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.71s; merged doctests compilation took 0.54s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "e41d7d781cae0265d2432977b1ce62c1c1d707e99b862820c8885e44a8136ecc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e41d7d781cae0265d2432977b1ce62c1c1d707e99b862820c8885e44a8136ecc", kill_on_drop: false }` [INFO] [stdout] e41d7d781cae0265d2432977b1ce62c1c1d707e99b862820c8885e44a8136ecc