[INFO] fetching crate rustmcp 0.1.0... [INFO] testing rustmcp-0.1.0 against 1.90.0 for beta-1.91-3 [INFO] extracting crate rustmcp 0.1.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate rustmcp 0.1.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate rustmcp 0.1.0 [INFO] tweaked toml for crates.io crate rustmcp 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rustmcp 0.1.0 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rustmcp 0.1.0 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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wit-bindgen v0.45.0 [INFO] [stderr] Downloaded wasi v0.14.3+wasi-0.2.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ba4b8dd28a6028f5b7b9328a51f89e38853490044550bba3e311e9197ec42e79 [INFO] running `Command { std: "docker" "start" "-a" "ba4b8dd28a6028f5b7b9328a51f89e38853490044550bba3e311e9197ec42e79", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba4b8dd28a6028f5b7b9328a51f89e38853490044550bba3e311e9197ec42e79", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba4b8dd28a6028f5b7b9328a51f89e38853490044550bba3e311e9197ec42e79", kill_on_drop: false }` [INFO] [stdout] ba4b8dd28a6028f5b7b9328a51f89e38853490044550bba3e311e9197ec42e79 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 005890c369bdd2d31b301f1e5a10763718f859744627aa6d12a4afa1d78d5508 [INFO] running `Command { std: "docker" "start" "-a" "005890c369bdd2d31b301f1e5a10763718f859744627aa6d12a4afa1d78d5508", kill_on_drop: false }` [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling jiff v0.2.15 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling anstream v0.6.20 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.20 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling tungstenite v0.24.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling axum-core v0.4.5 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling serde_path_to_error v0.1.17 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling axum v0.7.9 [INFO] [stderr] Compiling rustmcp v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.17s [INFO] running `Command { std: "docker" "inspect" "005890c369bdd2d31b301f1e5a10763718f859744627aa6d12a4afa1d78d5508", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "005890c369bdd2d31b301f1e5a10763718f859744627aa6d12a4afa1d78d5508", kill_on_drop: false }` [INFO] [stdout] 005890c369bdd2d31b301f1e5a10763718f859744627aa6d12a4afa1d78d5508 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 64d46f211db89c97a2911eb0d45907d33a1a5629973b19b70782d91c17b09675 [INFO] running `Command { std: "docker" "start" "-a" "64d46f211db89c97a2911eb0d45907d33a1a5629973b19b70782d91c17b09675", kill_on_drop: false }` [INFO] [stderr] Compiling rustmcp v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.78s [INFO] running `Command { std: "docker" "inspect" "64d46f211db89c97a2911eb0d45907d33a1a5629973b19b70782d91c17b09675", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64d46f211db89c97a2911eb0d45907d33a1a5629973b19b70782d91c17b09675", kill_on_drop: false }` [INFO] [stdout] 64d46f211db89c97a2911eb0d45907d33a1a5629973b19b70782d91c17b09675 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 554cb4d84a687b567c54134e6464dcdba7b6bae802fc4fcfdf6f38e907091092 [INFO] running `Command { std: "docker" "start" "-a" "554cb4d84a687b567c54134e6464dcdba7b6bae802fc4fcfdf6f38e907091092", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustmcp-d27e3d911dbf6fe9) [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 rustmcp [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/server/mod.rs - server (line 12) ... FAILED [INFO] [stdout] test src/lib.rs - (line 59) ... FAILED [INFO] [stdout] test src/lib.rs - (line 16) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/server/mod.rs - server (line 12) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/server/mod.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 22 | Some(vec!["utility".to_string()]), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Vec` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `std::string::String` [INFO] [stdout] found struct `Vec` [INFO] [stdout] help: the type constructed contains `Vec` due to the type of the argument passed [INFO] [stdout] --> src/server/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 22 | Some(vec!["utility".to_string()]), [INFO] [stdout] | ^^^^^---------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/option.rs:601:5 [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 9 arguments but 7 arguments were supplied [INFO] [stdout] --> src/server/mod.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 11 | let echo_tool = FunctionTool::from_function( [INFO] [stdout] | _________________^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 12 | | |_args: Option>| -> Result { [INFO] [stdout] 13 | | let message = _args [INFO] [stdout] 14 | | .as_ref() [INFO] [stdout] ... | [INFO] [stdout] 34 | | None, [INFO] [stdout] 35 | | ); [INFO] [stdout] | |_- two arguments of type `Option>` and `Option` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/server/tools.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn from_function( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 11 ~ let echo_tool = FunctionTool::from_function(|_args: Option>| -> Result { [INFO] [stdout] 12 + let message = _args [INFO] [stdout] 13 + .as_ref() [INFO] [stdout] 14 + .and_then(|m| m.get("message")) [INFO] [stdout] 15 + .and_then(|v| v.as_str()) [INFO] [stdout] 16 + .unwrap_or("Hello, World!"); [INFO] [stdout] 17 + Ok(serde_json::Value::String(message.to_string())) [INFO] [stdout] 18 + }, Some("echo".to_string()), Some("Echoes back the provided message".to_string()), Some(vec!["utility".to_string()]), Some(serde_json::json!({ [INFO] [stdout] 19 + "type": "object", [INFO] [stdout] 20 + "properties": { [INFO] [stdout] 21 + "message": { [INFO] [stdout] 22 + "type": "string", [INFO] [stdout] 23 + "description": "The message to echo" [INFO] [stdout] 24 + } [INFO] [stdout] 25 + }, [INFO] [stdout] 26 + "required": ["message"] [INFO] [stdout] 27 ~ })), None, None, /* Option> */, /* Option */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0308. [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - (line 59) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:81:14 [INFO] [stdout] | [INFO] [stdout] 24 | Some(vec!["utility".to_string()]), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Vec` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `std::string::String` [INFO] [stdout] found struct `Vec` [INFO] [stdout] help: the type constructed contains `Vec` due to the type of the argument passed [INFO] [stdout] --> src/lib.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 24 | Some(vec!["utility".to_string()]), [INFO] [stdout] | ^^^^^---------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/option.rs:601:5 [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 9 arguments but 7 arguments were supplied [INFO] [stdout] --> src/lib.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 13 | let echo_tool = FunctionTool::from_function( [INFO] [stdout] | _____________________^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 14 | | |_args: Option>| -> Result { [INFO] [stdout] 15 | | let message = _args [INFO] [stdout] 16 | | .as_ref() [INFO] [stdout] ... | [INFO] [stdout] 36 | | None, [INFO] [stdout] 37 | | ); [INFO] [stdout] | |_____- two arguments of type `Option>` and `Option` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/server/tools.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn from_function( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 13 ~ let echo_tool = FunctionTool::from_function(|_args: Option>| -> Result { [INFO] [stdout] 14 + let message = _args [INFO] [stdout] 15 + .as_ref() [INFO] [stdout] 16 + .and_then(|m| m.get("message")) [INFO] [stdout] 17 + .and_then(|v| v.as_str()) [INFO] [stdout] 18 + .unwrap_or("Hello, World!"); [INFO] [stdout] 19 + Ok(Value::String(message.to_string())) [INFO] [stdout] 20 + }, Some("echo".to_string()), Some("Echoes back the provided message".to_string()), Some(vec!["utility".to_string()]), Some(serde_json::json!({ [INFO] [stdout] 21 + "type": "object", [INFO] [stdout] 22 + "properties": { [INFO] [stdout] 23 + "message": { [INFO] [stdout] 24 + "type": "string", [INFO] [stdout] 25 + "description": "The message to echo" [INFO] [stdout] 26 + } [INFO] [stdout] 27 + }, [INFO] [stdout] 28 + "required": ["message"] [INFO] [stdout] 29 ~ })), None, None, /* Option> */, /* Option */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0308. [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - (line 16) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 27 | Some(vec!["greeting".to_string()]), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Vec` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `std::string::String` [INFO] [stdout] found struct `Vec` [INFO] [stdout] help: the type constructed contains `Vec` due to the type of the argument passed [INFO] [stdout] --> src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 27 | Some(vec!["greeting".to_string()]), [INFO] [stdout] | ^^^^^----------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/option.rs:601:5 [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 9 arguments but 6 arguments were supplied [INFO] [stdout] --> src/lib.rs:37:31 [INFO] [stdout] | [INFO] [stdout] 23 | let greet_function_tool = FunctionTool::from_function( [INFO] [stdout] | _______________________________^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 24 | | greet_tool, [INFO] [stdout] 25 | | Some("greet".to_string()), [INFO] [stdout] 26 | | Some("Greets a person by name".to_string()), [INFO] [stdout] ... | [INFO] [stdout] 29 | | None, [INFO] [stdout] 30 | | ); [INFO] [stdout] | |_____- three arguments of type `Option`, `Option>`, and `Option` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/server/tools.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn from_function( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 23 - let greet_function_tool = FunctionTool::from_function( [INFO] [stdout] 24 - greet_tool, [INFO] [stdout] 25 - Some("greet".to_string()), [INFO] [stdout] 26 - Some("Greets a person by name".to_string()), [INFO] [stdout] 27 - Some(vec!["greeting".to_string()]), [INFO] [stdout] 28 - None, [INFO] [stdout] 29 - None, [INFO] [stdout] 30 - ); [INFO] [stdout] 23 + let greet_function_tool = FunctionTool::from_function(greet_tool, Some("greet".to_string()), Some("Greets a person by name".to_string()), Some(vec!["greeting".to_string()]), None, None, /* Option */, /* Option> */, /* Option */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 38 | match rustmcp.mcp_call_tool("greet".to_string(), Some(args)).await { [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/server/mod.rs:149:18 [INFO] [stdout] | [INFO] [stdout] 149 | pub async fn mcp_call_tool(&self, name: &str, arguments: Option>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] help: try removing the method call [INFO] [stdout] | [INFO] [stdout] 38 - match rustmcp.mcp_call_tool("greet".to_string(), Some(args)).await { [INFO] [stdout] 38 + match rustmcp.mcp_call_tool("greet", Some(args)).await { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0308. [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/lib.rs - (line 16) [INFO] [stdout] src/lib.rs - (line 59) [INFO] [stdout] src/server/mod.rs - server (line 12) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "554cb4d84a687b567c54134e6464dcdba7b6bae802fc4fcfdf6f38e907091092", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "554cb4d84a687b567c54134e6464dcdba7b6bae802fc4fcfdf6f38e907091092", kill_on_drop: false }` [INFO] [stdout] 554cb4d84a687b567c54134e6464dcdba7b6bae802fc4fcfdf6f38e907091092