[INFO] cloning repository https://github.com/dimichgh/anthropic-sdk-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dimichgh/anthropic-sdk-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimichgh%2Fanthropic-sdk-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimichgh%2Fanthropic-sdk-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] af3b146becb97ea86e02e634f799e65b2a521bef
[INFO] checking dimichgh/anthropic-sdk-rust/af3b146becb97ea86e02e634f799e65b2a521bef against 3d50c25bc66853bf0ad205529d0f305a1d841b5e for pr-159598
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimichgh%2Fanthropic-sdk-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dimichgh/anthropic-sdk-rust
[INFO] finished tweaking git repo https://github.com/dimichgh/anthropic-sdk-rust
[INFO] tweaked toml for git repo https://github.com/dimichgh/anthropic-sdk-rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dimichgh/anthropic-sdk-rust on toolchain 3d50c25bc66853bf0ad205529d0f305a1d841b5e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dimichgh/anthropic-sdk-rust 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" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e
[INFO] running `Command { std: "docker" "start" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e", 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" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e" "/opt/rustwide/cargo-home/bin/cargo" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e", 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" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e" "/opt/rustwide/cargo-home/bin/cargo" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling cc v1.2.26
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking backoff v0.4.0
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking h2 v0.4.10
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.14
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.20
[INFO] [stderr]     Checking anthropic-sdk-rust v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]    --> src/tools/mod.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 |     use crate::types::{Tool, ToolResult};
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn messages(&self) -> MessagesResource {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn messages(&self) -> MessagesResource<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client.rs:188:19
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn models(&self) -> ModelsResource {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn models(&self) -> ModelsResource<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `,`, found `+`
[INFO] [stdout]    --> examples/custom_auth_gateway.rs:188:19
[INFO] [stdout]     |
[INFO] [stdout] 188 |     println!("\n" + "=".repeat(60).as_str());
[INFO] [stdout]     |                   ^ expected `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `,`, found `+`
[INFO] [stdout]    --> examples/custom_auth_gateway.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |     println!("\n" + "=".repeat(60).as_str());
[INFO] [stdout]     |                   ^ expected `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Anthropic`, `ClientConfig`, and `MessageCreateBuilder`
[INFO] [stdout]  --> examples/custom_auth_gateway.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anthropic_sdk::{Anthropic, ClientConfig, MessageCreateBuilder};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> examples/custom_auth_gateway.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContentBlockParam` and `MessageContent`
[INFO] [stdout]  --> examples/simple_phase4_demo.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     types::{MessageContent, ContentBlockParam},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileSource` and `RetryExecutor`
[INFO] [stdout]  --> examples/comprehensive_file_upload.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 |     File, FileData, FileSource, FileConstraints, FileBuilder, to_file,
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 3 |     TokenCounter, RetryExecutor, default_retry,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> examples/comprehensive_file_upload.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `api_retry`
[INFO] [stdout]  --> examples/phase4_4_infrastructure.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     default_retry, api_retry, AnthropicError,
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let image_base64 = base64::encode(&image_data);
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Anthropic`
[INFO] [stdout]  --> examples/file_upload_comprehensive.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Anthropic, MessageCreateBuilder, ContentBlockParam, MessageContent,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mime::Mime`
[INFO] [stdout]  --> examples/file_upload_comprehensive.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use mime::Mime;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> examples/file_upload_comprehensive.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::fs`
[INFO] [stdout]  --> examples/file_upload_comprehensive.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::fs;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `String: From<Vec<u8>>` is not satisfied
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let text_file = File::from_bytes(
[INFO] [stdout]    |                     ---------------- required by a bound introduced by this call
[INFO] [stdout] 34 |         text_data.as_bytes().to_vec(),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<Vec<u8>>` is not implemented for `String`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `String` implements trait `From<T>`:
[INFO] [stdout]              From<&String>
[INFO] [stdout]              From<&mut str>
[INFO] [stdout]              From<&str>
[INFO] [stdout]              From<Box<str>>
[INFO] [stdout]              From<Cow<'_, str>>
[INFO] [stdout]              From<Model>
[INFO] [stdout]              From<char>
[INFO] [stdout]              From<iri_string::template::string::owned::UriTemplateString>
[INFO] [stdout]            and 7 others
[INFO] [stdout]    = note: required for `Vec<u8>` to implement `Into<String>`
[INFO] [stdout] note: required by a bound in `anthropic_sdk::File::from_bytes`
[INFO] [stdout]   --> src/files/mod.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from_bytes(
[INFO] [stdout]    |            ---------- required by a bound in this associated function
[INFO] [stdout] 90 |         name: impl Into<String>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ required by this bound in `File::from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthMethod`
[INFO] [stdout]  --> examples/custom_gateway_production.rs:1:68
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anthropic_sdk::{Anthropic, ClientConfig, MessageCreateBuilder, AuthMethod};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]  --> tests/custom_gateway_integration.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::time::timeout;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn messages(&self) -> MessagesResource {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn messages(&self) -> MessagesResource<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client.rs:188:19
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn models(&self) -> ModelsResource {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn models(&self) -> ModelsResource<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let text_file = File::from_bytes(
[INFO] [stdout]    |                     ---------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 36 |         "text/plain"
[INFO] [stdout]    |         ^^^^^^^^^^^^ expected `Option<Mime>`, found `&str`
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]            found reference `&'static str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/files/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from_bytes(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `call` is not a member of trait `ToolFunction`
[INFO] [stdout]    --> examples/production_patterns.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout]  57 | /     async fn call(&self, parameters: Value) -> Result<Value, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]  58 | |         let file_type = parameters.get("file_type")
[INFO] [stdout]  59 | |             .and_then(|v| v.as_str())
[INFO] [stdout]  60 | |             .ok_or("Missing file_type parameter")?;
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |         Ok(extracted_data)
[INFO] [stdout] 126 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `ToolFunction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> tests/custom_gateway_integration.rs:46:13
[INFO] [stdout]     |
[INFO] [stdout]  46 |         let $client = match create_custom_client() {
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     require_token!(client);
[INFO] [stdout]     |     ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: `client` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> tests/custom_gateway_integration.rs:46:13
[INFO] [stdout]     |
[INFO] [stdout]  46 |         let $client = match create_custom_client() {
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     require_token!(client);
[INFO] [stdout]     |     ---------------------- in this macro invocation
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `require_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `call` is not a member of trait `ToolFunction`
[INFO] [stdout]    --> examples/production_patterns.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | /     async fn call(&self, parameters: Value) -> Result<Value, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout] 135 | |         let text = parameters.get("text")
[INFO] [stdout] 136 | |             .and_then(|v| v.as_str())
[INFO] [stdout] 137 | |             .ok_or("Missing text parameter")?;
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         }))
[INFO] [stdout] 175 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `ToolFunction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `call` is not a member of trait `ToolFunction`
[INFO] [stdout]    --> examples/production_patterns.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     async fn call(&self, parameters: Value) -> Result<Value, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout] 184 | |         let text = parameters.get("text")
[INFO] [stdout] 185 | |             .and_then(|v| v.as_str())
[INFO] [stdout] 186 | |             .ok_or("Missing text parameter")?;
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | |         }))
[INFO] [stdout] 201 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `ToolFunction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_text_from_content` is never used
[INFO] [stdout]  --> examples/custom_gateway_production.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn extract_text_from_content(content: &[ContentBlock]) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_model_name` is never used
[INFO] [stdout]   --> examples/custom_gateway_production.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn get_model_name() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_client` is never used
[INFO] [stdout]   --> examples/custom_gateway_production.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | async fn test_client(client: &Anthropic, method_name: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageCreateBuilder` and `to_file`
[INFO] [stdout]  --> examples/production_patterns.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Anthropic, MessageCreateBuilder,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     Tool, ToolRegistry, ToolExecutor, ToolFunction,
[INFO] [stdout] 4 |     File, FileConstraints, to_file,
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> examples/production_patterns.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{info, warn, error, debug};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mime_type`
[INFO] [stdout]   --> examples/simple_phase4_demo.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 |     for (filename, mime_type, content) in sample_documents {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mime_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Anthropic`, `ClientConfig`, and `MessageCreateBuilder`
[INFO] [stdout]  --> examples/debug_auth_headers.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anthropic_sdk::{Anthropic, ClientConfig, MessageCreateBuilder};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> examples/debug_auth_headers.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderMap` and `HeaderValue`
[INFO] [stdout]  --> examples/debug_auth_headers.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::header::{HeaderMap, HeaderValue};
[INFO] [stdout]   |                       ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> examples/phase5_2_files_api.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let client = match Anthropic::from_env() {
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `execute`
[INFO] [stdout]   --> examples/production_patterns.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl ToolFunction for DataExtractionTool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `execute` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn execute<'life0: 'async_trait, 'async_trait>(&'life0 self, _: serde_json::Value) -> Pin<Box<(dyn std::future::Future<Output = Result<anthropic_sdk::ToolResult, Box<(dyn std::error::Error + Send + Sync + 'static)>>> + Send + 'async_trait)>> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `execute`
[INFO] [stdout]    --> examples/production_patterns.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl ToolFunction for SentimentAnalysisTool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `execute` in implementation
[INFO] [stdout]     |
[INFO] [stdout]     = help: implement the missing item: `fn execute<'life0: 'async_trait, 'async_trait>(&'life0 self, _: serde_json::Value) -> Pin<Box<(dyn std::future::Future<Output = Result<anthropic_sdk::ToolResult, Box<(dyn std::error::Error + Send + Sync + 'static)>>> + Send + 'async_trait)>> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `execute`
[INFO] [stdout]    --> examples/production_patterns.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl ToolFunction for TextAnalysisTool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `execute` in implementation
[INFO] [stdout]     |
[INFO] [stdout]     = help: implement the missing item: `fn execute<'life0: 'async_trait, 'async_trait>(&'life0 self, _: serde_json::Value) -> Pin<Box<(dyn std::future::Future<Output = Result<anthropic_sdk::ToolResult, Box<(dyn std::error::Error + Send + Sync + 'static)>>> + Send + 'async_trait)>> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |         text_file.name(), text_file.size());
[INFO] [stdout]    |                   ^^^^-- help: remove the arguments
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_error` and `tool_use_id` in initializer of `anthropic_sdk::ToolResult`
[INFO] [stdout]   --> examples/end_to_end_demo.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Ok(anthropic_sdk::ToolResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `is_error` and `tool_use_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<Vec<u8>>` is not satisfied
[INFO] [stdout]    --> examples/end_to_end_demo.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let file = File::from_bytes(
[INFO] [stdout]     |                    ---------------- required by a bound introduced by this call
[INFO] [stdout] 117 |             content.as_bytes().to_vec(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<Vec<u8>>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Model>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<iri_string::template::string::owned::UriTemplateString>
[INFO] [stdout]             and 7 others
[INFO] [stdout]     = note: required for `Vec<u8>` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `anthropic_sdk::File::from_bytes`
[INFO] [stdout]    --> src/files/mod.rs:90:20
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn from_bytes(
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout]  90 |         name: impl Into<String>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^ required by this bound in `File::from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/end_to_end_demo.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let file = File::from_bytes(
[INFO] [stdout]     |                    ---------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 119 |             mime_type
[INFO] [stdout]     |             ^^^^^^^^^ expected `Option<Mime>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/files/mod.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn from_bytes(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:39:37
[INFO] [stdout]    |
[INFO] [stdout] 39 |         text_file.name(), text_file.size());
[INFO] [stdout]    |                                     ^^^^-- help: remove the arguments
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `model` found for struct `MessagesResource<'a>` in the current scope
[INFO] [stdout]    --> examples/custom_auth_gateway.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 156 |       let response = client.messages()
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 157 | |         .model("claude-3-5-sonnet-latest")
[INFO] [stdout]     | |         -^^^^^ method not found in `MessagesResource<'_>`
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:46:9
[INFO] [stdout]     |
[INFO] [stdout]  43 |     let image_file = File::from_base64(
[INFO] [stdout]     |                      ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout]  46 |         "image/png"
[INFO] [stdout]     |         ^^^^^^^^^^^ expected `Option<Mime>`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]             found reference `&'static str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/files/mod.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn from_base64(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Role`
[INFO] [stdout]  --> examples/messages_api.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Anthropic, MessageCreateBuilder, Role, ContentBlockParam, Model,
[INFO] [stdout]   |                                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/production_patterns.rs:222:31
[INFO] [stdout]     |
[INFO] [stdout] 222 |             .max_elapsed_time(Some(config.timeout))
[INFO] [stdout]     |              ---------------- ^^^^^^^^^^^^^^^^^^^^ expected `Duration`, found `Option<Duration>`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Duration`
[INFO] [stdout]                  found enum `Option<Duration>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/http/retry.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn max_elapsed_time(mut self, max_elapsed: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `call` is not a member of trait `ToolFunction`
[INFO] [stdout]   --> examples/comprehensive_tool_use.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | /     async fn call(&self, parameters: Value) -> Result<Value, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout] 17 | |         let location = parameters.get("location")
[INFO] [stdout] 18 | |             .and_then(|v| v.as_str())
[INFO] [stdout] 19 | |             .ok_or("Missing location parameter")?;
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |         Ok(weather_data)
[INFO] [stdout] 69 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `ToolFunction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `call` is not a member of trait `ToolFunction`
[INFO] [stdout]   --> examples/comprehensive_tool_use.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | /     async fn call(&self, parameters: Value) -> Result<Value, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout] 78 | |         let expression = parameters.get("expression")
[INFO] [stdout] 79 | |             .and_then(|v| v.as_str())
[INFO] [stdout] 80 | |             .ok_or("Missing expression parameter")?;
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |         }))
[INFO] [stdout] 93 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `ToolFunction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `call` is not a member of trait `ToolFunction`
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | /     async fn call(&self, parameters: Value) -> Result<Value, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout] 151 | |         let timezone = parameters.get("timezone")
[INFO] [stdout] 152 | |             .and_then(|v| v.as_str())
[INFO] [stdout] 153 | |             .unwrap_or("UTC");
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |         }))
[INFO] [stdout] 172 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `ToolFunction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url_with_key`
[INFO] [stdout]   --> examples/custom_auth_gateway.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let url_with_key = format!("{}?api_key={}", self.base_url, self.api_key);
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_url_with_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Anthropic`, `ContentBlockParam`, `MessageContent`, `MessageCreateBuilder`, `RetryExecutor`, and `ToolChoice`
[INFO] [stdout]  --> examples/comprehensive_tool_use.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Anthropic, MessageCreateBuilder, 
[INFO] [stdout]   |     ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     Tool, ToolRegistry, ToolExecutor, ToolFunction,
[INFO] [stdout] 4 |     TokenCounter, RetryExecutor, api_retry,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^
[INFO] [stdout] 5 |     types::{ToolChoice, MessageContent, ContentBlockParam},
[INFO] [stdout]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> examples/comprehensive_tool_use.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `execute`
[INFO] [stdout]   --> examples/comprehensive_tool_use.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ToolFunction for WeatherTool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `execute` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn execute<'life0: 'async_trait, 'async_trait>(&'life0 self, _: Value) -> Pin<Box<(dyn Future<Output = Result<anthropic_sdk::ToolResult, Box<(dyn std::error::Error + Send + Sync + 'static)>>> + Send + 'async_trait)>> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `execute`
[INFO] [stdout]   --> examples/comprehensive_tool_use.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl ToolFunction for CalculatorTool {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `execute` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn execute<'life0: 'async_trait, 'async_trait>(&'life0 self, _: Value) -> Pin<Box<(dyn Future<Output = Result<anthropic_sdk::ToolResult, Box<(dyn std::error::Error + Send + Sync + 'static)>>> + Send + 'async_trait)>> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_tool` found for struct `ToolRegistry` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 241 |         registry.register_tool(data_tool, Box::new(DataExtractionTool))?;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `register` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:71:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | /     pub fn register(
[INFO] [stdout]  72 | |         &mut self,
[INFO] [stdout]  73 | |         name: impl Into<String>,
[INFO] [stdout]  74 | |         definition: Tool,
[INFO] [stdout]  75 | |         implementation: Box<dyn ToolFunction>,
[INFO] [stdout]  76 | |     ) -> ToolOperationResult<()> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `execute`
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl ToolFunction for TimeTool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `execute` in implementation
[INFO] [stdout]     |
[INFO] [stdout]     = help: implement the missing item: `fn execute<'life0: 'async_trait, 'async_trait>(&'life0 self, _: Value) -> Pin<Box<(dyn Future<Output = Result<anthropic_sdk::ToolResult, Box<(dyn std::error::Error + Send + Sync + 'static)>>> + Send + 'async_trait)>> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |         image_file.name(), image_file.size());
[INFO] [stdout]    |                    ^^^^-- help: remove the arguments
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_key`
[INFO] [stdout]   --> examples/test_dual_auth.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Ok(api_key) => {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `anthropic-sdk-rust` (example "custom_auth_gateway") due to 3 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `FileConstraints` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:123:44
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let constraints = FileConstraints::new()
[INFO] [stdout]     |                                            ^^^ associated function or constant not found in `FileConstraints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_tool` found for struct `ToolRegistry` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:248:18
[INFO] [stdout]     |
[INFO] [stdout] 248 |         registry.register_tool(sentiment_tool, Box::new(SentimentAnalysisTool))?;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `register` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:71:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | /     pub fn register(
[INFO] [stdout]  72 | |         &mut self,
[INFO] [stdout]  73 | |         name: impl Into<String>,
[INFO] [stdout]  74 | |         definition: Tool,
[INFO] [stdout]  75 | |         implementation: Box<dyn ToolFunction>,
[INFO] [stdout]  76 | |     ) -> ToolOperationResult<()> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageCreateBuilder`
[INFO] [stdout]  --> examples/custom_gateway_demo.rs:1:46
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anthropic_sdk::{Anthropic, ClientConfig, MessageCreateBuilder, AuthMethod};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/production_patterns.rs:250:47
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let tool_executor = ToolExecutor::new(registry);
[INFO] [stdout]     |                             ----------------- ^^^^^^^^ expected `Arc<ToolRegistry>`, found `ToolRegistry`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<ToolRegistry>`
[INFO] [stdout]                found struct `ToolRegistry`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/tools/executor.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn new(registry: Arc<ToolRegistry>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: call `Into::into` on this expression to convert `ToolRegistry` into `Arc<ToolRegistry>`
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let tool_executor = ToolExecutor::new(registry.into());
[INFO] [stdout]     |                                                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_tool` found for struct `ToolRegistry` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:193:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |     registry.register_tool(weather_tool, Box::new(WeatherTool))?;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `register` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:71:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | /     pub fn register(
[INFO] [stdout]  72 | |         &mut self,
[INFO] [stdout]  73 | |         name: impl Into<String>,
[INFO] [stdout]  74 | |         definition: Tool,
[INFO] [stdout]  75 | |         implementation: Box<dyn ToolFunction>,
[INFO] [stdout]  76 | |     ) -> ToolOperationResult<()> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |             file.name(), file.size(), file.mime_type(), processing_time);
[INFO] [stdout]     |                  ^^^^-- help: remove the arguments
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |         image_file.name(), image_file.size());
[INFO] [stdout]    |                                       ^^^^-- help: remove the arguments
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_tool` found for struct `ToolRegistry` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:201:14
[INFO] [stdout]     |
[INFO] [stdout] 201 |     registry.register_tool(calculator_tool, Box::new(CalculatorTool))?;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `register` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:71:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | /     pub fn register(
[INFO] [stdout]  72 | |         &mut self,
[INFO] [stdout]  73 | |         name: impl Into<String>,
[INFO] [stdout]  74 | |         definition: Tool,
[INFO] [stdout]  75 | |         implementation: Box<dyn ToolFunction>,
[INFO] [stdout]  76 | |     ) -> ToolOperationResult<()> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:54:20
[INFO] [stdout]     |
[INFO] [stdout]  54 |         .mime_type("text/csv")
[INFO] [stdout]     |          --------- ^^^^^^^^^^ expected `Mime`, found `&str`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/files/mod.rs:432:12
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub fn mime_type(mut self, mime_type: Mime) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:136:31
[INFO] [stdout]     |
[INFO] [stdout] 136 |             file.name(), file.size(), file.mime_type(), processing_time);
[INFO] [stdout]     |                               ^^^^-- help: remove the arguments
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `list_tools` found for reference `&Arc<ToolRegistry>` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:252:77
[INFO] [stdout]     |
[INFO] [stdout] 252 |         info!("Service initialized with {} tools", tool_executor.registry().list_tools().len());
[INFO] [stdout]     |                                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `has_tool` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn has_tool(&self, name: &str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mime_type` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:136:44
[INFO] [stdout]     |
[INFO] [stdout] 136 |             file.name(), file.size(), file.mime_type(), processing_time);
[INFO] [stdout]     |                                            ^^^^^^^^^-- help: remove the arguments
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_tool` found for struct `ToolRegistry` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 |     registry.register_tool(time_tool, Box::new(TimeTool))?;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `register` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:71:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | /     pub fn register(
[INFO] [stdout]  72 | |         &mut self,
[INFO] [stdout]  73 | |         name: impl Into<String>,
[INFO] [stdout]  74 | |         definition: Tool,
[INFO] [stdout]  75 | |         implementation: Box<dyn ToolFunction>,
[INFO] [stdout]  76 | |     ) -> ToolOperationResult<()> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> examples/end_to_end_demo.rs:148:53
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let file_content = String::from_utf8_lossy(&file.to_bytes()?);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<bytes::bytes::Bytes, FileError>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<bytes::bytes::Bytes, FileError>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let file_content = String::from_utf8_lossy(&file.to_bytes().await?);
[INFO] [stdout]     |                                                                    ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]    --> examples/end_to_end_demo.rs:148:53
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let file_content = String::from_utf8_lossy(&file.to_bytes()?);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]    --> examples/end_to_end_demo.rs:148:68
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let file_content = String::from_utf8_lossy(&file.to_bytes()?);
[INFO] [stdout]     |                                                                    ^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required by an implicit `Sized` bound in `ControlFlow`
[INFO] [stdout]    --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/ops/control_flow.rs:89:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:211:38
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let executor = ToolExecutor::new(registry);
[INFO] [stdout]     |                    ----------------- ^^^^^^^^ expected `Arc<ToolRegistry>`, found `ToolRegistry`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<ToolRegistry>`
[INFO] [stdout]                found struct `ToolRegistry`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/tools/executor.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn new(registry: Arc<ToolRegistry>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: call `Into::into` on this expression to convert `ToolRegistry` into `Arc<ToolRegistry>`
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let executor = ToolExecutor::new(registry.into());
[INFO] [stdout]     |                                              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/end_to_end_demo.rs:158:48
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 tool_executor.execute_multiple(&request).await
[INFO] [stdout]     |                               ---------------- ^^^^^^^^ expected `&[ToolUse]`, found `&Vec<Value>`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&[anthropic_sdk::ToolUse]`
[INFO] [stdout]                found reference `&Vec<Value>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/tools/executor.rs:132:18
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub async fn execute_multiple(&self, tool_uses: &[ToolUse]) -> Vec<ToolOperationResult<ToolResult>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnthropicError`
[INFO] [stdout]  --> examples/phase5_1_batches.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Anthropic, AnthropicError,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `list_tools` found for reference `&Arc<ToolRegistry>` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |     println!("🛠️  Registered {} tools:", executor.registry().list_tools().len());
[INFO] [stdout]     |                                                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `has_tool` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn has_tool(&self, name: &str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `list_tools` found for reference `&Arc<ToolRegistry>` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:214:42
[INFO] [stdout]     |
[INFO] [stdout] 214 |     for tool_name in executor.registry().list_tools() {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `has_tool` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn has_tool(&self, name: &str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for struct `FileBuilder` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 52 |       let csv_file = FileBuilder::new()
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 53 | |         .name("data.csv")
[INFO] [stdout] 54 | |         .mime_type("text/csv")
[INFO] [stdout] 55 | |         .data(FileData::Bytes(csv_data.as_bytes().to_vec()))
[INFO] [stdout]    | |         -^^^^ method not found in `FileBuilder`
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `execute_tool` found for struct `ToolExecutor` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:235:35
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let weather_result = executor.execute_tool(&weather_request).await?;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `execute_multiple` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 235 -     let weather_result = executor.execute_tool(&weather_request).await?;
[INFO] [stdout] 235 +     let weather_result = executor.execute_multiple(&weather_request).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new_v4` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:270:38
[INFO] [stdout]     |
[INFO] [stdout] 270 |         let request_id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                                      ^^^^^^ associated function or constant not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::max
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       and 10 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/uuid-1.17.0/src/builder.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout]  72 |     pub const fn nil() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub const fn max() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub const fn from_fields(d1: u32, d2: u16, d3: u16, d4: &[u8; 8]) -> Uuid {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub const fn from_fields_le(d1: u32, d2: u16, d3: u16, d4: &[u8; 8]) -> Uuid {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `execute_tool` found for struct `ToolExecutor` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:251:32
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let calc_result = executor.execute_tool(&calc_request).await?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `execute_multiple` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 251 -     let calc_result = executor.execute_tool(&calc_request).await?;
[INFO] [stdout] 251 +     let calc_result = executor.execute_multiple(&calc_request).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `execute_tool` found for struct `ToolExecutor` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:267:32
[INFO] [stdout]     |
[INFO] [stdout] 267 |     let time_result = executor.execute_tool(&time_request).await?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `execute_multiple` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 267 -     let time_result = executor.execute_tool(&time_request).await?;
[INFO] [stdout] 267 +     let time_result = executor.execute_multiple(&time_request).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> examples/messages_api.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let client = Anthropic::new("demo-api-key")?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder`
[INFO] [stdout]    --> examples/messages_api.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let builder = client.messages()
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:277:60
[INFO] [stdout]     |
[INFO] [stdout] 277 |         info!("File validation successful: {} bytes", file.size());
[INFO] [stdout]     |                                                            ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `execute_tools_parallel` found for struct `ToolExecutor` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:294:37
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let parallel_results = executor.execute_tools_parallel(&parallel_requests).await?;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `execute_multiple` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 294 -     let parallel_results = executor.execute_tools_parallel(&parallel_requests).await?;
[INFO] [stdout] 294 +     let parallel_results = executor.execute_multiple(&parallel_requests).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:297:65
[INFO] [stdout]     |
[INFO] [stdout] 297 |     println!("Executed {} tools in parallel:", parallel_results.len());
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]     = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:297:65
[INFO] [stdout]     |
[INFO] [stdout] 297 |     println!("Executed {} tools in parallel:", parallel_results.len());
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/cmp.rs:1440:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `iter` found for type `!` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:298:41
[INFO] [stdout]     |
[INFO] [stdout] 298 |     for (i, result) in parallel_results.iter().enumerate() {
[INFO] [stdout]     |                                         ^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:298:41
[INFO] [stdout]     |
[INFO] [stdout] 298 |     for (i, result) in parallel_results.iter().enumerate() {
[INFO] [stdout]     |                        ---------------- ^^^^ unreachable call
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:292:29
[INFO] [stdout]     |
[INFO] [stdout] 292 |             file_size: file.size(),
[INFO] [stdout]     |                             ^^^^-- help: remove the arguments
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `execute_tool` found for struct `ToolExecutor` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:315:20
[INFO] [stdout]     |
[INFO] [stdout] 315 |     match executor.execute_tool(&error_request).await {
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `execute_multiple` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 315 -     match executor.execute_tool(&error_request).await {
[INFO] [stdout] 315 +     match executor.execute_multiple(&error_request).await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new_v4` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:337:53
[INFO] [stdout]     |
[INFO] [stdout] 337 |             "id": format!("extract_{}", uuid::Uuid::new_v4()),
[INFO] [stdout]     |                                                     ^^^^^^ associated function or constant not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::max
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       and 10 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/uuid-1.17.0/src/builder.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout]  72 |     pub const fn nil() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub const fn max() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub const fn from_fields(d1: u32, d2: u16, d3: u16, d4: &[u8; 8]) -> Uuid {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub const fn from_fields_le(d1: u32, d2: u16, d3: u16, d4: &[u8; 8]) -> Uuid {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mime_type` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:340:35
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 "file_type": file.mime_type(),
[INFO] [stdout]     |                                   ^^^^^^^^^-- help: remove the arguments
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .data(FileData::Bytes(csv_data.as_bytes().to_vec()))
[INFO] [stdout]    |               --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Bytes`, found `Vec<u8>`
[INFO] [stdout]    |               |
[INFO] [stdout]    |               arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `bytes::bytes::Bytes`
[INFO] [stdout]               found struct `Vec<u8>`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> src/files/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Bytes(Bytes),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] help: call `Into::into` on this expression to convert `Vec<u8>` into `bytes::bytes::Bytes`
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .data(FileData::Bytes(csv_data.as_bytes().to_vec().into()))
[INFO] [stdout]    |                                                           +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `list_tools` found for reference `&Arc<ToolRegistry>` in the current scope
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:335:62
[INFO] [stdout]     |
[INFO] [stdout] 335 |     println!("  • Registered tools: {}", executor.registry().list_tools().len());
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `has_tool` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn has_tool(&self, name: &str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:176:7
[INFO] [stdout]     |
[INFO] [stdout] 176 | async fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: serde::ser::Serialize` will fail
[INFO] [stdout]    --> examples/comprehensive_tool_use.rs:237:57
[INFO] [stdout]     |
[INFO] [stdout] 237 |     println!("Result: {}", serde_json::to_string_pretty(&weather_result)?);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 235 ~     let weather_result: () = executor.execute_tool(&weather_request).await?;
[INFO] [stdout] 236 |     println!("Request: Get weather for San Francisco");
[INFO] [stdout] ...
[INFO] [stdout] 250 |     
[INFO] [stdout] 251 ~     let calc_result: () = executor.execute_tool(&calc_request).await?;
[INFO] [stdout] 252 |     println!("Request: Calculate 25 + 17 * 2");
[INFO] [stdout] ...
[INFO] [stdout] 266 |     
[INFO] [stdout] 267 ~     let time_result: () = executor.execute_tool(&time_request).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:63:21
[INFO] [stdout]     |
[INFO] [stdout]  63 |     let json_file = to_file(json_data.as_bytes(), "data.json", "application/json")?;
[INFO] [stdout]     |                     ^^^^^^^ -------------------- expected `FileSource`, found `&[u8]`
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Option<String>`, found `&str`
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:63:51
[INFO] [stdout]     |
[INFO] [stdout]  63 |     let json_file = to_file(json_data.as_bytes(), "data.json", "application/json")?;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout]     = note:   expected enum `Option<String>`
[INFO] [stdout]             found reference `&'static str`
[INFO] [stdout] note: expected `Option<Mime>`, found `&str`
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:63:64
[INFO] [stdout]     |
[INFO] [stdout]  63 |     let json_file = to_file(json_data.as_bytes(), "data.json", "application/json")?;
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]             found reference `&'static str`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/files/mod.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub async fn to_file(
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let json_file = to_file(json_data.as_bytes(), "data.json", "application/json")?;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<anthropic_sdk::File, FileError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<anthropic_sdk::File, FileError>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let json_file = to_file(json_data.as_bytes(), "data.json", "application/json").await?;
[INFO] [stdout]    |                                                                                   ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |         json_file.name(), json_file.size());
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider providing a type annotation
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]    = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap_or_default` found for opaque type `impl std::future::Future<Output = Result<bytes::bytes::Bytes, FileError>>` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:341:69
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 "content": String::from_utf8_lossy(&file.to_bytes().unwrap_or_default())
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `unwrap_or_else` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/try_future/mod.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 570 | /     fn unwrap_or_else<F>(self, f: F) -> UnwrapOrElse<Self, F>
[INFO] [stdout] 571 | |     where
[INFO] [stdout] 572 | |         Self: Sized,
[INFO] [stdout] 573 | |         F: FnOnce(Self::Error) -> Self::Ok,
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 "content": String::from_utf8_lossy(&file.to_bytes().await.unwrap_or_default())
[INFO] [stdout]     |                                                                     ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for struct `Vec<Result<anthropic_sdk::ToolResult, ToolError>>` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:159:22
[INFO] [stdout]     |
[INFO] [stdout] 158 | /                 tool_executor.execute_multiple(&request).await
[INFO] [stdout] 159 | |                     .map_err(|e| AnthropicError::Other(e.to_string()))
[INFO] [stdout]     | |_____________________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     .sink_map_err(|e| AnthropicError::Other(e.to_string()))
[INFO] [stdout]     |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `execute_tool` found for reference `&ToolExecutor` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:351:31
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 tool_executor.execute_tool(&request).await
[INFO] [stdout]     |                               ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `execute_multiple` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 351 -                 tool_executor.execute_tool(&request).await
[INFO] [stdout] 351 +                 tool_executor.execute_multiple(&request).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0308, E0407, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for opaque type `impl std::future::Future<Output = Result<ContentBlockParam, FileError>>` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:370:18
[INFO] [stdout]     |
[INFO] [stdout] 369 | /             ContentBlockParam::from_file(file.clone())
[INFO] [stdout] 370 | |                 .map_err(DocumentAnalysisError::FileProcessing)?,
[INFO] [stdout]     | |                 -^^^^^^^ method not found in `impl std::future::Future<Output = Result<ContentBlockParam, FileError>>`
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/try_future/mod.rs:308:8
[INFO] [stdout]     |
[INFO] [stdout] 308 |       fn map_err<E, F>(self, f: F) -> MapErr<Self, F>
[INFO] [stdout]     |          ------- the method is available for `impl std::future::Future<Output = Result<ContentBlockParam, FileError>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output`
[INFO] [stdout]     |
[INFO] [stdout] 370 |                 .await.map_err(DocumentAnalysisError::FileProcessing)?,
[INFO] [stdout]     |                  ++++++
[INFO] [stdout] help: trait `TryFutureExt` which provides `map_err` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use futures_util::future::try_future::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_all_tools` found for reference `&Arc<ToolRegistry>` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:379:51
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let tools = self.tool_executor.registry().get_all_tools();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^ method not found in `&Arc<ToolRegistry>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_key` is never used
[INFO] [stdout]    --> examples/debug_auth_headers.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn mask_key(key: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `anthropic-sdk-rust` (example "comprehensive_tool_use") due to 22 previous errors; 5 warnings emitted
[INFO] [stdout] error[E0599]: no method named `tools` found for struct `MessageCreateBuilderWithClient<'a>` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:391:22
[INFO] [stdout]     |
[INFO] [stdout] 388 | /                 client.messages()
[INFO] [stdout] 389 | |                     .create_with_builder("claude-3-5-sonnet-latest", 2048)
[INFO] [stdout] 390 | |                     .message(anthropic_sdk::types::Role::User, content)
[INFO] [stdout] 391 | |                     .tools(tools)
[INFO] [stdout]     | |                     -^^^^^ method not found in `MessageCreateBuilderWithClient<'_>`
[INFO] [stdout]     | |_____________________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for type `!` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |         json_file.name(), json_file.size());
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/cmp.rs:275:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:166:84
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     println!("✅ Analysis for {}: Tool executed successfully", file.name());
[INFO] [stdout]     |                                                                                     ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                                                                     |
[INFO] [stdout]     |                                                                                     field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> examples/phase5_1_batches.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let client = match Anthropic::from_env() {
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:175:56
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 println!("❌ Analysis for {}: {}", file.name(), error);
[INFO] [stdout]     |                                                         ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for type `!` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:65:37
[INFO] [stdout]    |
[INFO] [stdout] 65 |         json_file.name(), json_file.size());
[INFO] [stdout]    |                                     ^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:65:37
[INFO] [stdout]    |
[INFO] [stdout] 65 |         json_file.name(), json_file.size());
[INFO] [stdout]    |                           --------- ^^^^ unreachable call
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `FileConstraints` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:312:44
[INFO] [stdout]     |
[INFO] [stdout] 312 |         let constraints = FileConstraints::new()
[INFO] [stdout]     |                                            ^^^ associated function or constant not found in `FileConstraints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> examples/end_to_end_demo.rs:186:22
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let image_file = to_file(&sample_image_data, "sample.png", "image/png")?;
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: expected `FileSource`, found `&Vec<u8>`
[INFO] [stdout]    --> examples/end_to_end_demo.rs:186:30
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let image_file = to_file(&sample_image_data, "sample.png", "image/png")?;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note:   expected enum `FileSource`
[INFO] [stdout]             found reference `&Vec<u8>`
[INFO] [stdout] note: expected `Option<String>`, found `&str`
[INFO] [stdout]    --> examples/end_to_end_demo.rs:186:50
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let image_file = to_file(&sample_image_data, "sample.png", "image/png")?;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^
[INFO] [stdout]     = note:   expected enum `Option<std::string::String>`
[INFO] [stdout]             found reference `&'static str`
[INFO] [stdout] note: expected `Option<Mime>`, found `&str`
[INFO] [stdout]    --> examples/end_to_end_demo.rs:186:64
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let image_file = to_file(&sample_image_data, "sample.png", "image/png")?;
[INFO] [stdout]     |                                                                ^^^^^^^^^^^
[INFO] [stdout]     = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]             found reference `&'static str`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/files/mod.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub async fn to_file(
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> examples/end_to_end_demo.rs:186:22
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let image_file = to_file(&sample_image_data, "sample.png", "image/png")?;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<anthropic_sdk::File, FileError>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<anthropic_sdk::File, FileError>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let image_file = to_file(&sample_image_data, "sample.png", "image/png").await?;
[INFO] [stdout]     |                                                                            ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> examples/end_to_end_demo.rs:190:50
[INFO] [stdout]     |
[INFO] [stdout] 190 |         ContentBlockParam::image_file(image_file.clone()),
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]     = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/end_to_end_demo.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         ContentBlockParam::image_file(image_file.clone()),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------------------ any code following this expression is unreachable
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `FileConstraints` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let image_constraints = FileConstraints::new()
[INFO] [stdout]    |                                              ^^^ associated function or constant not found in `FileConstraints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<Vec<u8>>` is not satisfied
[INFO] [stdout]    --> examples/production_patterns.rs:324:37
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let file = File::from_bytes(data.to_vec(), filename, mime_type)
[INFO] [stdout]     |                    ---------------- ^^^^^^^^^^^^^ the trait `From<Vec<u8>>` is not implemented for `std::string::String`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Model>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `Vec<u8>` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `anthropic_sdk::File::from_bytes`
[INFO] [stdout]    --> src/files/mod.rs:90:20
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn from_bytes(
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout]  90 |         name: impl Into<String>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^ required by this bound in `File::from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/end_to_end_demo.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         ContentBlockParam::image_file(image_file.clone()),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ContentBlockParam`, found future
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/production_patterns.rs:324:62
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let file = File::from_bytes(data.to_vec(), filename, mime_type)
[INFO] [stdout]     |                    ----------------                          ^^^^^^^^^ expected `Option<Mime>`, found `&str`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]             found reference `&str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/files/mod.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn from_bytes(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/production_patterns.rs:412:16
[INFO] [stdout]     |
[INFO] [stdout] 412 |         if let Some(usage) = &message.usage {
[INFO] [stdout]     |                ^^^^^^^^^^^   -------------- this expression has type `&Usage`
[INFO] [stdout]     |                |
[INFO] [stdout]     |                expected `Usage`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Usage`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> examples/phase5_1_batches.rs:186:34
[INFO] [stdout]     |
[INFO] [stdout] 186 | async fn simulate_batch_progress(batch: &MessageBatch) {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/production_patterns.rs:413:18
[INFO] [stdout]     |
[INFO] [stdout] 413 |             Some(self.token_counter.record_usage("claude-3-5-sonnet-latest", usage))
[INFO] [stdout]     |             ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `anthropic_sdk::CostBreakdown`, found `anthropic_sdk::tokens::CostBreakdown`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] help: the type constructed contains `anthropic_sdk::tokens::CostBreakdown` due to the type of the argument passed
[INFO] [stdout]    --> examples/production_patterns.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |             Some(self.token_counter.record_usage("claude-3-5-sonnet-latest", usage))
[INFO] [stdout]     |             ^^^^^------------------------------------------------------------------^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/option.rs:606:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `FileConstraints` in the current scope
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:77:45
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let text_constraints = FileConstraints::new()
[INFO] [stdout]    |                                             ^^^ associated function or constant not found in `FileConstraints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `String: From<Vec<u8>>` is not satisfied
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:94:39
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let large_file = File::from_bytes(large_file_data, "large.txt", "text/plain")?;
[INFO] [stdout]    |                      ---------------- ^^^^^^^^^^^^^^^ the trait `From<Vec<u8>>` is not implemented for `String`
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: `String` implements trait `From<T>`:
[INFO] [stdout]              From<&String>
[INFO] [stdout]              From<&mut str>
[INFO] [stdout]              From<&str>
[INFO] [stdout]              From<Box<str>>
[INFO] [stdout]              From<Cow<'_, str>>
[INFO] [stdout]              From<Model>
[INFO] [stdout]              From<char>
[INFO] [stdout]              From<iri_string::template::string::owned::UriTemplateString>
[INFO] [stdout]            and 7 others
[INFO] [stdout]    = note: required for `Vec<u8>` to implement `Into<String>`
[INFO] [stdout] note: required by a bound in `anthropic_sdk::File::from_bytes`
[INFO] [stdout]   --> src/files/mod.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from_bytes(
[INFO] [stdout]    |            ---------- required by a bound in this associated function
[INFO] [stdout] 90 |         name: impl Into<String>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^ required by this bound in `File::from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/comprehensive_file_upload.rs:94:69
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let large_file = File::from_bytes(large_file_data, "large.txt", "text/plain")?;
[INFO] [stdout]    |                      ----------------                               ^^^^^^^^^^^^ expected `Option<Mime>`, found `&str`
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Option<mime::Mime>`
[INFO] [stdout]            found reference `&'static str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/files/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from_bytes(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for type `!` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:195:56
[INFO] [stdout]     |
[INFO] [stdout] 195 |     println!("📄 Image file: {} ({} bytes)", image_file.name(), image_file.size());
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/cmp.rs:275:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/end_to_end_demo.rs:195:56
[INFO] [stdout]     |
[INFO] [stdout] 195 |     println!("📄 Image file: {} ({} bytes)", image_file.name(), image_file.size());
[INFO] [stdout]     |                                              ---------- ^^^^ unreachable call
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `detect_mime_type` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:115:35
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let detected_mime = File::detect_mime_type(filename);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ associated function or constant not found in `anthropic_sdk::File`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `anthropic_sdk::File` consider using one of the following associated functions:
[INFO] [stdout]       anthropic_sdk::File::from_bytes
[INFO] [stdout]       anthropic_sdk::File::from_path
[INFO] [stdout]       anthropic_sdk::File::from_base64
[INFO] [stdout]       anthropic_sdk::File::from_std_file
[INFO] [stdout]    --> src/files/mod.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 | /     pub fn from_bytes(
[INFO] [stdout]  90 | |         name: impl Into<String>,
[INFO] [stdout]  91 | |         bytes: impl Into<Bytes>,
[INFO] [stdout]  92 | |         mime_type: Option<Mime>,
[INFO] [stdout]  93 | |     ) -> Result<Self, FileError> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 113 |       pub fn from_path(path: impl AsRef<Path>) -> Result<Self, FileError> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 | /     pub fn from_base64(
[INFO] [stdout] 142 | |         name: impl Into<String>,
[INFO] [stdout] 143 | |         base64_data: impl Into<String>,
[INFO] [stdout] 144 | |         mime_type: Option<Mime>,
[INFO] [stdout] 145 | |     ) -> Result<Self, FileError> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 168 | /     pub fn from_std_file(
[INFO] [stdout] 169 | |         std_file: StdFile,
[INFO] [stdout] 170 | |         name: impl Into<String>,
[INFO] [stdout] 171 | |         mime_type: Option<Mime>,
[INFO] [stdout] 172 | |     ) -> Result<Self, FileError> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `size` found for type `!` in the current scope
[INFO] [stdout]    --> examples/end_to_end_demo.rs:195:75
[INFO] [stdout]     |
[INFO] [stdout] 195 |     println!("📄 Image file: {} ({} bytes)", image_file.name(), image_file.size());
[INFO] [stdout]     |                                                                            ^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/end_to_end_demo.rs:195:75
[INFO] [stdout]     |
[INFO] [stdout] 195 |     println!("📄 Image file: {} ({} bytes)", image_file.name(), image_file.size());
[INFO] [stdout]     |                                                                 ---------- ^^^^ unreachable call
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `request_count` on type `UsageSummary`
[INFO] [stdout]    --> examples/production_patterns.rs:425:43
[INFO] [stdout]     |
[INFO] [stdout] 425 |             total_requests: usage_summary.request_count,
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `total_tokens`, `input_tokens`, `output_tokens`, `cache_tokens`, `total_cost_usd` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:130:46
[INFO] [stdout]     |
[INFO] [stdout] 130 |     println!("  {} is image: {}", image_file.name(), image_file.is_image());
[INFO] [stdout]     |                                              ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `list_tools` found for reference `&Arc<ToolRegistry>` in the current scope
[INFO] [stdout]    --> examples/production_patterns.rs:430:60
[INFO] [stdout]     |
[INFO] [stdout] 430 |             tools_available: self.tool_executor.registry().list_tools().len() as u32,
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `has_tool` with a similar name, but with different arguments
[INFO] [stdout]    --> src/tools/registry.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn has_tool(&self, name: &str) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `total_cost` on type `&anthropic_sdk::CostBreakdown`
[INFO] [stdout]    --> examples/production_patterns.rs:529:54
[INFO] [stdout]     |
[INFO] [stdout] 529 |                     println!("   Cost: ${:.4}", cost.total_cost);
[INFO] [stdout]     |                                                      ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `cost_per_input_token_usd`, `cost_per_output_token_usd`, `effective_cost_per_token_usd`, `cost_vs_alternatives`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/end_to_end_demo.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |               content: vec![anthropic_sdk::types::ContentBlock::Text {
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 39 | |                 text: result.to_string(),
[INFO] [stdout] 40 | |             }],
[INFO] [stdout]    | |______________^ expected `ToolResultContent`, found `Vec<ContentBlock>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `ToolResultContent`
[INFO] [stdout]             found struct `Vec<ContentBlock>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `anthropic-sdk-rust` (example "end_to_end_demo") due to 20 previous errors; 5 warnings emitted
[INFO] [stdout] error[E0599]: no method named `name` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:131:44
[INFO] [stdout]     |
[INFO] [stdout] 131 |     println!("  {} is text: {}", text_file.name(), text_file.is_text());
[INFO] [stdout]     |                                            ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for type `!` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |     println!("  {} is application: {}", json_file.name(), json_file.is_application());
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/cmp.rs:275:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |     println!("  {} is application: {}", json_file.name(), json_file.is_application());
[INFO] [stdout]     |                                         --------- ^^^^ unreachable call
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Anthropic` and `ToolChoice`
[INFO] [stdout]   --> examples/tool_use_comprehensive.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Anthropic, Tool, ToolRegistry, ToolExecutor, ToolFunction, ToolChoice,
[INFO] [stdout]    |     ^^^^^^^^^                                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_application` found for type `!` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:132:69
[INFO] [stdout]     |
[INFO] [stdout] 132 |     println!("  {} is application: {}", json_file.name(), json_file.is_application());
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^ method not found in `!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:132:69
[INFO] [stdout]     |
[INFO] [stdout] 132 |     println!("  {} is application: {}", json_file.name(), json_file.is_application());
[INFO] [stdout]     |                                                           --------- ^^^^^^^^^^^^^^ unreachable call
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let text_as_base64 = text_file.to_base64()?;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<String, FileError>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<String, FileError>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let text_as_base64 = text_file.to_base64().await?;
[INFO] [stdout]     |                                               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:139:26
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let image_as_bytes = image_file.to_bytes()?;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<bytes::bytes::Bytes, FileError>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<bytes::bytes::Bytes, FileError>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let image_as_bytes = image_file.to_bytes().await?;
[INFO] [stdout]     |                                               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:140:64
[INFO] [stdout]     |
[INFO] [stdout] 140 |     println!("  Image file as bytes: {} bytes", image_as_bytes.len());
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for type `!` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:140:64
[INFO] [stdout]     |
[INFO] [stdout] 140 |     println!("  Image file as bytes: {} bytes", image_as_bytes.len());
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `le` with a similar name, but with different arguments
[INFO] [stdout]    --> /rustc/3d50c25bc66853bf0ad205529d0f305a1d841b5e/library/core/src/cmp.rs:1440:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277, E0308, E0407, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:157:24
[INFO] [stdout]     |
[INFO] [stdout] 157 |         file_from_path.name(), file_from_path.size());
[INFO] [stdout]     |                        ^^^^-- help: remove the arguments
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `anthropic-sdk-rust` (example "production_patterns") due to 29 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0599]: no method named `size` found for struct `anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:157:47
[INFO] [stdout]     |
[INFO] [stdout] 157 |         file_from_path.name(), file_from_path.size());
[INFO] [stdout]     |                                               ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:172:63
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let file_content = ContentBlockParam::from_file(json_file.clone())?;
[INFO] [stdout]     |                                                     --------- ^^^^^ unreachable call
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:172:24
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let file_content = ContentBlockParam::from_file(json_file.clone())?;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<ContentBlockParam, FileError>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the nightly-only, unstable trait `Try` is not implemented for `impl Future<Output = Result<ContentBlockParam, FileError>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let file_content = ContentBlockParam::from_file(json_file.clone()).await?;
[INFO] [stdout]     |                                                                       ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         image_content,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ expected `ContentBlockParam`, found future
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |         ("JSON", &json_file),
[INFO] [stdout]     |                  ^^^^^^^^^^ expected `&File`, found `&!`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&anthropic_sdk::File`
[INFO] [stdout]                found reference `&!`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AnthropicError`
[INFO] [stdout]    --> examples/tool_use_comprehensive.rs:119:78
[INFO] [stdout]     |
[INFO] [stdout] 119 |     registry.register("get_weather", weather_tool_def, Box::new(WeatherTool))?;
[INFO] [stdout]     |              ----------------------------------------------------------------^ the trait `From<ToolError>` is not implemented for `AnthropicError`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this can't be annotated with `?` because it has type `Result<_, ToolError>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `AnthropicError` implements trait `From<T>`
[INFO] [stdout]    --> src/types/errors.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl From<reqwest::Error> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<reqwest::error::Error>`
[INFO] [stdout] ...
[INFO] [stdout] 109 | impl From<serde_json::Error> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<serde_json::Error>`
[INFO] [stdout] ...
[INFO] [stdout] 115 | impl From<chrono::OutOfRangeError> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<OutOfRangeError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AnthropicError`
[INFO] [stdout]    --> examples/tool_use_comprehensive.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 131 |       registry.register("calculate", calc_tool_def, Box::new(anthropic_sdk::tools::SimpleTool::new(
[INFO] [stdout]     |  ______________-
[INFO] [stdout] 132 | |         |input| Box::pin(calculate_tool(input))
[INFO] [stdout] 133 | |     )))?;
[INFO] [stdout]     | |       -^ the trait `From<ToolError>` is not implemented for `AnthropicError`
[INFO] [stdout]     | |_______|
[INFO] [stdout]     |         this can't be annotated with `?` because it has type `Result<_, ToolError>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `AnthropicError` implements trait `From<T>`
[INFO] [stdout]    --> src/types/errors.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl From<reqwest::Error> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<reqwest::error::Error>`
[INFO] [stdout] ...
[INFO] [stdout] 109 | impl From<serde_json::Error> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<serde_json::Error>`
[INFO] [stdout] ...
[INFO] [stdout] 115 | impl From<chrono::OutOfRangeError> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<OutOfRangeError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AnthropicError`
[INFO] [stdout]    --> examples/tool_use_comprehensive.rs:139:69
[INFO] [stdout]     |
[INFO] [stdout] 139 |     registry.register("get_time", time_tool_def, create_time_tool())?;
[INFO] [stdout]     |              -------------------------------------------------------^ the trait `From<ToolError>` is not implemented for `AnthropicError`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this can't be annotated with `?` because it has type `Result<_, ToolError>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] help: `AnthropicError` implements trait `From<T>`
[INFO] [stdout]    --> src/types/errors.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl From<reqwest::Error> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<reqwest::error::Error>`
[INFO] [stdout] ...
[INFO] [stdout] 109 | impl From<serde_json::Error> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<serde_json::Error>`
[INFO] [stdout] ...
[INFO] [stdout] 115 | impl From<chrono::OutOfRangeError> for AnthropicError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<OutOfRangeError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:231:37
[INFO] [stdout]     |
[INFO] [stdout] 231 |         println!("  Name: {}", file.name());
[INFO] [stdout]     |                                     ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `anthropic-sdk-rust` (example "tool_use_comprehensive") due to 3 previous errors; 1 warning emitted
[INFO] [stdout] error[E0599]: no method named `size` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:232:43
[INFO] [stdout]     |
[INFO] [stdout] 232 |         println!("  Size: {} bytes", file.size());
[INFO] [stdout]     |                                           ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mime_type` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:233:37
[INFO] [stdout]     |
[INFO] [stdout] 233 |         println!("  MIME: {}", file.mime_type());
[INFO] [stdout]     |                                     ^^^^^^^^^-- help: remove the arguments
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `hash` found for reference `&anthropic_sdk::File` in the current scope
[INFO] [stdout]    --> examples/comprehensive_file_upload.rs:234:37
[INFO] [stdout]     |
[INFO] [stdout] 234 |         println!("  Hash: {}", file.hash().unwrap_or("none".to_string()));
[INFO] [stdout]     |                                     ^^^^-- help: remove the arguments
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `anthropic-sdk-rust` (example "comprehensive_file_upload") due to 35 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e", kill_on_drop: false }`
[INFO] [stdout] 891c90873f95eb6d164040d2d95711e3e0986d48b489198695fbc7370582b89e
