[INFO] cloning repository https://github.com/jokemanfire/mcp-containerd
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jokemanfire/mcp-containerd" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjokemanfire%2Fmcp-containerd", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjokemanfire%2Fmcp-containerd'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fa5afbcf572cd3688121e6c4df0b5a0ebc965235
[INFO] checking jokemanfire/mcp-containerd/fa5afbcf572cd3688121e6c4df0b5a0ebc965235 against eff8269f797067c30555e77f160ec84c0ed15cd9 for pr-159356
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjokemanfire%2Fmcp-containerd" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/jokemanfire/mcp-containerd
[INFO] finished tweaking git repo https://github.com/jokemanfire/mcp-containerd
[INFO] tweaked toml for git repo https://github.com/jokemanfire/mcp-containerd written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jokemanfire/mcp-containerd on toolchain eff8269f797067c30555e77f160ec84c0ed15cd9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eff8269f797067c30555e77f160ec84c0ed15cd9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eff8269f797067c30555e77f160ec84c0ed15cd9" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 211 packages to latest compatible versions
[INFO] [stderr]       Adding matchit v0.8.4 (available: v0.8.6)
[INFO] [stderr]       Adding prost v0.12.6 (available: v0.14.4)
[INFO] [stderr]       Adding prost-build v0.12.6 (available: v0.14.4)
[INFO] [stderr]       Adding prost-types v0.12.6 (available: v0.14.4)
[INFO] [stderr]       Adding rmcp v0.6.4 (available: v3.1.0)
[INFO] [stderr]       Adding schemars v0.8.22 (available: v1.2.2)
[INFO] [stderr]       Adding tonic v0.11.0 (available: v0.14.6)
[INFO] [stderr]       Adding tonic-build v0.11.0 (available: v0.14.6)
[INFO] [stderr]       Adding tower v0.4.13 (available: v0.5.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eff8269f797067c30555e77f160ec84c0ed15cd9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded prost-build v0.12.6
[INFO] [stderr]   Downloaded tonic-build v0.11.0
[INFO] [stderr]   Downloaded prost v0.12.6
[INFO] [stderr]   Downloaded prost-types v0.12.6
[INFO] [stderr]   Downloaded prost-derive v0.12.6
[INFO] [stderr]   Downloaded ref-cast v1.0.26
[INFO] [stderr]   Downloaded tokio-io-timeout v1.2.1
[INFO] [stderr]   Downloaded ref-cast-impl v1.0.26
[INFO] [stderr]   Downloaded rmcp-macros v0.6.4
[INFO] [stderr]   Downloaded sse-stream v0.2.5
[INFO] [stderr]   Downloaded schemars v1.2.2
[INFO] [stderr]   Downloaded serde_derive_internals v0.30.0
[INFO] [stderr]   Downloaded schemars_derive v1.2.2
[INFO] [stderr]   Downloaded tonic v0.11.0
[INFO] [stderr]   Downloaded rmcp v0.6.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f
[INFO] running `Command { std: "docker" "start" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f" "/opt/rustwide/cargo-home/bin/cargo" "+eff8269f797067c30555e77f160ec84c0ed15cd9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f" "/opt/rustwide/cargo-home/bin/cargo" "+eff8269f797067c30555e77f160ec84c0ed15cd9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking futures-core v0.3.33
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking futures-io v0.3.33
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking http-body-util v0.1.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking uuid v1.24.0
[INFO] [stderr]     Checking clap_builder v4.6.5
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling async-trait v0.1.91
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]     Checking clap v4.6.5
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking schemars v0.8.22
[INFO] [stderr]    Compiling prost v0.12.6
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking prost-types v0.12.6
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling rmcp-macros v0.6.4
[INFO] [stderr]     Checking schemars v1.2.2
[INFO] [stderr]    Compiling prost-build v0.12.6
[INFO] [stderr]     Checking futures-executor v0.3.33
[INFO] [stderr]     Checking sse-stream v0.2.5
[INFO] [stderr]     Checking futures v0.3.33
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]    Compiling tonic-build v0.11.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]    Compiling mcp-containerd v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking rmcp v0.6.4
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking tonic v0.11.0
[INFO] [stdout] error[E0603]: struct `Parameters` is private
[INFO] [stdout]   --> src/service/containerd.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     handler::server::tool::{Parameters, ToolRouter},
[INFO] [stdout]    |                             ^^^^^^^^^^ private struct
[INFO] [stdout]    |
[INFO] [stdout] note: the struct `Parameters` is defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/tool.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     handler::server::wrapper::Parameters,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]   --> src/service/containerd.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: struct `Parameters` is private
[INFO] [stdout]   --> src/service/containerd.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     handler::server::tool::{Parameters, ToolRouter},
[INFO] [stdout]    |                             ^^^^^^^^^^ private struct
[INFO] [stdout]    |
[INFO] [stdout] note: the struct `Parameters` is defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/tool.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     handler::server::wrapper::Parameters,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]   --> src/service/containerd.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `title` in initializer of `rmcp::model::PromptArgument`
[INFO] [stdout]     --> src/service/containerd.rs:1195:27
[INFO] [stdout]      |
[INFO] [stdout] 1195 |                 Some(vec![PromptArgument {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ missing `title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `title` in initializer of `rmcp::model::PromptArgument`
[INFO] [stdout]     --> src/service/containerd.rs:1195:27
[INFO] [stdout]      |
[INFO] [stdout] 1195 |                 Some(vec![PromptArgument {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ missing `title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::run_ctr_command})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::run_ctr_command}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-12737262827478049165.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::run_ctr_command})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::run_ctr_command}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-13602729003928352058.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::list_containers_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::list_containers_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-16052046343116297853.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::list_containers_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::list_containers_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-15215066983520151396.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::list_images_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::list_images_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-17436153282161195927.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::list_images_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::list_images_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-17065652039637586884.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::list_tasks_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::list_tasks_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-15672164836844866918.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::list_tasks_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::list_tasks_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-9763383195553053219.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::pull_image_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::pull_image_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-10409757506206807139.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::pull_image_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::pull_image_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-12302382895493440829.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::remove_image_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_image_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-13558091924847781849.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::remove_image_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_image_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-10240561683884107094.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::run_container_ctr})`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::run_container_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-1430806673539701121.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::run_container_ctr})`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::run_container_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-3908818966247961009.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::remove_container_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_container_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-421014161550828270.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::remove_container_ctr})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_container_ctr}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-5429160864584459523.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::get_containerd_logs})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::get_containerd_logs}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-10969157237813982769.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::get_containerd_logs})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::get_containerd_logs}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-16787103837572792483.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::reopen_container_log})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::reopen_container_log}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-3464415393409090833.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> _ {Server::reopen_container_log})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::reopen_container_log}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-4043815303941883481.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::create_pod}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::create_pod})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::create_pod}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-11066937049739368727.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::create_pod}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::create_pod})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::create_pod}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-7911537187084687135.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::remove_pod}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::remove_pod})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_pod}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-275508055860066515.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::remove_pod}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::remove_pod})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_pod}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-15176416646164821861.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::create_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::create_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-9011199931867702719.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::create_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::create_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-14071491186240203230.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::remove_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-10785537180540210236.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::remove_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-16712361593785148096.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::stop_pod}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::stop_pod})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::stop_pod}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-16459450816342955253.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::stop_pod}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::stop_pod})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::stop_pod}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-7745111394284297900.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::start_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::start_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-774020324715154206.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::start_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::start_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-18273532357327457343.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::stop_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::stop_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-1631157709700407625.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::stop_container})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::stop_container}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-15639309248475598793.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::exec_sync}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::exec_sync})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::exec_sync}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-15952007991478915100.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::exec_sync}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::exec_sync})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::exec_sync}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-17076117399136087121.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::pull_image}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::pull_image})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::pull_image}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-7726346899020172079.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::pull_image}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::pull_image})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::pull_image}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-17941882180908399443.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::remove_image}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::remove_image})`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_image}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-9413470721743414935.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::remove_image}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::remove_image})`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::remove_image}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-89187721838137878.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::container_logs})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::container_logs}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-3418009654502050136.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::container_logs})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::container_logs}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-14890986200697388842.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::container_stats})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::container_stats}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-3053413646249589553.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, _): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<_> {Server::container_stats})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::container_stats}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-5870000888100256218.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::pod_stats}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::pod_stats})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::pod_stats}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-5581252aced17f7d.long-type-13253132725362813266.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Tool, fn(_, _) -> _ {Server::pod_stats}): IntoToolRoute<Server, _>` is not satisfied
[INFO] [stdout]    --> src/service/containerd.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[tool_router]
[INFO] [stdout]     | ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoToolRoute<containerd::Server, _>` is not implemented for `(Tool, fn(&Server, {type error}) -> Pin<Box<_>> {Server::pod_stats})`
[INFO] [stdout] help: the trait `IntoToolRoute<S, A>` is conditionally implemented for `(T, C)`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / impl<S, C, A, T> IntoToolRoute<S, A> for (T, C)
[INFO] [stdout]  75 | | where
[INFO] [stdout]  76 | |     S: Send + Sync + 'static,
[INFO] [stdout]  77 | |     C: CallToolHandler<S, A> + Send + Sync + Clone + 'static,
[INFO] [stdout]     | |        --------------------- unsatisfied requirement introduced here: `for<'a> fn(&'a containerd::Server, {type error}) -> Pin<Box<(dyn std::future::Future<Output = Result<rmcp::model::CallToolResult, ErrorData>> + Send + 'a)>> {containerd::Server::pod_stats}: CallToolHandler<containerd::Server, _>`
[INFO] [stdout]  78 | |     T: Into<Tool>,
[INFO] [stdout]     | |__________________^
[INFO] [stdout] note: required by a bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rmcp-0.6.4/src/handler/server/router/tool.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn with_route<R, A>(mut self, route: R) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 214 |     where
[INFO] [stdout] 215 |         R: IntoToolRoute<S, A>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `ToolRouter::<S>::with_route`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/mcp_containerd-534b16920e369ffc.long-type-17574966181845761917.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the attribute macro `tool_router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0277, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mcp-containerd` (bin "mcp-containerd" test) due to 25 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0063, E0277, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mcp-containerd` (bin "mcp-containerd") due to 25 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f", kill_on_drop: false }`
[INFO] [stdout] 113a2c078a9fce3914a0b6eca1864ef5cff885f67595a385dbfead92ae7b2a0f
