[INFO] cloning repository https://github.com/rfushimi/q [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rfushimi/q" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfushimi%2Fq", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfushimi%2Fq'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b64c311f38a073bf346ea6e02bc7aad2335ac24b [INFO] building rfushimi/q against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfushimi%2Fq" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rfushimi/q [INFO] finished tweaking git repo https://github.com/rfushimi/q [INFO] tweaked toml for git repo https://github.com/rfushimi/q written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rfushimi/q on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rfushimi/q 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded retain_mut v0.1.9 [INFO] [stderr] Downloaded deadpool v0.9.5 [INFO] [stderr] Downloaded shellexpand v3.1.0 [INFO] [stderr] Downloaded onig v6.4.0 [INFO] [stderr] Downloaded clap v4.5.28 [INFO] [stderr] Downloaded cached v0.49.3 [INFO] [stderr] Downloaded cached_proc_macro v0.20.0 [INFO] [stderr] Downloaded clap_builder v4.5.27 [INFO] [stderr] Downloaded plist v1.7.0 [INFO] [stderr] Downloaded wiremock v0.5.22 [INFO] [stderr] Downloaded onig_sys v69.8.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2172d69be9e30c581c7cd7ddf2dfceaa0f68f00d1febc31d73b6a60d92380311 [INFO] running `Command { std: "docker" "start" "-a" "2172d69be9e30c581c7cd7ddf2dfceaa0f68f00d1febc31d73b6a60d92380311", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2172d69be9e30c581c7cd7ddf2dfceaa0f68f00d1febc31d73b6a60d92380311", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2172d69be9e30c581c7cd7ddf2dfceaa0f68f00d1febc31d73b6a60d92380311", kill_on_drop: false }` [INFO] [stdout] 2172d69be9e30c581c7cd7ddf2dfceaa0f68f00d1febc31d73b6a60d92380311 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0df7e3016a1d23492496458f56cda377ff284725d9c6773079c4b65d815e31ad [INFO] running `Command { std: "docker" "start" "-a" "0df7e3016a1d23492496458f56cda377ff284725d9c6773079c4b65d815e31ad", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling cc v1.2.12 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling openssl v0.10.70 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling native-tls v0.2.13 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling log v0.4.25 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling portable-atomic v1.10.0 [INFO] [stderr] Compiling time v0.3.37 [INFO] [stderr] Compiling quick-xml v0.32.0 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling winnow v0.7.1 [INFO] [stderr] Compiling clap_builder v4.5.27 [INFO] [stderr] Compiling console v0.15.10 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling cached_proc_macro_types v0.1.1 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling shellexpand v3.1.0 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling openssl-sys v0.9.105 [INFO] [stderr] Compiling onig_sys v69.8.1 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling darling_core v0.14.4 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Compiling async-trait v0.1.86 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling onig v6.4.0 [INFO] [stderr] Compiling darling v0.14.4 [INFO] [stderr] Compiling cached_proc_macro v0.20.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling clap v4.5.28 [INFO] [stderr] Compiling zerofrom v0.1.5 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling cached v0.49.3 [INFO] [stderr] Compiling backoff v0.4.0 [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 futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde v1.0.217 [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 icu_normalizer v1.5.0 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling serde_spanned v0.6.8 [INFO] [stderr] Compiling serde_json v1.0.138 [INFO] [stderr] Compiling plist v1.7.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling toml_edit v0.22.23 [INFO] [stderr] Compiling h2 v0.3.26 [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 syntect v5.2.0 [INFO] [stderr] Compiling toml v0.8.20 [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 q v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `shellexpand::tilde` [INFO] [stdout] --> src/context/history.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shellexpand::tilde; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/config/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `api_key` is never read [INFO] [stdout] --> src/api/openai.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OpenAIClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 16 | client: Client, [INFO] [stdout] 17 | api_key: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/api/openai.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 61 | struct DeltaContent { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 62 | #[serde(default)] [INFO] [stdout] 63 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeltaContent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `progress` are never read [INFO] [stdout] --> src/core/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct QueryEngine { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] 55 | config: QueryConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 56 | progress: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format::format_markdown` [INFO] [stdout] --> src/utils/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use format::format_markdown; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shellexpand::tilde` [INFO] [stdout] --> src/context/history.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shellexpand::tilde; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/config/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_model` is never used [INFO] [stdout] --> src/config/mod.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ConfigManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn get_model(&self, provider: Provider) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Api` is never constructed [INFO] [stdout] --> src/utils/errors.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum QError { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Api(String), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_retryable` is never used [INFO] [stdout] --> src/api/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ApiError { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 25 | pub fn is_retryable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `StreamingResponse` is never used [INFO] [stdout] --> src/api/mod.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub type StreamingResponse = Pin> + Send>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_streaming_query` and `validate_key` are never used [INFO] [stdout] --> src/api/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait LLMApi: Send + Sync { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] ... [INFO] [stdout] 44 | async fn send_streaming_query(&self, prompt: &str) -> ApiResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | async fn validate_key(&self) -> ApiResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_api_key` is never used [INFO] [stdout] --> src/api/mod.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn read_api_key(path: &str) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `api_key` is never read [INFO] [stdout] --> src/api/openai.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OpenAIClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 16 | client: Client, [INFO] [stdout] 17 | api_key: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChatStreamResponse` is never constructed [INFO] [stdout] --> src/api/openai.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | struct ChatStreamResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamChoice` is never constructed [INFO] [stdout] --> src/api/openai.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct StreamChoice { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaContent` is never constructed [INFO] [stdout] --> src/api/openai.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct DeltaContent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/api/openai.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDetail` is never constructed [INFO] [stdout] --> src/api/openai.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | struct ErrorDetail { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used [INFO] [stdout] --> src/api/openai.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl OpenAIClientBuilder { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn with_api_url(mut self, url: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn with_config(mut self, config: ModelConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `model` and `process_stream_chunk` are never used [INFO] [stdout] --> src/api/openai.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl OpenAIClient { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn model(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn process_stream_chunk(chunk: &[u8]) -> ApiResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamResponse` is never constructed [INFO] [stdout] --> src/api/gemini.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct StreamResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamCandidate` is never constructed [INFO] [stdout] --> src/api/gemini.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | struct StreamCandidate { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamContent` is never constructed [INFO] [stdout] --> src/api/gemini.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct StreamContent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/api/gemini.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDetail` is never constructed [INFO] [stdout] --> src/api/gemini.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct ErrorDetail { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used [INFO] [stdout] --> src/api/gemini.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl GeminiClientBuilder { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn with_api_url(mut self, url: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn with_config(mut self, config: ModelConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `process_stream_chunk` is never used [INFO] [stdout] --> src/api/gemini.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 139 | impl GeminiClient { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 170 | fn process_stream_chunk(chunk: &[u8]) -> ApiResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/context/mod.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | File(PathBuf), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ContextType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 39 - File(PathBuf), [INFO] [stdout] 39 + File(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context_type` is never read [INFO] [stdout] --> src/context/mod.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ContextData { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 44 | pub context_type: ContextType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ContextData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Pattern` and `Other` are never constructed [INFO] [stdout] --> src/commands/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum CommandError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 10 | #[error("Pattern matching error: {0}")] [INFO] [stdout] 11 | Pattern(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `System` and `Other` are never constructed [INFO] [stdout] --> src/commands/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Category { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 24 | System, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Other, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Category` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_command` is never used [INFO] [stdout] --> src/commands/database.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn get_command(name: &str) -> Option<&'static CommandInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cache`, `Retry`, and `Other` are never constructed [INFO] [stdout] --> src/core/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum CoreError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Cache(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | Retry(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CoreError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/mod.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct QueryConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 30 | pub max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | pub show_progress: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub cache_ttl: Duration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | pub max_cache_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub retry_delay: Duration, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | pub max_retry_delay: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub verbosity: Verbosity, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QueryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `progress` are never read [INFO] [stdout] --> src/core/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct QueryEngine { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] 55 | config: QueryConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 56 | progress: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueryCache` is never constructed [INFO] [stdout] --> src/core/cache.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct QueryCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `insert`, `clear`, `len`, and `is_empty` are never used [INFO] [stdout] --> src/core/cache.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl QueryCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 11 | /// Create a new query cache with the specified size and TTL [INFO] [stdout] 12 | pub fn new(size: usize, ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get(&self, query: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn insert(&self, query: String, response: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_retry` is never used [INFO] [stdout] --> src/core/retry.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn with_retry( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_retry` is never used [INFO] [stdout] --> src/core/retry.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn should_retry(error: &CoreError) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s [INFO] running `Command { std: "docker" "inspect" "0df7e3016a1d23492496458f56cda377ff284725d9c6773079c4b65d815e31ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0df7e3016a1d23492496458f56cda377ff284725d9c6773079c4b65d815e31ad", kill_on_drop: false }` [INFO] [stdout] 0df7e3016a1d23492496458f56cda377ff284725d9c6773079c4b65d815e31ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b3293e3500cee62bc3cd4c3e81c5e909a353751348c050c8c28a3907adf53774 [INFO] running `Command { std: "docker" "start" "-a" "b3293e3500cee62bc3cd4c3e81c5e909a353751348c050c8c28a3907adf53774", kill_on_drop: false }` [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling bitflags v2.8.0 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Compiling http-types v2.12.0 [INFO] [stderr] Compiling waker-fn v1.2.0 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling serde_qs v0.8.5 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling infer v0.2.3 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling openssl v0.10.70 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling futures-lite v1.13.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling retain_mut v0.1.9 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling assert_cmd v2.0.16 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling tempfile v3.16.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling bstr v1.11.3 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling native-tls v0.2.13 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling deadpool v0.9.5 [INFO] [stderr] Compiling tokio-test v0.4.4 [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 wiremock v0.5.22 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling q v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `shellexpand::tilde` [INFO] [stdout] --> src/context/history.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shellexpand::tilde; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/config/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `api_key` is never read [INFO] [stdout] --> src/api/openai.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OpenAIClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 16 | client: Client, [INFO] [stdout] 17 | api_key: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/api/openai.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 61 | struct DeltaContent { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 62 | #[serde(default)] [INFO] [stdout] 63 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeltaContent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `progress` are never read [INFO] [stdout] --> src/core/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct QueryEngine { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] 55 | config: QueryConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 56 | progress: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shellexpand::tilde` [INFO] [stdout] --> src/context/history.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shellexpand::tilde; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::api::ApiError` [INFO] [stdout] --> src/core/retry.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | use crate::api::ApiError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `Result<_, core::CoreError>` [INFO] [stdout] --> src/core/retry.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let result = with_retry( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | Err(CoreError::Retry("Test retry".to_string())) [INFO] [stdout] | ----------------------------------------------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `T` is specified [INFO] [stdout] | [INFO] [stdout] 85 | let result: Result = with_retry( [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `format::format_markdown` [INFO] [stdout] --> src/utils/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use format::format_markdown; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shellexpand::tilde` [INFO] [stdout] --> src/context/history.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shellexpand::tilde; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `q::core::stream` [INFO] [stdout] --> tests/streaming_tests.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use q::core::stream::handle_streaming_response; [INFO] [stdout] | ^^^^^^ could not find `stream` in `core` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> tests/streaming_tests.rs:54:63 [INFO] [stdout] | [INFO] [stdout] 54 | let result = handle_streaming_response(api, "test").await.unwrap(); [INFO] [stdout] | ^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> tests/streaming_tests.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | let result = handle_streaming_response(api, "test").await; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | assert!(result.is_err()); [INFO] [stdout] | ------ type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `result` an explicit type [INFO] [stdout] | [INFO] [stdout] 90 | let result: /* Type */ = handle_streaming_response(api, "test").await; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> tests/streaming_tests.rs:101:63 [INFO] [stdout] | [INFO] [stdout] 101 | let result = handle_streaming_response(api, "test").await.unwrap(); [INFO] [stdout] | ^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> tests/streaming_tests.rs:116:63 [INFO] [stdout] | [INFO] [stdout] 116 | let result = handle_streaming_response(api, "test").await.unwrap(); [INFO] [stdout] | ^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> tests/streaming_tests.rs:133:63 [INFO] [stdout] | [INFO] [stdout] 133 | let result = handle_streaming_response(api, "test").await.unwrap(); [INFO] [stdout] | ^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `q` (test "streaming_tests") due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `format::format_markdown` [INFO] [stdout] --> src/utils/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use format::format_markdown; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shellexpand::tilde` [INFO] [stdout] --> src/context/history.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use shellexpand::tilde; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::api::ApiError` [INFO] [stdout] --> src/core/retry.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | use crate::api::ApiError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/config/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `Result<_, core::CoreError>` [INFO] [stdout] --> src/core/retry.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let result = with_retry( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | Err(CoreError::Retry("Test retry".to_string())) [INFO] [stdout] | ----------------------------------------------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `T` is specified [INFO] [stdout] | [INFO] [stdout] 85 | let result: Result = with_retry( [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/core/retry.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 62 | let mut attempts = 0; [INFO] [stdout] | ------------ variable defined here [INFO] [stdout] 63 | let result = with_retry( [INFO] [stdout] 64 | || async { [INFO] [stdout] | ______________-_^ [INFO] [stdout] | | | [INFO] [stdout] | | inferred to be a `FnMut` closure [INFO] [stdout] 65 | | attempts += 1; [INFO] [stdout] | | -------- variable captured here [INFO] [stdout] 66 | | if attempts < 2 { [INFO] [stdout] 67 | | Err(CoreError::Retry("Test retry".to_string())) [INFO] [stdout] ... | [INFO] [stdout] 71 | | }, [INFO] [stdout] | |_____________^ returns an `async` block that contains a reference to a captured variable, which then escapes the closure body [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/config/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `q` (lib test) due to 2 previous errors; 3 warnings emitted [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/config/mod.rs:24:51 [INFO] [stdout] | [INFO] [stdout] 24 | fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/core/retry.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 62 | let mut attempts = 0; [INFO] [stdout] | ------------ variable defined here [INFO] [stdout] 63 | let result = with_retry( [INFO] [stdout] 64 | || async { [INFO] [stdout] | ______________-_^ [INFO] [stdout] | | | [INFO] [stdout] | | inferred to be a `FnMut` closure [INFO] [stdout] 65 | | attempts += 1; [INFO] [stdout] | | -------- variable captured here [INFO] [stdout] 66 | | if attempts < 2 { [INFO] [stdout] 67 | | Err(CoreError::Retry("Test retry".to_string())) [INFO] [stdout] ... | [INFO] [stdout] 71 | | }, [INFO] [stdout] | |_____________^ returns an `async` block that contains a reference to a captured variable, which then escapes the closure body [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `q` (bin "q" test) due to 2 previous errors; 4 warnings emitted [INFO] [stdout] warning: method `get_model` is never used [INFO] [stdout] --> src/config/mod.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ConfigManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn get_model(&self, provider: Provider) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Api` is never constructed [INFO] [stdout] --> src/utils/errors.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum QError { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Api(String), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_retryable` is never used [INFO] [stdout] --> src/api/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ApiError { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 25 | pub fn is_retryable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `StreamingResponse` is never used [INFO] [stdout] --> src/api/mod.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub type StreamingResponse = Pin> + Send>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_streaming_query` and `validate_key` are never used [INFO] [stdout] --> src/api/mod.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait LLMApi: Send + Sync { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] ... [INFO] [stdout] 44 | async fn send_streaming_query(&self, prompt: &str) -> ApiResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | async fn validate_key(&self) -> ApiResult<()>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_api_key` is never used [INFO] [stdout] --> src/api/mod.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn read_api_key(path: &str) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `api_key` is never read [INFO] [stdout] --> src/api/openai.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct OpenAIClient { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 16 | client: Client, [INFO] [stdout] 17 | api_key: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChatStreamResponse` is never constructed [INFO] [stdout] --> src/api/openai.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | struct ChatStreamResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamChoice` is never constructed [INFO] [stdout] --> src/api/openai.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct StreamChoice { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaContent` is never constructed [INFO] [stdout] --> src/api/openai.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct DeltaContent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/api/openai.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDetail` is never constructed [INFO] [stdout] --> src/api/openai.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | struct ErrorDetail { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used [INFO] [stdout] --> src/api/openai.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl OpenAIClientBuilder { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn with_api_url(mut self, url: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn with_config(mut self, config: ModelConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `model` and `process_stream_chunk` are never used [INFO] [stdout] --> src/api/openai.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl OpenAIClient { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn model(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn process_stream_chunk(chunk: &[u8]) -> ApiResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamResponse` is never constructed [INFO] [stdout] --> src/api/gemini.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct StreamResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamCandidate` is never constructed [INFO] [stdout] --> src/api/gemini.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | struct StreamCandidate { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamContent` is never constructed [INFO] [stdout] --> src/api/gemini.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | struct StreamContent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/api/gemini.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDetail` is never constructed [INFO] [stdout] --> src/api/gemini.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct ErrorDetail { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used [INFO] [stdout] --> src/api/gemini.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl GeminiClientBuilder { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn with_api_url(mut self, url: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn with_config(mut self, config: ModelConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `process_stream_chunk` is never used [INFO] [stdout] --> src/api/gemini.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 139 | impl GeminiClient { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 170 | fn process_stream_chunk(chunk: &[u8]) -> ApiResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/context/mod.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | File(PathBuf), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ContextType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 39 - File(PathBuf), [INFO] [stdout] 39 + File(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context_type` is never read [INFO] [stdout] --> src/context/mod.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ContextData { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 44 | pub context_type: ContextType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ContextData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Pattern` and `Other` are never constructed [INFO] [stdout] --> src/commands/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum CommandError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 10 | #[error("Pattern matching error: {0}")] [INFO] [stdout] 11 | Pattern(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `System` and `Other` are never constructed [INFO] [stdout] --> src/commands/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Category { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 24 | System, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Other, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Category` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_command` is never used [INFO] [stdout] --> src/commands/database.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn get_command(name: &str) -> Option<&'static CommandInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Cache`, `Retry`, and `Other` are never constructed [INFO] [stdout] --> src/core/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum CoreError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Cache(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | Retry(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CoreError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/mod.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct QueryConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 30 | pub max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | pub show_progress: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub cache_ttl: Duration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | pub max_cache_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub retry_delay: Duration, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | pub max_retry_delay: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub verbosity: Verbosity, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QueryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `progress` are never read [INFO] [stdout] --> src/core/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct QueryEngine { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 54 | client: Arc, [INFO] [stdout] 55 | config: QueryConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 56 | progress: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueryCache` is never constructed [INFO] [stdout] --> src/core/cache.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct QueryCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `insert`, `clear`, `len`, and `is_empty` are never used [INFO] [stdout] --> src/core/cache.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl QueryCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 11 | /// Create a new query cache with the specified size and TTL [INFO] [stdout] 12 | pub fn new(size: usize, ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get(&self, query: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn insert(&self, query: String, response: String) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_retry` is never used [INFO] [stdout] --> src/core/retry.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn with_retry( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_retry` is never used [INFO] [stdout] --> src/core/retry.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn should_retry(error: &CoreError) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b3293e3500cee62bc3cd4c3e81c5e909a353751348c050c8c28a3907adf53774", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3293e3500cee62bc3cd4c3e81c5e909a353751348c050c8c28a3907adf53774", kill_on_drop: false }` [INFO] [stdout] b3293e3500cee62bc3cd4c3e81c5e909a353751348c050c8c28a3907adf53774