[INFO] fetching crate pmcp-macros 0.1.0...
[INFO] testing pmcp-macros-0.1.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate pmcp-macros 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate pmcp-macros 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate pmcp-macros 0.1.0
[INFO] tweaked toml for crates.io crate pmcp-macros 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pmcp-macros 0.1.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pmcp-macros 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded target-triple v0.1.4
[INFO] [stderr]   Downloaded tokio-macros v2.5.0
[INFO] [stderr]   Downloaded trybuild v1.0.110
[INFO] [stderr]   Downloaded console v0.15.11
[INFO] [stderr]   Downloaded dyn-clone v1.0.20
[INFO] [stderr]   Downloaded serde_derive_internals v0.29.1
[INFO] [stderr]   Downloaded addr2line v0.24.2
[INFO] [stderr]   Downloaded rustc-demangle v0.1.26
[INFO] [stderr]   Downloaded schemars_derive v0.8.22
[INFO] [stderr]   Downloaded similar v2.7.0
[INFO] [stderr]   Downloaded schemars v0.8.22
[INFO] [stderr]   Downloaded yansi v1.0.1
[INFO] [stderr]   Downloaded pretty_assertions v1.4.1
[INFO] [stderr]   Downloaded socket2 v0.6.0
[INFO] [stderr]   Downloaded io-uring v0.7.9
[INFO] [stderr]   Downloaded backtrace v0.3.75
[INFO] [stderr]   Downloaded insta v1.43.1
[INFO] [stderr]   Downloaded mio v1.0.4
[INFO] [stderr]   Downloaded hashbrown v0.15.5
[INFO] [stderr]   Downloaded serde_json v1.0.142
[INFO] [stderr]   Downloaded gimli v0.31.1
[INFO] [stderr]   Downloaded object v0.36.7
[INFO] [stderr]   Downloaded tokio v1.47.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2739d9dfad2653d4724ad54fe2628c508f8cd9b912d49f4123538854cc1e9226
[INFO] running `Command { std: "docker" "start" "-a" "2739d9dfad2653d4724ad54fe2628c508f8cd9b912d49f4123538854cc1e9226", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2739d9dfad2653d4724ad54fe2628c508f8cd9b912d49f4123538854cc1e9226", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2739d9dfad2653d4724ad54fe2628c508f8cd9b912d49f4123538854cc1e9226", kill_on_drop: false }`
[INFO] [stdout] 2739d9dfad2653d4724ad54fe2628c508f8cd9b912d49f4123538854cc1e9226
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48e028cb45cdf0f91e365cdd26c17f026adb78b122f55d2565a7ea7f90c9eed7
[INFO] running `Command { std: "docker" "start" "-a" "48e028cb45cdf0f91e365cdd26c17f026adb78b122f55d2565a7ea7f90c9eed7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling pmcp-macros v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `annotations` is never read
[INFO] [stdout]   --> src/tool.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ToolArgs {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     annotations: Option<ToolAnnotations>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `category`, `complexity`, and `read_only` are never read
[INFO] [stdout]   --> src/tool.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct ToolAnnotations {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 32 |     #[darling(default)]
[INFO] [stdout] 33 |     category: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     complexity: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     read_only: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolAnnotations` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToolRouterInfo` is never used
[INFO] [stdout]    --> src/tool_router.rs:268:7
[INFO] [stdout]     |
[INFO] [stdout] 268 | trait ToolRouterInfo {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_option_inner` is never used
[INFO] [stdout]   --> src/utils.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn extract_option_inner(ty: &Type) -> Option<&Type> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_result_types` is never used
[INFO] [stdout]   --> src/utils.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn extract_result_types(ty: &Type) -> Option<(&Type, &Type)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_unique_ident` is never used
[INFO] [stdout]   --> src/utils.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn generate_unique_ident(prefix: &str) -> Ident {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_pascal_case` is never used
[INFO] [stdout]   --> src/utils.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn to_pascal_case(s: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_snake_case` is never used
[INFO] [stdout]   --> src/utils.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn to_snake_case(s: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_schema_for_type` is never used
[INFO] [stdout]   --> src/utils.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn generate_schema_for_type(ty: &Type) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `implements_trait` is never used
[INFO] [stdout]    --> src/utils.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn implements_trait(ty: &Type, trait_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strip_lifetimes` is never used
[INFO] [stdout]    --> src/utils.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn strip_lifetimes(generics: &Generics) -> Generics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_async_trait_bounds` is never used
[INFO] [stdout]    --> src/utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn add_async_trait_bounds(mut generics: Generics) -> Generics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_doc_comment` is never used
[INFO] [stdout]    --> src/utils.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn extract_doc_comment(attrs: &[syn::Attribute]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_error_conversion` is never used
[INFO] [stdout]    --> src/utils.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn generate_error_conversion(error_type: &Type) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pmcp_error` is never used
[INFO] [stdout]    --> src/utils.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn is_pmcp_error(ty: &Type) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.14s
[INFO] running `Command { std: "docker" "inspect" "48e028cb45cdf0f91e365cdd26c17f026adb78b122f55d2565a7ea7f90c9eed7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48e028cb45cdf0f91e365cdd26c17f026adb78b122f55d2565a7ea7f90c9eed7", kill_on_drop: false }`
[INFO] [stdout] 48e028cb45cdf0f91e365cdd26c17f026adb78b122f55d2565a7ea7f90c9eed7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23f92238e222c323cb9e4245bbf46308140f05e309e189aafb1e00fa74496d0b
[INFO] running `Command { std: "docker" "start" "-a" "23f92238e222c323cb9e4245bbf46308140f05e309e189aafb1e00fa74496d0b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling target-triple v0.1.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling toml_writer v1.0.2
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling toml_parser v1.0.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling pmcp-macros v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `annotations` is never read
[INFO] [stdout]   --> src/tool.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ToolArgs {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     annotations: Option<ToolAnnotations>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `category`, `complexity`, and `read_only` are never read
[INFO] [stdout]   --> src/tool.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct ToolAnnotations {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 32 |     #[darling(default)]
[INFO] [stdout] 33 |     category: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     complexity: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     read_only: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolAnnotations` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToolRouterInfo` is never used
[INFO] [stdout]    --> src/tool_router.rs:268:7
[INFO] [stdout]     |
[INFO] [stdout] 268 | trait ToolRouterInfo {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_option_inner` is never used
[INFO] [stdout]   --> src/utils.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn extract_option_inner(ty: &Type) -> Option<&Type> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_result_types` is never used
[INFO] [stdout]   --> src/utils.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn extract_result_types(ty: &Type) -> Option<(&Type, &Type)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_unique_ident` is never used
[INFO] [stdout]   --> src/utils.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn generate_unique_ident(prefix: &str) -> Ident {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_pascal_case` is never used
[INFO] [stdout]   --> src/utils.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn to_pascal_case(s: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_snake_case` is never used
[INFO] [stdout]   --> src/utils.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn to_snake_case(s: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_schema_for_type` is never used
[INFO] [stdout]   --> src/utils.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn generate_schema_for_type(ty: &Type) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `implements_trait` is never used
[INFO] [stdout]    --> src/utils.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn implements_trait(ty: &Type, trait_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strip_lifetimes` is never used
[INFO] [stdout]    --> src/utils.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn strip_lifetimes(generics: &Generics) -> Generics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_async_trait_bounds` is never used
[INFO] [stdout]    --> src/utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn add_async_trait_bounds(mut generics: Generics) -> Generics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_doc_comment` is never used
[INFO] [stdout]    --> src/utils.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn extract_doc_comment(attrs: &[syn::Attribute]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_error_conversion` is never used
[INFO] [stdout]    --> src/utils.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn generate_error_conversion(error_type: &Type) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pmcp_error` is never used
[INFO] [stdout]    --> src/utils.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn is_pmcp_error(ty: &Type) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_spanned v1.0.0
[INFO] [stderr]    Compiling toml_datetime v0.7.0
[INFO] [stderr]    Compiling insta v1.43.1
[INFO] [stderr]    Compiling toml v0.9.5
[INFO] [stderr]    Compiling trybuild v1.0.110
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         #[tool(description = "Add two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         #[tool(description = "Add two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         #[tool(description = "Subtract two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         #[tool(description = "Subtract two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         #[tool(description = "Multiply two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         #[tool(description = "Multiply two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         #[tool(name = "div", description = "Divide two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         #[tool(name = "div", description = "Divide two numbers")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         #[tool(description = "Convert to uppercase")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         #[tool(description = "Convert to uppercase")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         #[tool(description = "Convert to lowercase")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         #[tool(description = "Convert to lowercase")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         #[tool(description = "Reverse a string")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]   --> tests/tool_router_tests.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         #[tool(description = "Reverse a string")]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         #[tool(description = "Add item to state")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         #[tool(description = "Add item to state")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         #[tool(description = "Get all items")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         #[tool(description = "Get all items")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         #[tool(description = "Clear all items")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         #[tool(description = "Clear all items")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         #[tool(description = "Echo input")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         #[tool(description = "Echo input")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         #[tool(description = "Custom tool")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the struct out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation is not supported in `trait`s or `impl`s
[INFO] [stdout]    --> tests/tool_router_tests.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         #[tool(description = "Custom tool")]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider moving the implementation out to a nearby module scope
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `proptest`
[INFO] [stdout]    --> tests/tool_router_tests.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     use proptest::prelude::*;
[INFO] [stdout]     |         ^^^^^^^^ use of unresolved module or unlinked crate `proptest`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `proptest`, use `cargo add proptest` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `proptest` in this scope
[INFO] [stdout]    --> tests/tool_router_tests.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     proptest! {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_router_tests.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `proptest`
[INFO] [stdout]    --> tests/tool_tests.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     use proptest::prelude::*;
[INFO] [stdout]     |         ^^^^^^^^ use of unresolved module or unlinked crate `proptest`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `proptest`, use `cargo add proptest` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]   --> tests/tool_tests.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     #[tool(description = "Add two numbers")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]   --> tests/tool_tests.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[tool(description = "Async addition")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]   --> tests/tool_tests.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[tool(description = "Division with error handling")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]   --> tests/tool_tests.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     #[tool(description = "Greet a person")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]   --> tests/tool_tests.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[tool(name = "math_multiply", description = "Multiply two numbers")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]    --> tests/tool_tests.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     #[tool(description = "Process complex data")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_trait`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_router_tests.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_router_tests.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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: cannot find macro `proptest` in this scope
[INFO] [stdout]    --> tests/tool_tests.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     proptest! {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_router_tests.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_router_tests.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     #[tool_router(router = "my_router", vis = "pub(crate)")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_router_tests.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     #[tool(description = "Add two numbers")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ToolRouterInfo` in this scope
[INFO] [stdout]   --> tests/tool_router_tests.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_router_tests.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ToolRouterInfo` in this scope
[INFO] [stdout]   --> tests/tool_router_tests.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_router_tests.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::fmt::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::io::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use core::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]     = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ToolRouterInfo` in this scope
[INFO] [stdout]    --> tests/tool_router_tests.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_router_tests.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::fmt::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::io::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use core::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]     = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ToolRouterInfo` in this scope
[INFO] [stdout]    --> tests/tool_router_tests.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[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[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_router_tests.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     #[tool_router(router = "my_router", vis = "pub(crate)")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[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] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::fmt::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::io::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use core::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]     = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ToolRouterInfo` in this scope
[INFO] [stdout]    --> tests/tool_router_tests.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     #[tool_router(router = "my_router", vis = "pub(crate)")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[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] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/tool_router_tests.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `Self` is not valid in the self type of an impl block
[INFO] [stdout]   --> tests/tool_router_tests.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: replace `Self` with a different type
[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: `Self` is not valid in the self type of an impl block
[INFO] [stdout]   --> tests/tool_router_tests.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     #[tool_router]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: replace `Self` with a different type
[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: `Self` is not valid in the self type of an impl block
[INFO] [stdout]    --> tests/tool_router_tests.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: replace `Self` with a different type
[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: `Self` is not valid in the self type of an impl block
[INFO] [stdout]    --> tests/tool_router_tests.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     #[tool_router]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: replace `Self` with a different type
[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: `Self` is not valid in the self type of an impl block
[INFO] [stdout]    --> tests/tool_router_tests.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     #[tool_router(router = "my_router", vis = "pub(crate)")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: replace `Self` with a different type
[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: E0405, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[tool(description = "Async addition")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pmcp-macros` (test "tool_router_tests") due to 46 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[tool(description = "Division with error handling")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     #[tool(description = "Greet a person")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[tool(name = "math_multiply", description = "Multiply two numbers")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_tests.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     #[tool(description = "Process complex data")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     #[tool(description = "Add two numbers")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[tool(description = "Async addition")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[tool(description = "Division with error handling")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     #[tool(description = "Greet a person")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]   --> tests/tool_tests.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[tool(name = "math_multiply", description = "Multiply two numbers")]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]    = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout]  6 + use core::error::Error;
[INFO] [stdout]    |
[INFO] [stdout]    = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]    --> tests/tool_tests.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     #[tool(description = "Process complex data")]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `pmcp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `pmcp`, use `cargo add pmcp` to add it to your `Cargo.toml`
[INFO] [stdout]     = note: this error originates in the attribute macro `tool` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::fmt::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use std::io::Error;
[INFO] [stdout]     |
[INFO] [stdout]   6 + use core::error::Error;
[INFO] [stdout]     |
[INFO] [stdout]     = and 9 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/tool_tests.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pmcp-macros` (test "tool_tests") due to 20 previous errors; 1 warning emitted
[INFO] [stdout] warning: field `annotations` is never read
[INFO] [stdout]   --> src/tool.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct ToolArgs {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     annotations: Option<ToolAnnotations>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `category`, `complexity`, and `read_only` are never read
[INFO] [stdout]   --> src/tool.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct ToolAnnotations {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 32 |     #[darling(default)]
[INFO] [stdout] 33 |     category: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     complexity: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     read_only: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolAnnotations` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToolRouterInfo` is never used
[INFO] [stdout]    --> src/tool_router.rs:268:7
[INFO] [stdout]     |
[INFO] [stdout] 268 | trait ToolRouterInfo {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_schema_for_type` is never used
[INFO] [stdout]   --> src/utils.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn generate_schema_for_type(ty: &Type) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `implements_trait` is never used
[INFO] [stdout]    --> src/utils.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn implements_trait(ty: &Type, trait_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strip_lifetimes` is never used
[INFO] [stdout]    --> src/utils.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn strip_lifetimes(generics: &Generics) -> Generics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_async_trait_bounds` is never used
[INFO] [stdout]    --> src/utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn add_async_trait_bounds(mut generics: Generics) -> Generics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_doc_comment` is never used
[INFO] [stdout]    --> src/utils.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn extract_doc_comment(attrs: &[syn::Attribute]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_error_conversion` is never used
[INFO] [stdout]    --> src/utils.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn generate_error_conversion(error_type: &Type) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pmcp_error` is never used
[INFO] [stdout]    --> src/utils.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn is_pmcp_error(ty: &Type) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "23f92238e222c323cb9e4245bbf46308140f05e309e189aafb1e00fa74496d0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23f92238e222c323cb9e4245bbf46308140f05e309e189aafb1e00fa74496d0b", kill_on_drop: false }`
[INFO] [stdout] 23f92238e222c323cb9e4245bbf46308140f05e309e189aafb1e00fa74496d0b
