[INFO] cloning repository https://github.com/EggerMarc/chat-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EggerMarc/chat-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEggerMarc%2Fchat-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEggerMarc%2Fchat-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b840f8cbffc4077f1291b9cffc830c76f31c8ad7
[INFO] testing EggerMarc/chat-rs against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEggerMarc%2Fchat-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/EggerMarc/chat-rs
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/EggerMarc/chat-rs
[INFO] tweaked toml for git repo https://github.com/EggerMarc/chat-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/EggerMarc/chat-rs on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/EggerMarc/chat-rs 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tools-rs v0.1.5
[INFO] [stderr]   Downloaded tools_macros v0.1.1
[INFO] [stderr]   Downloaded tools_core v0.1.4
[INFO] [stderr]   Downloaded cc v1.2.46
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a952f0967e0ab2672546bb5332c52c1921cb77f9f17ae498cd4d00926360f490
[INFO] running `Command { std: "docker" "start" "-a" "a952f0967e0ab2672546bb5332c52c1921cb77f9f17ae498cd4d00926360f490", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a952f0967e0ab2672546bb5332c52c1921cb77f9f17ae498cd4d00926360f490", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a952f0967e0ab2672546bb5332c52c1921cb77f9f17ae498cd4d00926360f490", kill_on_drop: false }`
[INFO] [stdout] a952f0967e0ab2672546bb5332c52c1921cb77f9f17ae498cd4d00926360f490
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6a800beb4d9845803e244dbe1dbbd7254370de8604027652916d099fecb33a8
[INFO] running `Command { std: "docker" "start" "-a" "a6a800beb4d9845803e244dbe1dbbd7254370de8604027652916d099fecb33a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cc v1.2.46
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling inventory v0.3.21
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling iri-string v0.7.9
[INFO] [stderr]    Compiling rustls-pki-types v1.13.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tools_macros v0.1.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling schemars_derive v1.1.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling schemars v1.1.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tools_core v0.1.4
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling tools-rs v0.1.5
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.18
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling chat-rs v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tools_rs::FunctionResponse`
[INFO] [stdout]  --> src/core/messages/content.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tools_rs::FunctionResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s
[INFO] running `Command { std: "docker" "inspect" "a6a800beb4d9845803e244dbe1dbbd7254370de8604027652916d099fecb33a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6a800beb4d9845803e244dbe1dbbd7254370de8604027652916d099fecb33a8", kill_on_drop: false }`
[INFO] [stdout] a6a800beb4d9845803e244dbe1dbbd7254370de8604027652916d099fecb33a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f77e752d210e424e0ffa6dd2de09022c9a3830f2c9b1829a189f9dc2dc5b421
[INFO] running `Command { std: "docker" "start" "-a" "4f77e752d210e424e0ffa6dd2de09022c9a3830f2c9b1829a189f9dc2dc5b421", kill_on_drop: false }`
[INFO] [stderr]    Compiling chat-rs v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tools_rs::FunctionResponse`
[INFO] [stdout]  --> src/core/messages/content.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tools_rs::FunctionResponse;
[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: `tools_rs::FunctionResponse`
[INFO] [stdout]  --> src/core/messages/content.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tools_rs::FunctionResponse;
[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 variable: `tools`
[INFO] [stdout]   --> examples/gemini.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let tools = collect_tools();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_tools`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `likes` are never read
[INFO] [stdout]   --> examples/gemini.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct User {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 18 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     likes: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/messages/parts.rs:377:13
[INFO] [stdout]     |
[INFO] [stdout] 377 |         let mut parts = Parts::default();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fc`
[INFO] [stdout]    --> src/core/messages/parts.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let fc = FunctionCall::new("test".to_string(), json!({}));
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_fc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.91s
[INFO] running `Command { std: "docker" "inspect" "4f77e752d210e424e0ffa6dd2de09022c9a3830f2c9b1829a189f9dc2dc5b421", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f77e752d210e424e0ffa6dd2de09022c9a3830f2c9b1829a189f9dc2dc5b421", kill_on_drop: false }`
[INFO] [stdout] 4f77e752d210e424e0ffa6dd2de09022c9a3830f2c9b1829a189f9dc2dc5b421
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a4f4be887cec35c2a14ad0ad28f764e0064c43e58d0f48c642d46fd332ce43ad
[INFO] running `Command { std: "docker" "start" "-a" "a4f4be887cec35c2a14ad0ad28f764e0064c43e58d0f48c642d46fd332ce43ad", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tools_rs::FunctionResponse`
[INFO] [stderr]  --> src/core/messages/content.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tools_rs::FunctionResponse;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/messages/parts.rs:377:13
[INFO] [stderr]     |
[INFO] [stderr] 377 |         let mut parts = Parts::default();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fc`
[INFO] [stderr]    --> src/core/messages/parts.rs:378:13
[INFO] [stderr]     |
[INFO] [stderr] 378 |         let fc = FunctionCall::new("test".to_string(), json!({}));
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_fc`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `chat-rs` (lib) generated 1 warning (run `cargo fix --lib -p chat-rs` to apply 1 suggestion)
[INFO] [stderr] warning: `chat-rs` (lib test) generated 3 warnings (1 duplicate) (run `cargo fix --lib -p chat-rs --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused variable: `tools`
[INFO] [stderr]   --> examples/gemini.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |     let tools = collect_tools();
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_tools`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `likes` are never read
[INFO] [stderr]   --> examples/gemini.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | struct User {
[INFO] [stderr]    |        ---- fields in this struct
[INFO] [stderr] 18 |     name: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 19 |     likes: Vec<String>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `User` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `chat-rs` (example "gemini") generated 2 warnings (run `cargo fix --example "gemini" -p chat-rs` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/chat_rs-fbb9ea7b12ebaceb)
[INFO] [stdout] 
[INFO] [stdout] running 86 tests
[INFO] [stdout] test core::chat::tests::test_structured_complete_invalid_json ... ok
[INFO] [stdout] test core::chat::tests::test_structured_complete_with_text_json ... ok
[INFO] [stdout] test core::chat::tests::test_structured_complete_wrong_schema ... ok
[INFO] [stdout] test core::chat::tests::test_structured_complete_with_structured_part ... ok
[INFO] [stdout] test core::messages::content::tests::test_complete_reason_enum_variants ... ok
[INFO] [stdout] test core::chat::tests::test_structured_complete_with_retries ... ok
[INFO] [stdout] test core::messages::content::tests::test_content_serialization ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_model_creates_content_with_stop_reason ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_model_with_empty_prompts ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_model_with_multiple_prompts ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_model_with_single_prompt ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_system_creates_content_with_correct_role ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_system_creates_content_with_correct_complete_reason ... ok
[INFO] [stdout] test core::messages::content::tests::test_content_clone ... ok
[INFO] [stdout] test core::messages::content::tests::test_complete_reason_serialization ... ok
[INFO] [stdout] test core::messages::content::tests::test_content_default ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_model_creates_content_with_correct_role ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_system_with_empty_prompts ... ok
[INFO] [stdout] test core::chat::tests::test_unstructured_complete ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_with_empty_prompts ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_system_with_multiple_prompts ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_system_with_single_prompt ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_system_with_long_text ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_with_empty_string ... ok
[INFO] [stdout] test core::messages::content::tests::test_complete_reason_enum_default ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_with_multiple_prompts ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_creates_content_with_correct_role ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_creates_content_with_correct_complete_reason ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_with_single_prompt ... ok
[INFO] [stdout] test core::messages::content::tests::test_from_user_with_unicode_and_special_chars ... ok
[INFO] [stdout] test core::messages::content::tests::test_role_enum_default ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_clone ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_display_function_response ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_display_reasoning ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_display_text ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_equality ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_default ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_display_function_call ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_from_function_call ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_from_reasoning ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_from_function_response ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_display_structured ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_function_call_getter ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_function_response_getter ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_reasoning_getter ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_structured_getter ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_text_getter ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_default ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_extend ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_function_calls_iterator ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_function_response_by_id ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_function_response_not_found ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_function_responses_iterator ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_last ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_push ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_from_text ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_push_chaining ... ok
[INFO] [stdout] test core::messages::parts::tests::test_part_enum_from_structured ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_serialization ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_structured_response ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_structured_response_none ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_text_parts_iterator ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_text_response ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_with_mixed_types ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_text_response_none ... ok
[INFO] [stdout] test core::messages::tests::test_from_model_function ... ok
[INFO] [stdout] test core::messages::tests::test_from_system_function ... ok
[INFO] [stdout] test core::messages::tests::test_from_system_with_empty_prompts ... ok
[INFO] [stdout] test core::messages::tests::test_from_user_function ... ok
[INFO] [stdout] test core::messages::tests::test_from_user_with_multiple_prompts ... ok
[INFO] [stdout] test core::messages::tests::test_messages_chaining_push ... ok
[INFO] [stdout] test core::messages::tests::test_messages_clone ... ok
[INFO] [stdout] test core::messages::tests::test_messages_alternating_roles ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_empty_checks ... ok
[INFO] [stdout] test core::messages::content::tests::test_role_enum_equality ... ok
[INFO] [stdout] test core::messages::parts::tests::test_parts_equality ... ok
[INFO] [stdout] test core::messages::content::tests::test_role_enum_serialization ... ok
[INFO] [stdout] test core::messages::tests::test_messages_default ... ok
[INFO] [stdout] test core::messages::tests::test_messages_last ... ok
[INFO] [stdout] test core::messages::tests::test_messages_extend_empty ... ok
[INFO] [stdout] test core::messages::tests::test_messages_extend ... ok
[INFO] [stdout] test core::messages::tests::test_messages_multiple_same_role_consolidation ... ok
[INFO] [stdout] test core::messages::tests::test_messages_push ... ok
[INFO] [stdout] test core::messages::tests::test_messages_push_different_roles_adds_new ... ok
[INFO] [stdout] test core::messages::tests::test_messages_push_same_role_extends_parts ... ok
[INFO] [stdout] test core::messages::tests::test_messages_with_function_calls ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 86 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests chat_rs
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_max_steps (line 317) - compile ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::build (line 370) - compile ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::Chat<CP,Output>::tool_call (line 147) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::Chat<CP,Unstructured>::complete (line 42) - compile ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_options (line 353) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::Chat<CP,Structured<T>>::complete (line 88) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_model (line 339) ... FAILED
[INFO] [stdout] test src/core/messages/content.rs - core::messages::content::from_model (line 92) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::default (line 392) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::Chat<CP,Output>::call_loop (line 186) ... FAILED
[INFO] [stdout] test src/core/messages/content.rs - core::messages::content::from_user (line 40) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::new (line 258) - compile ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::extract_structured_candidate (line 410) ... FAILED
[INFO] [stdout] test src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::with_structured_output (line 281) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::Messages::last (line 127) ... FAILED
[INFO] [stdout] test src/core/messages/content.rs - core::messages::content::from_system (line 66) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::Messages::len (line 109) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::from_model (line 44) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::Messages::extend (line 87) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::Messages::push (line 63) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::from_system (line 26) ... FAILED
[INFO] [stdout] test src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::to_tool_config (line 44) ... FAILED
[INFO] [stdout] test src/core/messages/mod.rs - core::messages::from_user (line 14) ... FAILED
[INFO] [stdout] test src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::clone_box (line 58) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::clone_box (line 90) ... FAILED
[INFO] [stdout] test src/core/messages/parts.rs - core::messages::parts::Parts::len (line 56) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::clone_box (line 92) ... FAILED
[INFO] [stdout] test src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::to_tool_declaration (line 27) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::is_search (line 29) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::to_tool_config (line 62) ... FAILED
[INFO] [stdout] test src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::tool_key (line 15) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::to_tool_declaration (line 35) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::to_tool_config (line 59) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::tool_key (line 20) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::tool_key (line 15) ... FAILED
[INFO] [stdout] test src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::to_tool_declaration (line 43) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::new (line 54) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_api_key (line 89) ... FAILED
[INFO] [stdout] test src/providers/gemini/lib.rs - providers::gemini::lib::GeminiNativeTool::is_search (line 11) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::build (line 204) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::default (line 41) ... FAILED
[INFO] [stdout] test src/providers/gemini/lib.rs - providers::gemini::lib::Box<dynGeminiNativeTool>::clone (line 32) - compile ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiClient::complete (line 273) - compile ... ok
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_search (line 116) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_code_execution (line 102) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::build_request_body (line 349) - compile ... ok
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_function_calling_mode (line 176) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_maps (line 156) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::build_contents (line 656) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_model (line 73) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_search_threshold (line 134) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::GeminiClient::new (line 249) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::content_to_gemini_with_parts (line 709) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::build_tools_and_config (line 469) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::build_system_instruction (line 623) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::parse_finish_reason (line 915) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::parse_role (line 878) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::part_to_gemini (line 736) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::parse_parts (line 830) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::sanitize_schema_for_gemini (line 537) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::parse_gemini_response (line 783) ... FAILED
[INFO] [stdout] test src/providers/gemini/mod.rs - providers::gemini::validate_combinations (line 416) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_max_steps (line 317) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:318:15
[INFO] [stdout]     |
[INFO] [stdout] 318 | let builder = ChatBuilder::<MockProvider>::new().with_max_steps(3);
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 317 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `MockProvider` in this scope
[INFO] [stdout]    --> src/core/chat.rs:318:29
[INFO] [stdout]     |
[INFO] [stdout] 318 | let builder = ChatBuilder::<MockProvider>::new().with_max_steps(3);
[INFO] [stdout]     |                             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_core_chat_rs_317_0<MockProvider>() {
[INFO] [stdout]     |                                                                             ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::build (line 370) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:371:15
[INFO] [stdout]     |
[INFO] [stdout] 371 | let builder = ChatBuilder::new().with_model(my_model);
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 370 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `my_model` in this scope
[INFO] [stdout]    --> src/core/chat.rs:371:45
[INFO] [stdout]     |
[INFO] [stdout] 371 | let builder = ChatBuilder::new().with_model(my_model);
[INFO] [stdout]     |                                             ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::Chat<CP,Output>::tool_call (line 147) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `futures`
[INFO] [stdout]    --> src/core/chat.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 | let parts = futures::executor::block_on(chat.tool_call(&content)).unwrap();
[INFO] [stdout]     |             ^^^^^^^ use of unresolved module or unlinked crate `futures`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `futures`, use `cargo add futures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Content`
[INFO] [stdout]    --> src/core/chat.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 | let content = Content::default();
[INFO] [stdout]     |               ^^^^^^^ use of undeclared type `Content`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 147 + use chat_rs::messages::content::Content;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Parts`
[INFO] [stdout]    --> src/core/chat.rs:154:19
[INFO] [stdout]     |
[INFO] [stdout] 154 | assert_eq!(parts, Parts::default());
[INFO] [stdout]     |                   ^^^^^ use of undeclared type `Parts`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 147 + use chat_rs::messages::parts::Parts;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/core/chat.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | let chat = /* construct chat with or without tools */ unimplemented!();
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 152 | let content = Content::default();
[INFO] [stdout] 153 | let parts = futures::executor::block_on(chat.tool_call(&content)).unwrap();
[INFO] [stdout]     |                                         ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `chat` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 151 | let chat: /* Type */ = /* construct chat with or without tools */ unimplemented!();
[INFO] [stdout]     |         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::Chat<CP,Unstructured>::complete (line 42) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `core::chat`
[INFO] [stdout]   --> src/core/chat.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | use core::chat::{Chat, Messages};
[INFO] [stdout]    |           ^^^^ help: a similar path exists: `chat_rs::core::chat`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_options (line 353) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:354:15
[INFO] [stdout]     |
[INFO] [stdout] 354 | let builder = ChatBuilder::new().with_options(ChatOptions { /* fields */ });
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 353 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ChatOptions` in this scope
[INFO] [stdout]    --> src/core/chat.rs:354:47
[INFO] [stdout]     |
[INFO] [stdout] 354 | let builder = ChatBuilder::new().with_options(ChatOptions { /* fields */ });
[INFO] [stdout]     |                                               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 353 + use chat_rs::lib::ChatOptions;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `mock_provider` in this scope
[INFO] [stdout]    --> src/core/chat.rs:355:31
[INFO] [stdout]     |
[INFO] [stdout] 355 | let chat = builder.with_model(mock_provider).build();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::Chat<CP,Structured<T>>::complete (line 88) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `futures`
[INFO] [stdout]   --> src/core/chat.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 | let result = futures::executor::block_on(async {
[INFO] [stdout]    |              ^^^^^^^ use of unresolved module or unlinked crate `futures`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `futures`, use `cargo add futures` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `chat` in this scope
[INFO] [stdout]   --> src/core/chat.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     chat.complete(&mut msgs).await
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `msgs` in this scope
[INFO] [stdout]   --> src/core/chat.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     chat.complete(&mut msgs).await
[INFO] [stdout]    |                        ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_model (line 339) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:340:15
[INFO] [stdout]     |
[INFO] [stdout] 340 | let builder = ChatBuilder::new().with_model(my_model);
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 339 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `my_model` in this scope
[INFO] [stdout]    --> src/core/chat.rs:340:45
[INFO] [stdout]     |
[INFO] [stdout] 340 | let builder = ChatBuilder::new().with_model(my_model);
[INFO] [stdout]     |                                             ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/content.rs - core::messages::content::from_model (line 92) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_model` in this scope
[INFO] [stdout]   --> src/core/messages/content.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 | let content = from_model(vec!["generated text"]);
[INFO] [stdout]    |               ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 92 + use chat_rs::messages::content::from_model;
[INFO] [stdout]    |
[INFO] [stdout] 92 + use chat_rs::messages::from_model;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]   --> src/core/messages/content.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 | assert_eq!(content.role, RoleEnum::System);
[INFO] [stdout]    |                          ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 92 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `CompleteReasonEnum`
[INFO] [stdout]   --> src/core/messages/content.rs:95:43
[INFO] [stdout]    |
[INFO] [stdout] 95 | assert!(matches!(content.complete_reason, CompleteReasonEnum::Stop));
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^ use of undeclared type `CompleteReasonEnum`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 92 + use chat_rs::messages::content::CompleteReasonEnum;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::default (line 392) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:393:10
[INFO] [stdout]     |
[INFO] [stdout] 393 | let b1 = ChatBuilder::<()>::new();
[INFO] [stdout]     |          ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 392 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:394:10
[INFO] [stdout]     |
[INFO] [stdout] 394 | let b2 = ChatBuilder::<()>::default();
[INFO] [stdout]     |          ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 392 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::Chat<CP,Output>::call_loop (line 186) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::core`
[INFO] [stdout]    --> src/core/chat.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | use crate::core::{Chat, ChatBuilder, Messages, Unstructured};
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            unresolved import
[INFO] [stdout]     |            help: a similar path exists: `chat_rs::core`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/core/chat.rs:189:45
[INFO] [stdout]     |
[INFO] [stdout] 189 | async fn example(mut chat: Chat<impl crate::core::ChatProvider, Unstructured>, mut msgs: Messages) -> Result<(), crate::core::ChatE...
[INFO] [stdout]     |                                             ^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unresolved import
[INFO] [stdout]     |                                             help: a similar path exists: `chat_rs::core`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/core/chat.rs:189:121
[INFO] [stdout]     |
[INFO] [stdout] 189 | ...t msgs: Messages) -> Result<(), crate::core::ChatError> {
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unresolved import
[INFO] [stdout]     |                                           help: a similar path exists: `chat_rs::core`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/content.rs - core::messages::content::from_user (line 40) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_user` in this scope
[INFO] [stdout]   --> src/core/messages/content.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | let c = from_user(vec!["hello"]);
[INFO] [stdout]    |         ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 40 + use chat_rs::messages::content::from_user;
[INFO] [stdout]    |
[INFO] [stdout] 40 + use chat_rs::messages::from_user;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]   --> src/core/messages/content.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 | assert_eq!(c.role, RoleEnum::User);
[INFO] [stdout]    |                    ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 40 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::new (line 258) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:259:15
[INFO] [stdout]     |
[INFO] [stdout] 259 | let builder = ChatBuilder::<MockProvider>::new();
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 258 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `MockProvider` in this scope
[INFO] [stdout]    --> src/core/chat.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 | let builder = ChatBuilder::<MockProvider>::new();
[INFO] [stdout]     |                             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 258 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_core_chat_rs_258_0<MockProvider>() {
[INFO] [stdout]     |                                                                             ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MockProvider`
[INFO] [stdout]    --> src/core/chat.rs:260:55
[INFO] [stdout]     |
[INFO] [stdout] 260 | let configured = builder.with_max_steps(3).with_model(MockProvider::default());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^ use of undeclared type `MockProvider`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::extract_structured_candidate (line 410) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Content` in this scope
[INFO] [stdout]    --> src/core/chat.rs:414:15
[INFO] [stdout]     |
[INFO] [stdout] 414 | let content = Content { parts: vec![PartEnum::Text("{\"ok\":true}".into())] };
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 410 + use chat_rs::messages::content::Content;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PartEnum`
[INFO] [stdout]    --> src/core/chat.rs:414:37
[INFO] [stdout]     |
[INFO] [stdout] 414 | let content = Content { parts: vec![PartEnum::Text("{\"ok\":true}".into())] };
[INFO] [stdout]     |                                     ^^^^^^^^ use of undeclared type `PartEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 410 + use chat_rs::messages::parts::PartEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Content` in this scope
[INFO] [stdout]    --> src/core/chat.rs:419:15
[INFO] [stdout]     |
[INFO] [stdout] 419 | let content = Content { parts: vec![PartEnum::Structured(json!({"n": 2}))] };
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 410 + use chat_rs::messages::content::Content;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PartEnum`
[INFO] [stdout]    --> src/core/chat.rs:419:37
[INFO] [stdout]     |
[INFO] [stdout] 419 | let content = Content { parts: vec![PartEnum::Structured(json!({"n": 2}))] };
[INFO] [stdout]     |                                     ^^^^^^^^ use of undeclared type `PartEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 410 + use chat_rs::messages::parts::PartEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `extract_structured_candidate` in this scope
[INFO] [stdout]    --> src/core/chat.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 | let v = extract_structured_candidate(&content).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `extract_structured_candidate` in this scope
[INFO] [stdout]    --> src/core/chat.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 | let v = extract_structured_candidate(&content).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::with_structured_output (line 281) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ChatBuilder`
[INFO] [stdout]    --> src/core/chat.rs:291:15
[INFO] [stdout]     |
[INFO] [stdout] 291 | let builder = ChatBuilder::new().with_structured_output::<MyOutput>();
[INFO] [stdout]     |               ^^^^^^^^^^^ use of undeclared type `ChatBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 281 + use chat_rs::chat::ChatBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::Messages::last (line 127) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_user` in this scope
[INFO] [stdout]    --> src/core/messages/mod.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | let msgs = from_user(vec!["hello"]);
[INFO] [stdout]     |            ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]     |
[INFO] [stdout] 127 + use chat_rs::messages::content::from_user;
[INFO] [stdout]     |
[INFO] [stdout] 127 + use chat_rs::messages::from_user;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/content.rs - core::messages::content::from_system (line 66) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_system` in this scope
[INFO] [stdout]   --> src/core/messages/content.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 | let content = from_system(vec!["Initialize system", "Set config"]);
[INFO] [stdout]    |               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 66 + use chat_rs::messages::content::from_system;
[INFO] [stdout]    |
[INFO] [stdout] 66 + use chat_rs::messages::from_system;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]   --> src/core/messages/content.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 | assert_eq!(content.role, RoleEnum::System);
[INFO] [stdout]    |                          ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 66 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::Messages::len (line 109) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::messages`
[INFO] [stdout]    --> src/core/messages/mod.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | use crate::messages::Messages;
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            unresolved import
[INFO] [stdout]     |            help: a similar path exists: `chat_rs::messages`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::from_model (line 44) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_model` in this scope
[INFO] [stdout]   --> src/core/messages/mod.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | let msgs = from_model(vec!["Thinking...", "More details"]);
[INFO] [stdout]    |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 44 + use chat_rs::messages::content::from_model;
[INFO] [stdout]    |
[INFO] [stdout] 44 + use chat_rs::messages::from_model;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::Messages::extend (line 87) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::messages`
[INFO] [stdout]   --> src/core/messages/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | use crate::messages::content;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `chat_rs::messages`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::messages`
[INFO] [stdout]   --> src/core/messages/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | use crate::messages::Messages;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `chat_rs::messages`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::Messages::push (line 63) stdout ----
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Messages` in this scope
[INFO] [stdout]   --> src/core/messages/mod.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 | let mut msgs = Messages(Vec::new());
[INFO] [stdout]    |                ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]    |
[INFO] [stdout] 63 + use chat_rs::messages::Messages;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `content`
[INFO] [stdout]   --> src/core/messages/mod.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | msgs.push(content::from_system(vec!["first"]));
[INFO] [stdout]    |           ^^^^^^^ use of unresolved module or unlinked crate `content`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file src/core/messages/content.rs, use `mod content` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stdout] 63 + mod content;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 63 + use chat_rs::messages::content;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `content`
[INFO] [stdout]   --> src/core/messages/mod.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | msgs.push(content::from_system(vec!["second"]));
[INFO] [stdout]    |           ^^^^^^^ use of unresolved module or unlinked crate `content`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file src/core/messages/content.rs, use `mod content` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stdout] 63 + mod content;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 63 + use chat_rs::messages::content;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::from_system (line 26) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_system` in this scope
[INFO] [stdout]   --> src/core/messages/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | let msgs = from_system(vec!["You are a helpful assistant."]);
[INFO] [stdout]    |            ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 26 + use chat_rs::messages::content::from_system;
[INFO] [stdout]    |
[INFO] [stdout] 26 + use chat_rs::messages::from_system;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::to_tool_config (line 44) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/providers/gemini/code_execution.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | let tool = crate::providers::gemini::code_execution::CodeExecutionTool;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   unresolved import
[INFO] [stdout]    |                   help: a similar path exists: `chat_rs::providers`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/mod.rs - core::messages::from_user (line 14) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `from_user` in this scope
[INFO] [stdout]   --> src/core/messages/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | let msgs = from_user(vec!["Hello", "How are you?"]);
[INFO] [stdout]    |            ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these functions
[INFO] [stdout]    |
[INFO] [stdout] 14 + use chat_rs::messages::content::from_user;
[INFO] [stdout]    |
[INFO] [stdout] 14 + use chat_rs::messages::from_user;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::clone_box (line 58) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `CodeExecutionTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/code_execution.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | let tool = CodeExecutionTool {};
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `GeminiNativeTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/code_execution.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 60 | let boxed: Box<dyn GeminiNativeTool> = tool.clone_box();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 58 + use chat_rs::gemini::lib::GeminiNativeTool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0422.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::clone_box (line 90) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleSearchTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_search.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | let orig = GoogleSearchTool { dynamic_threshold: Some(0.5) };
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `GeminiNativeTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_search.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 | let boxed: Box<dyn GeminiNativeTool> = orig.clone_box();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 90 + use chat_rs::gemini::lib::GeminiNativeTool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0422.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/messages/parts.rs - core::messages::parts::Parts::len (line 56) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/core/messages/parts.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | use crate::core::messages::parts::{Parts, PartEnum};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `chat_rs::core`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::clone_box (line 92) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleMapsTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_maps.rs:93:16
[INFO] [stdout]    |
[INFO] [stdout] 93 | let original = GoogleMapsTool { lat_lng: Some((37.422, -122.084)), enable_widget: true };
[INFO] [stdout]    |                ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::to_tool_declaration (line 27) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `CodeExecutionTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/code_execution.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | let decl = CodeExecutionTool.to_tool_declaration();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::is_search (line 29) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleSearchTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_search.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | let tool = GoogleSearchTool { dynamic_threshold: None };
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::to_tool_config (line 62) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleSearchTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_search.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | let tool = GoogleSearchTool { dynamic_threshold: Some(0.75) };
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::tool_key (line 15) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `CodeExecutionTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/code_execution.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | let tool = CodeExecutionTool;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::to_tool_declaration (line 35) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleMapsTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_maps.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | let tool = GoogleMapsTool { lat_lng: None, enable_widget: true };
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::to_tool_config (line 59) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/providers/gemini/google_maps.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 | let tool = crate::providers::gemini::google_maps::GoogleMapsTool {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   unresolved import
[INFO] [stdout]    |                   help: a similar path exists: `chat_rs::providers`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::tool_key (line 20) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/providers/gemini/google_maps.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | let tool = crate::providers::gemini::google_maps::GoogleMapsTool { lat_lng: None, enable_widget: false };
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   unresolved import
[INFO] [stdout]    |                   help: a similar path exists: `chat_rs::providers`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::tool_key (line 15) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleSearchTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_search.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | let t = GoogleSearchTool { dynamic_threshold: None };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::to_tool_declaration (line 43) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `GoogleSearchTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/google_search.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | let tool = GoogleSearchTool { dynamic_threshold: None };
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::new (line 54) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]   --> src/providers/gemini/mod.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 | let mut builder = GeminiBuilder::new();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 54 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_api_key (line 89) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]   --> src/providers/gemini/mod.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 | let mut builder = GeminiBuilder::new();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 89 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/lib.rs - providers::gemini::lib::GeminiNativeTool::is_search (line 11) stdout ----
[INFO] [stdout] error[E0405]: cannot find trait `GeminiNativeTool` in the crate root
[INFO] [stdout]   --> src/providers/gemini/lib.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl crate::GeminiNativeTool for MyTool {}
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ not found in the crate root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 11 + use chat_rs::gemini::lib::GeminiNativeTool;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `GeminiNativeTool`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 14 - impl crate::GeminiNativeTool for MyTool {}
[INFO] [stdout] 14 + impl GeminiNativeTool for MyTool {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::build (line 204) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 205 | let mut builder = GeminiBuilder::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 204 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:212:14
[INFO] [stdout]     |
[INFO] [stdout] 212 | let mut b2 = GeminiBuilder::new();
[INFO] [stdout]     |              ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 204 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::default (line 41) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]   --> src/providers/gemini/mod.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | let _builder = GeminiBuilder::default();
[INFO] [stdout]    |                ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 41 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/lib.rs - providers::gemini::lib::Box<dynGeminiNativeTool>::clone (line 32) stdout ----
[INFO] [stdout] error[E0405]: cannot find trait `GeminiNativeTool` in this scope
[INFO] [stdout]   --> src/providers/gemini/lib.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 | let boxed: Box<dyn GeminiNativeTool> = /* create a tool */ unimplemented!();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 32 + use chat_rs::gemini::lib::GeminiNativeTool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_search (line 116) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 | let mut builder = GeminiBuilder::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 116 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_code_execution (line 102) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 | let mut b = GeminiBuilder::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 102 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_function_calling_mode (line 176) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 | let mut b = GeminiBuilder::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 176 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_maps (line 156) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:157:19
[INFO] [stdout]     |
[INFO] [stdout] 157 | let mut builder = GeminiBuilder::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 156 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::build_contents (line 656) stdout ----
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Messages` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:658:16
[INFO] [stdout]     |
[INFO] [stdout] 658 | let messages = Messages(vec![
[INFO] [stdout]     |                ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout] 656 + use chat_rs::messages::Messages;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Content` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     Content { role: RoleEnum::User, parts: Parts(vec![PartEnum::Text("hi".into())]) },
[INFO] [stdout]     |     ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 656 + use chat_rs::messages::content::Content;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |     Content { role: RoleEnum::User, parts: Parts(vec![PartEnum::Text("hi".into())]) },
[INFO] [stdout]     |                     ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 656 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Parts` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:659:44
[INFO] [stdout]     |
[INFO] [stdout] 659 |     Content { role: RoleEnum::User, parts: Parts(vec![PartEnum::Text("hi".into())]) },
[INFO] [stdout]     |                                            ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout] 656 + use chat_rs::messages::parts::Parts;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PartEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:659:55
[INFO] [stdout]     |
[INFO] [stdout] 659 |     Content { role: RoleEnum::User, parts: Parts(vec![PartEnum::Text("hi".into())]) },
[INFO] [stdout]     |                                                       ^^^^^^^^ use of undeclared type `PartEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 656 + use chat_rs::messages::parts::PartEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `build_contents` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:661:12
[INFO] [stdout]     |
[INFO] [stdout] 661 | let body = build_contents(&messages);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_model (line 73) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]   --> src/providers/gemini/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 | let mut b = GeminiBuilder::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 73 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_search_threshold (line 134) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GeminiBuilder`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 | let mut b = GeminiBuilder::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ use of undeclared type `GeminiBuilder`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 134 + use chat_rs::gemini::GeminiBuilder;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::GeminiClient::new (line 249) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/providers/gemini/mod.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 | let client = crate::providers::gemini::GeminiClient::new("gemini-2.0-flash-exp").unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 253 | let client = crate::chat_rs::providers::gemini::GeminiClient::new("gemini-2.0-flash-exp").unwrap();
[INFO] [stdout]     |                     +++++++++
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 249 + use chat_rs::gemini::GeminiClient;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `GeminiClient`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 253 - let client = crate::providers::gemini::GeminiClient::new("gemini-2.0-flash-exp").unwrap();
[INFO] [stdout] 253 + let client = GeminiClient::new("gemini-2.0-flash-exp").unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::content_to_gemini_with_parts (line 709) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Content` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:712:15
[INFO] [stdout]     |
[INFO] [stdout] 712 | let content = Content { role: RoleEnum::User, ..Default::default() };
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 709 + use chat_rs::messages::content::Content;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:712:31
[INFO] [stdout]     |
[INFO] [stdout] 712 | let content = Content { role: RoleEnum::User, ..Default::default() };
[INFO] [stdout]     |                               ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 709 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `content_to_gemini_with_parts` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:714:14
[INFO] [stdout]     |
[INFO] [stdout] 714 | let gemini = content_to_gemini_with_parts(&content, parts);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::build_tools_and_config (line 469) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/providers/gemini/mod.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 | let res = crate::providers::gemini::build_tools_and_config(None, &[], None).unwrap();
[INFO] [stdout]     |                  ^^^^^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 471 | let res = crate::chat_rs::providers::gemini::build_tools_and_config(None, &[], None).unwrap();
[INFO] [stdout]     |                  +++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 469 + use chat_rs::gemini;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `gemini`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 471 - let res = crate::providers::gemini::build_tools_and_config(None, &[], None).unwrap();
[INFO] [stdout] 471 + let res = gemini::build_tools_and_config(None, &[], None).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::build_system_instruction (line 623) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `messages` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:625:43
[INFO] [stdout]     |
[INFO] [stdout] 625 | let maybe_sys = build_system_instruction(&messages);
[INFO] [stdout]     |                                           ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `build_system_instruction` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:625:17
[INFO] [stdout]     |
[INFO] [stdout] 625 | let maybe_sys = build_system_instruction(&messages);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/providers/gemini/mod.rs:628:13
[INFO] [stdout]     |
[INFO] [stdout] 628 |     assert!(obj.get("parts").is_some());
[INFO] [stdout]     |             ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::parse_finish_reason (line 915) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse_finish_reason` in the crate root
[INFO] [stdout]    --> src/providers/gemini/mod.rs:918:19
[INFO] [stdout]     |
[INFO] [stdout] 918 | assert_eq!(crate::parse_finish_reason(&c), CompleteReasonEnum::Stop);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ not found in the crate root
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `CompleteReasonEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:918:44
[INFO] [stdout]     |
[INFO] [stdout] 918 | assert_eq!(crate::parse_finish_reason(&c), CompleteReasonEnum::Stop);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^ use of undeclared type `CompleteReasonEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 915 + use chat_rs::messages::content::CompleteReasonEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse_finish_reason` in the crate root
[INFO] [stdout]    --> src/providers/gemini/mod.rs:921:19
[INFO] [stdout]     |
[INFO] [stdout] 921 | assert_eq!(crate::parse_finish_reason(&c2), CompleteReasonEnum::None);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ not found in the crate root
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `CompleteReasonEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:921:45
[INFO] [stdout]     |
[INFO] [stdout] 921 | assert_eq!(crate::parse_finish_reason(&c2), CompleteReasonEnum::None);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^ use of undeclared type `CompleteReasonEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 915 + use chat_rs::messages::content::CompleteReasonEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::parse_role (line 878) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:882:31
[INFO] [stdout]     |
[INFO] [stdout] 882 | assert_eq!(parse_role(&user), RoleEnum::User);
[INFO] [stdout]     |                               ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 878 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:885:33
[INFO] [stdout]     |
[INFO] [stdout] 885 | assert_eq!(parse_role(&system), RoleEnum::System);
[INFO] [stdout]     |                                 ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 878 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:888:31
[INFO] [stdout]     |
[INFO] [stdout] 888 | assert_eq!(parse_role(&func), RoleEnum::Model);
[INFO] [stdout]     |                               ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 878 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RoleEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:891:34
[INFO] [stdout]     |
[INFO] [stdout] 891 | assert_eq!(parse_role(&missing), RoleEnum::Model);
[INFO] [stdout]     |                                  ^^^^^^^^ use of undeclared type `RoleEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 878 + use chat_rs::messages::content::RoleEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse_role` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:882:12
[INFO] [stdout]     |
[INFO] [stdout] 882 | assert_eq!(parse_role(&user), RoleEnum::User);
[INFO] [stdout]     |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse_role` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:885:12
[INFO] [stdout]     |
[INFO] [stdout] 885 | assert_eq!(parse_role(&system), RoleEnum::System);
[INFO] [stdout]     |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse_role` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:888:12
[INFO] [stdout]     |
[INFO] [stdout] 888 | assert_eq!(parse_role(&func), RoleEnum::Model);
[INFO] [stdout]     |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `parse_role` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:891:12
[INFO] [stdout]     |
[INFO] [stdout] 891 | assert_eq!(parse_role(&missing), RoleEnum::Model);
[INFO] [stdout]     |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::part_to_gemini (line 736) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PartEnum`
[INFO] [stdout]    --> src/providers/gemini/mod.rs:739:9
[INFO] [stdout]     |
[INFO] [stdout] 739 | let p = PartEnum::Text(String::from("hello"));
[INFO] [stdout]     |         ^^^^^^^^ use of undeclared type `PartEnum`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 736 + use chat_rs::messages::parts::PartEnum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `part_to_gemini` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:740:16
[INFO] [stdout]     |
[INFO] [stdout] 740 | let v: Value = part_to_gemini(&p);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::parse_parts (line 830) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse_parts` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:838:13
[INFO] [stdout]     |
[INFO] [stdout] 838 | let parts = parse_parts(&content).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::sanitize_schema_for_gemini (line 537) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `sanitize_schema_for_gemini` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:552:1
[INFO] [stdout]     |
[INFO] [stdout] 552 | sanitize_schema_for_gemini(&mut schema);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::parse_gemini_response (line 783) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/providers/gemini/mod.rs:798:22
[INFO] [stdout]     |
[INFO] [stdout] 798 | let content = crate::providers::gemini::parse_gemini_response(&resp).unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 798 | let content = crate::chat_rs::providers::gemini::parse_gemini_response(&resp).unwrap();
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 783 + use chat_rs::gemini;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `gemini`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 798 - let content = crate::providers::gemini::parse_gemini_response(&resp).unwrap();
[INFO] [stdout] 798 + let content = gemini::parse_gemini_response(&resp).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/providers/gemini/mod.rs - providers::gemini::validate_combinations (line 416) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `validate_combinations` in this scope
[INFO] [stdout]    --> src/providers/gemini/mod.rs:418:1
[INFO] [stdout]     |
[INFO] [stdout] 418 | validate_combinations(None, None, &[]);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/core/chat.rs - core::chat::Chat<CP,Output>::call_loop (line 186)
[INFO] [stdout]     src/core/chat.rs - core::chat::Chat<CP,Output>::tool_call (line 147)
[INFO] [stdout]     src/core/chat.rs - core::chat::Chat<CP,Structured<T>>::complete (line 88)
[INFO] [stdout]     src/core/chat.rs - core::chat::Chat<CP,Unstructured>::complete (line 42)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::build (line 370)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_max_steps (line 317)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_model (line 339)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Output>::with_options (line 353)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::default (line 392)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::new (line 258)
[INFO] [stdout]     src/core/chat.rs - core::chat::ChatBuilder<CP,Unstructured>::with_structured_output (line 281)
[INFO] [stdout]     src/core/chat.rs - core::chat::extract_structured_candidate (line 410)
[INFO] [stdout]     src/core/messages/content.rs - core::messages::content::from_model (line 92)
[INFO] [stdout]     src/core/messages/content.rs - core::messages::content::from_system (line 66)
[INFO] [stdout]     src/core/messages/content.rs - core::messages::content::from_user (line 40)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::Messages::extend (line 87)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::Messages::last (line 127)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::Messages::len (line 109)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::Messages::push (line 63)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::from_model (line 44)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::from_system (line 26)
[INFO] [stdout]     src/core/messages/mod.rs - core::messages::from_user (line 14)
[INFO] [stdout]     src/core/messages/parts.rs - core::messages::parts::Parts::len (line 56)
[INFO] [stdout]     src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::clone_box (line 58)
[INFO] [stdout]     src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::to_tool_config (line 44)
[INFO] [stdout]     src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::to_tool_declaration (line 27)
[INFO] [stdout]     src/providers/gemini/code_execution.rs - providers::gemini::code_execution::CodeExecutionTool::tool_key (line 15)
[INFO] [stdout]     src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::clone_box (line 92)
[INFO] [stdout]     src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::to_tool_config (line 59)
[INFO] [stdout]     src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::to_tool_declaration (line 35)
[INFO] [stdout]     src/providers/gemini/google_maps.rs - providers::gemini::google_maps::GoogleMapsTool::tool_key (line 20)
[INFO] [stdout]     src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::clone_box (line 90)
[INFO] [stdout]     src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::is_search (line 29)
[INFO] [stdout]     src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::to_tool_config (line 62)
[INFO] [stdout]     src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::to_tool_declaration (line 43)
[INFO] [stdout]     src/providers/gemini/google_search.rs - providers::gemini::google_search::GoogleSearchTool::tool_key (line 15)
[INFO] [stdout]     src/providers/gemini/lib.rs - providers::gemini::lib::Box<dynGeminiNativeTool>::clone (line 32)
[INFO] [stdout]     src/providers/gemini/lib.rs - providers::gemini::lib::GeminiNativeTool::is_search (line 11)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::build (line 204)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::default (line 41)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::new (line 54)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_api_key (line 89)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_code_execution (line 102)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_function_calling_mode (line 176)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_maps (line 156)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_search (line 116)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_google_search_threshold (line 134)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiBuilder::with_model (line 73)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::GeminiClient::new (line 249)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::build_contents (line 656)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::build_system_instruction (line 623)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::build_tools_and_config (line 469)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::content_to_gemini_with_parts (line 709)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::parse_finish_reason (line 915)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::parse_gemini_response (line 783)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::parse_parts (line 830)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::parse_role (line 878)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::part_to_gemini (line 736)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::sanitize_schema_for_gemini (line 537)
[INFO] [stdout]     src/providers/gemini/mod.rs - providers::gemini::validate_combinations (line 416)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 60 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.89s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 6.41s; merged doctests compilation took 0.49s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "a4f4be887cec35c2a14ad0ad28f764e0064c43e58d0f48c642d46fd332ce43ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4f4be887cec35c2a14ad0ad28f764e0064c43e58d0f48c642d46fd332ce43ad", kill_on_drop: false }`
[INFO] [stdout] a4f4be887cec35c2a14ad0ad28f764e0064c43e58d0f48c642d46fd332ce43ad
