[INFO] cloning repository https://github.com/bczaicki/ola [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bczaicki/ola" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbczaicki%2Fola", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbczaicki%2Fola'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6e6e83883e2da031f07cefe8510e67b5f998a0d5 [INFO] testing bczaicki/ola against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbczaicki%2Fola" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/bczaicki/ola [INFO] finished tweaking git repo https://github.com/bczaicki/ola [INFO] tweaked toml for git repo https://github.com/bczaicki/ola written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/bczaicki/ola on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/bczaicki/ola 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b44fb0672a9566e37a0bcf26b74f3779486c7e0930b98032ff468fcacccc82d6 [INFO] running `Command { std: "docker" "start" "-a" "b44fb0672a9566e37a0bcf26b74f3779486c7e0930b98032ff468fcacccc82d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b44fb0672a9566e37a0bcf26b74f3779486c7e0930b98032ff468fcacccc82d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b44fb0672a9566e37a0bcf26b74f3779486c7e0930b98032ff468fcacccc82d6", kill_on_drop: false }` [INFO] [stdout] b44fb0672a9566e37a0bcf26b74f3779486c7e0930b98032ff468fcacccc82d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b07e3feb5638e4d4af1b44e2f5c8e1ead35fc9868c7e1d16405492debd08461e [INFO] running `Command { std: "docker" "start" "-a" "b07e3feb5638e4d4af1b44e2f5c8e1ead35fc9868c7e1d16405492debd08461e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.16 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling litemap v0.7.4 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling bitflags v2.8.0 [INFO] [stderr] Compiling cc v1.2.12 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling openssl v0.10.70 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling native-tls v0.2.13 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling httparse v1.10.0 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling log v0.4.25 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling ryu v1.0.19 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling indexmap v2.7.1 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling portable-atomic v1.11.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling serde_json v1.0.138 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling console v0.15.10 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Compiling clap_lex v0.7.4 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling openssl-sys v0.9.105 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling clap_builder v4.5.27 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling shell-words v1.1.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling tempfile v3.16.0 [INFO] [stderr] Compiling dialoguer v0.10.4 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling zerofrom v0.1.5 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling clap v4.5.28 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling ola v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/prompt.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/api/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/api/gemini.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_thinking` [INFO] [stdout] --> src/prompt.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | no_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter_thinking` [INFO] [stdout] --> src/prompt.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | filter_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/prompt.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/api/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/api/gemini.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `copy_to_clipboard` and `is_clipboard_available` [INFO] [stdout] --> src/utils/mod.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | pub use clipboard::{copy_to_clipboard, is_clipboard_available}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `print_colored`, `print_error`, `print_success`, and `println_colored` [INFO] [stdout] --> src/utils/mod.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | pub use output::{print_colored, println_colored, print_error, print_success}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `append_to_log` and `read_from_stdin` [INFO] [stdout] --> src/utils/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use piping::{read_from_stdin, append_to_log}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_thinking` [INFO] [stdout] --> src/prompt.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | no_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter_thinking` [INFO] [stdout] --> src/prompt.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | filter_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PromptResult` is never constructed [INFO] [stdout] --> src/prompt.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct PromptResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `structure_reasoning_test` is never used [INFO] [stdout] --> src/prompt.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn structure_reasoning_test( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stream_non_think_test` is never used [INFO] [stdout] --> src/prompt.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn stream_non_think_test( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_provider_name` is never used [INFO] [stdout] --> src/api/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub trait Provider { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 19 | fn send_prompt(&self, prompt: &str, model: &str, stream: bool) -> Result>; [INFO] [stdout] 20 | fn get_provider_name(&self) -> &str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_prompt` and `get_provider_name` are never used [INFO] [stdout] --> src/api/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl ApiClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn send_prompt(&self, prompt: &str, model: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_provider_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_clipboard_available` is never used [INFO] [stdout] --> src/utils/clipboard.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn is_clipboard_available() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Yellow`, `Blue`, `Cyan`, `Magenta`, and `Gray` are never constructed [INFO] [stdout] --> src/utils/output.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Color { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | Yellow, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | Blue, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Cyan, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | Magenta, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | Gray, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_colored` is never used [INFO] [stdout] --> src/utils/output.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn print_colored(text: &str, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `println_colored` is never used [INFO] [stdout] --> src/utils/output.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn println_colored(text: &str, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_thinking_animation` is never used [INFO] [stdout] --> src/utils/output.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn print_thinking_animation(emoji: &str, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clear_line` is never used [INFO] [stdout] --> src/utils/output.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn clear_line() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_divider` is never used [INFO] [stdout] --> src/utils/output.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn print_divider(quiet: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_receiving_pipe` is never used [INFO] [stdout] --> src/utils/piping.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn is_receiving_pipe() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "b07e3feb5638e4d4af1b44e2f5c8e1ead35fc9868c7e1d16405492debd08461e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b07e3feb5638e4d4af1b44e2f5c8e1ead35fc9868c7e1d16405492debd08461e", kill_on_drop: false }` [INFO] [stdout] b07e3feb5638e4d4af1b44e2f5c8e1ead35fc9868c7e1d16405492debd08461e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b032f33691cbb09555595aa10f42ae3886b2f0aecea7a27e08d527edc124deb2 [INFO] running `Command { std: "docker" "start" "-a" "b032f33691cbb09555595aa10f42ae3886b2f0aecea7a27e08d527edc124deb2", kill_on_drop: false }` [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling http v1.2.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling zerocopy v0.8.23 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling assert_cmd v2.0.16 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling colored v3.0.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling tempfile v3.16.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling dialoguer v0.10.4 [INFO] [stderr] Compiling test-case-macros v3.3.1 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling test-case v3.3.1 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling http-body-util v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling bstr v1.11.3 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling h2 v0.4.8 [INFO] [stderr] Compiling hyper v1.6.0 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper-util v0.1.10 [INFO] [stderr] Compiling mockito v1.7.0 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling ola v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/prompt.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/api/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/api/gemini.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_thinking` [INFO] [stdout] --> src/prompt.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | no_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter_thinking` [INFO] [stdout] --> src/prompt.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | filter_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_main_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_prompt_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as StdCommand` [INFO] [stdout] --> tests/cli_prompt_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::Command as StdCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> tests/cli_prompt_test.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_non_think_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_configure_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> tests/cli_configure_test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> tests/cli_non_think_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_models_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> tests/common/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_main_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_prompt_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as StdCommand` [INFO] [stdout] --> tests/cli_prompt_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::Command as StdCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> tests/cli_prompt_test.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_non_think_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> tests/cli_non_think_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_configure_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> tests/cli_configure_test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_settings_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> tests/cli_settings_test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_models_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_session_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mock` [INFO] [stdout] --> tests/config_test.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use mockito::{Server, Mock}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_session_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mock` [INFO] [stdout] --> tests/config_test.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use mockito::{Server, Mock}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/common/mod.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut server = Server::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/config_test.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut server = Server::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `predicates::prelude::*` [INFO] [stdout] --> tests/cli_settings_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use predicates::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> tests/cli_settings_test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/prompt_test.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut server = Server::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mock_openai_api` is never used [INFO] [stdout] --> tests/common/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn mock_openai_api() -> Mock { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mock_anthropic_api` is never used [INFO] [stdout] --> tests/common/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn mock_anthropic_api() -> Mock { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mock_ollama_api` is never used [INFO] [stdout] --> tests/common/mod.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn mock_ollama_api() -> Mock { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_temp_config` is never used [INFO] [stdout] --> tests/common/mod.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn setup_temp_config(provider: &str) -> TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_temp_settings` is never used [INFO] [stdout] --> tests/common/mod.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn setup_temp_settings() -> TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/prompt_test.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut server = Server::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/config_test.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut server = Server::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/prompt.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/api/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/api/gemini.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/prompt.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/api/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/api/gemini.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `copy_to_clipboard` and `is_clipboard_available` [INFO] [stdout] --> src/utils/mod.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | pub use clipboard::{copy_to_clipboard, is_clipboard_available}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `print_colored`, `print_error`, `print_success`, and `println_colored` [INFO] [stdout] --> src/utils/mod.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | pub use output::{print_colored, println_colored, print_error, print_success}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `append_to_log` and `read_from_stdin` [INFO] [stdout] --> src/utils/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use piping::{read_from_stdin, append_to_log}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/prompt.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/prompt.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/api/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead` and `Write` [INFO] [stdout] --> src/api/gemini.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufRead, Write}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `copy_to_clipboard` and `is_clipboard_available` [INFO] [stdout] --> src/utils/mod.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | pub use clipboard::{copy_to_clipboard, is_clipboard_available}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `print_colored`, `print_error`, `print_success`, and `println_colored` [INFO] [stdout] --> src/utils/mod.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | pub use output::{print_colored, println_colored, print_error, print_success}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `append_to_log` and `read_from_stdin` [INFO] [stdout] --> src/utils/mod.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | pub use piping::{read_from_stdin, append_to_log}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_thinking` [INFO] [stdout] --> src/prompt.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | no_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter_thinking` [INFO] [stdout] --> src/prompt.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | filter_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_thinking` [INFO] [stdout] --> src/prompt.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | no_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter_thinking` [INFO] [stdout] --> src/prompt.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | filter_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `no_thinking` [INFO] [stdout] --> src/prompt.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | no_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_data` [INFO] [stdout] --> src/prompt.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let input_data = if let Some(ctx) = context { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clipboard` [INFO] [stdout] --> src/prompt.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | clipboard: bool, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter_thinking` [INFO] [stdout] --> src/prompt.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | filter_thinking: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PromptResult` is never constructed [INFO] [stdout] --> src/prompt.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct PromptResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `structure_reasoning_test` is never used [INFO] [stdout] --> src/prompt.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn structure_reasoning_test( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stream_non_think_test` is never used [INFO] [stdout] --> src/prompt.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn stream_non_think_test( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_provider_name` is never used [INFO] [stdout] --> src/api/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub trait Provider { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 19 | fn send_prompt(&self, prompt: &str, model: &str, stream: bool) -> Result>; [INFO] [stdout] 20 | fn get_provider_name(&self) -> &str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_prompt` and `get_provider_name` are never used [INFO] [stdout] --> src/api/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl ApiClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn send_prompt(&self, prompt: &str, model: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_provider_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_clipboard_available` is never used [INFO] [stdout] --> src/utils/clipboard.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn is_clipboard_available() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Yellow`, `Blue`, `Cyan`, `Magenta`, and `Gray` are never constructed [INFO] [stdout] --> src/utils/output.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Color { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | Yellow, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | Blue, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Cyan, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | Magenta, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | Gray, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_colored` is never used [INFO] [stdout] --> src/utils/output.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn print_colored(text: &str, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `println_colored` is never used [INFO] [stdout] --> src/utils/output.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn println_colored(text: &str, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_thinking_animation` is never used [INFO] [stdout] --> src/utils/output.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn print_thinking_animation(emoji: &str, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clear_line` is never used [INFO] [stdout] --> src/utils/output.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn clear_line() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_divider` is never used [INFO] [stdout] --> src/utils/output.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn print_divider(quiet: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_receiving_pipe` is never used [INFO] [stdout] --> src/utils/piping.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn is_receiving_pipe() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PromptResult` is never constructed [INFO] [stdout] --> src/prompt.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct PromptResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `structure_reasoning_test` is never used [INFO] [stdout] --> src/prompt.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn structure_reasoning_test( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stream_non_think_test` is never used [INFO] [stdout] --> src/prompt.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn stream_non_think_test( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_provider_name` is never used [INFO] [stdout] --> src/api/mod.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub trait Provider { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 19 | fn send_prompt(&self, prompt: &str, model: &str, stream: bool) -> Result>; [INFO] [stdout] 20 | fn get_provider_name(&self) -> &str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_prompt` and `get_provider_name` are never used [INFO] [stdout] --> src/api/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl ApiClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn send_prompt(&self, prompt: &str, model: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_provider_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_clipboard_available` is never used [INFO] [stdout] --> src/utils/clipboard.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn is_clipboard_available() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Yellow`, `Blue`, `Cyan`, `Magenta`, and `Gray` are never constructed [INFO] [stdout] --> src/utils/output.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Color { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | Yellow, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | Blue, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Cyan, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | Magenta, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | Gray, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_colored` is never used [INFO] [stdout] --> src/utils/output.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn print_colored(text: &str, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `println_colored` is never used [INFO] [stdout] --> src/utils/output.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn println_colored(text: &str, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_thinking_animation` is never used [INFO] [stdout] --> src/utils/output.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn print_thinking_animation(emoji: &str, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clear_line` is never used [INFO] [stdout] --> src/utils/output.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn clear_line() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_divider` is never used [INFO] [stdout] --> src/utils/output.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn print_divider(quiet: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_receiving_pipe` is never used [INFO] [stdout] --> src/utils/piping.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn is_receiving_pipe() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 40.54s [INFO] running `Command { std: "docker" "inspect" "b032f33691cbb09555595aa10f42ae3886b2f0aecea7a27e08d527edc124deb2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b032f33691cbb09555595aa10f42ae3886b2f0aecea7a27e08d527edc124deb2", kill_on_drop: false }` [INFO] [stdout] b032f33691cbb09555595aa10f42ae3886b2f0aecea7a27e08d527edc124deb2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7fd8cc9bc0f3c8b02d7581ebb1ec4497973fb4b9d229a5640d7c9f5da99da98a [INFO] running `Command { std: "docker" "start" "-a" "7fd8cc9bc0f3c8b02d7581ebb1ec4497973fb4b9d229a5640d7c9f5da99da98a", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `BufRead` and `Write` [INFO] [stderr] --> src/prompt.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{BufRead, Write}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/prompt.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/api/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/api/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead` and `Write` [INFO] [stderr] --> src/api/gemini.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{BufRead, Write}; [INFO] [stderr] | ^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input_data` [INFO] [stderr] --> src/prompt.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | let input_data = if let Some(ctx) = context { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `clipboard` [INFO] [stderr] --> src/prompt.rs:227:5 [INFO] [stderr] | [INFO] [stderr] 227 | clipboard: bool, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `no_thinking` [INFO] [stderr] --> src/prompt.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | no_thinking: bool, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_thinking` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input_data` [INFO] [stderr] --> src/prompt.rs:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | let input_data = if let Some(ctx) = context { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `clipboard` [INFO] [stderr] --> src/prompt.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | clipboard: bool, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clipboard` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `filter_thinking` [INFO] [stderr] --> src/prompt.rs:275:5 [INFO] [stderr] | [INFO] [stderr] 275 | filter_thinking: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_thinking` [INFO] [stderr] [INFO] [stderr] warning: `ola` (lib) generated 11 warnings (run `cargo fix --lib -p ola` to apply 5 suggestions) [INFO] [stderr] warning: `ola` (lib test) generated 11 warnings (11 duplicates) [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> tests/common/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_main_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_prompt_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Command as StdCommand` [INFO] [stderr] --> tests/cli_prompt_test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::Command as StdCommand; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tempfile::tempdir` [INFO] [stderr] --> tests/cli_prompt_test.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use tempfile::tempdir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_non_think_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tempfile::tempdir` [INFO] [stderr] --> tests/cli_non_think_test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use tempfile::tempdir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_configure_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> tests/cli_configure_test.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_settings_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> tests/cli_settings_test.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_models_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_session_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mock` [INFO] [stderr] --> tests/config_test.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | use mockito::{Server, Mock}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/common/mod.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | let mut server = Server::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/config_test.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let mut server = Server::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/prompt_test.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let mut server = Server::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function `mock_openai_api` is never used [INFO] [stderr] --> tests/common/mod.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn mock_openai_api() -> Mock { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `mock_anthropic_api` is never used [INFO] [stderr] --> tests/common/mod.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn mock_anthropic_api() -> Mock { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `mock_ollama_api` is never used [INFO] [stderr] --> tests/common/mod.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn mock_ollama_api() -> Mock { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `setup_temp_config` is never used [INFO] [stderr] --> tests/common/mod.rs:62:8 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn setup_temp_config(provider: &str) -> TempDir { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `setup_temp_settings` is never used [INFO] [stderr] --> tests/common/mod.rs:109:8 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn setup_temp_settings() -> TempDir { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mock` [INFO] [stderr] --> tests/config_test.rs:4:23 [INFO] [stderr] | [INFO] [stderr] 4 | use mockito::{Server, Mock}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/config_test.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let mut server = Server::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `copy_to_clipboard` and `is_clipboard_available` [INFO] [stderr] --> src/utils/mod.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | pub use clipboard::{copy_to_clipboard, is_clipboard_available}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `print_colored`, `print_error`, `print_success`, and `println_colored` [INFO] [stderr] --> src/utils/mod.rs:8:18 [INFO] [stderr] | [INFO] [stderr] 8 | pub use output::{print_colored, println_colored, print_error, print_success}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `append_to_log` and `read_from_stdin` [INFO] [stderr] --> src/utils/mod.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | pub use piping::{read_from_stdin, append_to_log}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PromptResult` is never constructed [INFO] [stderr] --> src/prompt.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct PromptResult { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `structure_reasoning_test` is never used [INFO] [stderr] --> src/prompt.rs:223:8 [INFO] [stderr] | [INFO] [stderr] 223 | pub fn structure_reasoning_test( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `stream_non_think_test` is never used [INFO] [stderr] --> src/prompt.rs:271:8 [INFO] [stderr] | [INFO] [stderr] 271 | pub fn stream_non_think_test( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_provider_name` is never used [INFO] [stderr] --> src/api/mod.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 18 | pub trait Provider { [INFO] [stderr] | -------- method in this trait [INFO] [stderr] 19 | fn send_prompt(&self, prompt: &str, model: &str, stream: bool) -> Result>; [INFO] [stderr] 20 | fn get_provider_name(&self) -> &str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `send_prompt` and `get_provider_name` are never used [INFO] [stderr] --> src/api/mod.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 28 | impl ApiClient { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 43 | pub fn send_prompt(&self, prompt: &str, model: &str) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn get_provider_name(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_clipboard_available` is never used [INFO] [stderr] --> src/utils/clipboard.rs:42:8 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn is_clipboard_available() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Yellow`, `Blue`, `Cyan`, `Magenta`, and `Gray` are never constructed [INFO] [stderr] --> src/utils/output.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum Color { [INFO] [stderr] | ----- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 8 | Yellow, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 9 | Blue, [INFO] [stderr] | ^^^^ [INFO] [stderr] 10 | Cyan, [INFO] [stderr] | ^^^^ [INFO] [stderr] 11 | Magenta, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 12 | Gray, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `print_colored` is never used [INFO] [stderr] --> src/utils/output.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn print_colored(text: &str, color: Color) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `println_colored` is never used [INFO] [stderr] --> src/utils/output.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn println_colored(text: &str, color: Color) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `print_thinking_animation` is never used [INFO] [stderr] --> src/utils/output.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn print_thinking_animation(emoji: &str, text: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `clear_line` is never used [INFO] [stderr] --> src/utils/output.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn clear_line() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `print_divider` is never used [INFO] [stderr] --> src/utils/output.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn print_divider(quiet: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_receiving_pipe` is never used [INFO] [stderr] --> src/utils/piping.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn is_receiving_pipe() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/prompt_test.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let mut server = Server::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_models_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_settings_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_configure_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_main_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_session_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_prompt_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `predicates::prelude::*` [INFO] [stderr] --> tests/cli_non_think_test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use predicates::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `ola` (test "mod") generated 22 warnings (run `cargo fix --test "mod"` to apply 17 suggestions) [INFO] [stderr] warning: `ola` (test "config_test") generated 2 warnings (run `cargo fix --test "config_test"` to apply 2 suggestions) [INFO] [stderr] warning: `ola` (bin "ola") generated 27 warnings (11 duplicates) (run `cargo fix --bin "ola"` to apply 3 suggestions) [INFO] [stderr] warning: `ola` (test "prompt_test") generated 1 warning (run `cargo fix --test "prompt_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (test "cli_models_test") generated 1 warning (run `cargo fix --test "cli_models_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (bin "ola" test) generated 27 warnings (27 duplicates) [INFO] [stderr] warning: `ola` (test "cli_settings_test") generated 2 warnings (1 duplicate) (run `cargo fix --test "cli_settings_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (test "cli_configure_test") generated 2 warnings (1 duplicate) (run `cargo fix --test "cli_configure_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (test "cli_main_test") generated 1 warning (run `cargo fix --test "cli_main_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (test "cli_session_test") generated 1 warning (run `cargo fix --test "cli_session_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (test "cli_prompt_test") generated 3 warnings (2 duplicates) (run `cargo fix --test "cli_prompt_test"` to apply 1 suggestion) [INFO] [stderr] warning: `ola` (test "cli_non_think_test") generated 2 warnings (1 duplicate) (run `cargo fix --test "cli_non_think_test"` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ola-68ead134d6749e8f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ola-6c214b6834c96e5d) [INFO] [stderr] Running tests/cli_configure_test.rs (/opt/rustwide/target/debug/deps/cli_configure_test-bca75678bb14780e) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_configure_with_args ... ok [INFO] [stdout] test test_configure_help ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/cli_main_test.rs (/opt/rustwide/target/debug/deps/cli_main_test-d6410a0413f8970d) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_no_args ... ok [INFO] [stdout] test test_start_command ... ok [INFO] [stdout] test test_invalid_subcommand ... ok [INFO] [stdout] test test_cli_help ... ok [INFO] [stdout] test test_cli_version ... ok [INFO] [stdout] test test_start_verbose ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/cli_models_test.rs (/opt/rustwide/target/debug/deps/cli_models_test-da8f0f31ad6effba) [INFO] [stdout] running 4 tests [INFO] [stdout] test test_models_with_default_provider ... ignored [INFO] [stdout] test test_models_help ... ok [INFO] [stdout] test test_models_quiet_mode ... ok [INFO] [stdout] test test_models_with_provider ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/cli_non_think_test.rs (/opt/rustwide/target/debug/deps/cli_non_think_test-1c2ba38bd6d4fe93) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_non_think_clipboard_flag ... ignored [INFO] [stdout] test test_non_think_filter_thinking_flag ... ignored [INFO] [stdout] test test_non_think_help ... ignored [INFO] [stdout] test test_non_think_interactive_prompt ... ignored [INFO] [stdout] test test_non_think_pipe_flag ... ignored [INFO] [stdout] test test_non_think_quiet_flag ... ignored [INFO] [stdout] test test_non_think_with_prompt_arg ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli_prompt_test.rs (/opt/rustwide/target/debug/deps/cli_prompt_test-f838ed2927f7de95) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_prompt_clipboard_flag ... ignored [INFO] [stdout] test test_prompt_format_flag ... ignored [INFO] [stdout] test test_prompt_no_thinking_flag ... ignored [INFO] [stdout] test test_prompt_pipe_flag ... ignored [INFO] [stdout] test test_prompt_quiet_flag ... ignored [INFO] [stdout] test test_prompt_recursion_flag ... ignored [INFO] [stdout] test test_prompt_warnings_flag ... ignored [INFO] [stdout] test test_prompt_help ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stderr] Running tests/cli_session_test.rs (/opt/rustwide/target/debug/deps/cli_session_test-d01db30564068de9) [INFO] [stdout] [INFO] [stderr] Running tests/cli_settings_test.rs (/opt/rustwide/target/debug/deps/cli_settings_test-cfa61c5b8425412a) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_session_basic ... ignored [INFO] [stdout] test test_session_help ... ignored [INFO] [stdout] test test_session_logs ... ignored [INFO] [stdout] test test_session_pipe ... ignored [INFO] [stdout] test test_session_quiet_mode ... ignored [INFO] [stdout] test test_session_with_warnings ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_settings_help ... ignored [INFO] [stdout] test test_settings_update_default_format ... ignored [INFO] [stdout] test test_settings_update_default_model ... ignored [INFO] [stdout] test test_settings_view ... ok [INFO] [stdout] test test_settings_reset ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/cli_test.rs (/opt/rustwide/target/debug/deps/cli_test-742a9c5f5005f6d1) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test test_models_help ... ok [INFO] [stdout] test test_non_think_help ... ok [INFO] [stdout] test test_session_help ... ok [INFO] [stdout] test test_cli_help ... ok [INFO] [stdout] test test_configure_help ... ok [INFO] [stdout] test test_no_args ... ok [INFO] [stdout] test test_prompt_help ... ok [INFO] [stdout] test test_settings_help ... ok [INFO] [stdout] test test_start_verbose ... ok [INFO] [stdout] test test_start_command ... ok [INFO] [stdout] test test_cli_version ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/config_test.rs (/opt/rustwide/target/debug/deps/config_test-b97924df8c7e8dfc) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_add_provider ... ignored [INFO] [stdout] test test_config_load ... ignored [INFO] [stdout] test test_fetch_ollama_models ... ignored [INFO] [stdout] test test_validate_provider_config ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/mod.rs (/opt/rustwide/target/debug/deps/mod-92403b6e0b184177) [INFO] [stdout] [INFO] [stdout] running 52 tests [INFO] [stdout] test cli_models_test::test_models_with_default_provider ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_clipboard_flag ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_filter_thinking_flag ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_help ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_interactive_prompt ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_pipe_flag ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_quiet_flag ... ignored [INFO] [stdout] test cli_non_think_test::test_non_think_with_prompt_arg ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_clipboard_flag ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_format_flag ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_no_thinking_flag ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_pipe_flag ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_quiet_flag ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_recursion_flag ... ignored [INFO] [stdout] test cli_prompt_test::test_prompt_warnings_flag ... ignored [INFO] [stdout] test cli_session_test::test_session_basic ... ignored [INFO] [stdout] test cli_session_test::test_session_help ... ignored [INFO] [stdout] test cli_session_test::test_session_logs ... ignored [INFO] [stdout] test cli_session_test::test_session_pipe ... ignored [INFO] [stdout] test cli_session_test::test_session_quiet_mode ... ignored [INFO] [stdout] test cli_session_test::test_session_with_warnings ... ignored [INFO] [stdout] test cli_settings_test::test_settings_help ... ignored [INFO] [stdout] test cli_settings_test::test_settings_update_default_format ... ignored [INFO] [stdout] test cli_settings_test::test_settings_update_default_model ... ignored [INFO] [stdout] test config_test::test_add_provider ... ignored [INFO] [stdout] test config_test::test_config_load ... ignored [INFO] [stdout] test config_test::test_fetch_ollama_models ... ignored [INFO] [stdout] test config_test::test_validate_provider_config ... ignored [INFO] [stdout] test prompt_test::test_stream_non_think_openai ... ignored [INFO] [stdout] test prompt_test::test_structure_reasoning_anthropic ... ignored [INFO] [stdout] test prompt_test::test_structure_reasoning_openai ... ignored [INFO] [stdout] test prompt_test::test_with_clipboard ... ignored [INFO] [stdout] test prompt_test::test_with_context ... ignored [INFO] [stdout] test prompt_test::test_with_thinking_hidden ... ignored [INFO] [stdout] test settings_test::test_settings_default ... ignored [INFO] [stdout] test settings_test::test_settings_missing_file ... ignored [INFO] [stdout] test settings_test::test_settings_save ... ignored [INFO] [stdout] test cli_main_test::test_start_verbose ... ok [INFO] [stdout] test cli_configure_test::test_configure_help ... ok [INFO] [stdout] test cli_main_test::test_invalid_subcommand ... ok [INFO] [stdout] test cli_main_test::test_cli_help ... ok [INFO] [stdout] test cli_main_test::test_no_args ... ok [INFO] [stdout] test cli_models_test::test_models_quiet_mode ... ok [INFO] [stdout] test cli_configure_test::test_configure_with_args ... ok [INFO] [stdout] test cli_models_test::test_models_help ... ok [INFO] [stdout] test cli_prompt_test::test_prompt_help ... ok [INFO] [stdout] test settings_test::test_settings_load ... ok [INFO] [stdout] test cli_models_test::test_models_with_provider ... ok [INFO] [stdout] test cli_settings_test::test_settings_reset ... ok [INFO] [stdout] test cli_main_test::test_start_command ... ok [INFO] [stdout] test cli_settings_test::test_settings_view ... ok [INFO] [stdout] test cli_main_test::test_cli_version ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 37 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/prompt_test.rs (/opt/rustwide/target/debug/deps/prompt_test-6f1dafa48127993f) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_stream_non_think_openai ... ignored [INFO] [stdout] test test_structure_reasoning_anthropic ... ignored [INFO] [stderr] Running tests/settings_test.rs (/opt/rustwide/target/debug/deps/settings_test-294be106b200c58b) [INFO] [stdout] test test_structure_reasoning_openai ... ignored [INFO] [stdout] test test_with_clipboard ... ignored [INFO] [stdout] test test_with_context ... ignored [INFO] [stdout] test test_with_thinking_hidden ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_settings_default ... ignored [INFO] [stdout] test test_settings_missing_file ... ignored [INFO] [stdout] test test_settings_save ... ignored [INFO] [stdout] test test_settings_load ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests ola [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7fd8cc9bc0f3c8b02d7581ebb1ec4497973fb4b9d229a5640d7c9f5da99da98a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7fd8cc9bc0f3c8b02d7581ebb1ec4497973fb4b9d229a5640d7c9f5da99da98a", kill_on_drop: false }` [INFO] [stdout] 7fd8cc9bc0f3c8b02d7581ebb1ec4497973fb4b9d229a5640d7c9f5da99da98a