[INFO] cloning repository https://github.com/fadhlirahim/open_ai_cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fadhlirahim/open_ai_cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffadhlirahim%2Fopen_ai_cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffadhlirahim%2Fopen_ai_cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 95e0c8b5720176304be3f331aab4b80d51f2c09c
[INFO] testing fadhlirahim/open_ai_cli against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffadhlirahim%2Fopen_ai_cli" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fadhlirahim/open_ai_cli
[INFO] finished tweaking git repo https://github.com/fadhlirahim/open_ai_cli
[INFO] tweaked toml for git repo https://github.com/fadhlirahim/open_ai_cli written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fadhlirahim/open_ai_cli on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fadhlirahim/open_ai_cli 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6d79f71a58415ed097297b5f18235856d0255e709adf06281adc341b67517be0
[INFO] running `Command { std: "docker" "start" "-a" "6d79f71a58415ed097297b5f18235856d0255e709adf06281adc341b67517be0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6d79f71a58415ed097297b5f18235856d0255e709adf06281adc341b67517be0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d79f71a58415ed097297b5f18235856d0255e709adf06281adc341b67517be0", kill_on_drop: false }`
[INFO] [stdout] 6d79f71a58415ed097297b5f18235856d0255e709adf06281adc341b67517be0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8bcb50757cf61f5161947ada91f70f12329ba0ed345ec889c13adcf6f55c1133
[INFO] running `Command { std: "docker" "start" "-a" "8bcb50757cf61f5161947ada91f70f12329ba0ed345ec889c13adcf6f55c1133", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling serde v1.0.195
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling pkg-config v0.3.29
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling cc v1.2.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling rustix v0.38.30
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling openssl v0.10.63
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling openssl-sys v0.9.99
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustls v0.23.31
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling webpki-roots v1.0.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling strict v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling terminal_size v0.3.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling console v0.15.8
[INFO] [stderr]    Compiling quick-xml v0.38.1
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling winnow v0.6.26
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling clap_builder v4.5.18
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling tempfile v3.9.0
[INFO] [stderr]    Compiling papergrid v0.12.0
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling minimad v0.13.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling terminal_size v0.4.2
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tabled_derive v0.8.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.195
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.4.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling lazy-regex v3.4.1
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling tabled v0.16.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling coolor v1.1.0
[INFO] [stderr]    Compiling crokey-proc_macros v1.2.0
[INFO] [stderr]    Compiling clap v4.5.18
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling plist v1.7.4
[INFO] [stderr]    Compiling crokey v1.2.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling termimad v0.33.0
[INFO] [stderr]    Compiling toml_edit v0.22.20
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling syntect v5.2.0
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling toml v0.8.19
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.7
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.5
[INFO] [stderr]    Compiling llm_cli v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `minimad::TextTemplate`
[INFO] [stdout]   --> src/ui.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use termimad::{MadSkin, FmtText, minimad::TextTemplate};
[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: `is_list_item`
[INFO] [stdout]    --> src/ui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let is_list_item = trimmed.starts_with("- ") || 
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_list_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     User,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub role: Role,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub content: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub prompt_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub completion_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub total_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub id: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub object: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub created: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub model: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub choices: Vec<StreamChoice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub delta: Delta,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub finish_reason: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub role: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub content: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/cli.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum Commands {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/cli.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub enum OutputFormat {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Text,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Markdown,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/error.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ApiKeyNotFound,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ConfigError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     RequestError(#[from] reqwest::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ParseError(#[from] serde_json::Error),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     IoError(#[from] std::io::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ApiError { message: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ApiError { message: String },
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     InvalidModel(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     RateLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     TokenLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Network(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub messages: Vec<Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub model: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub total_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `minimad::TextTemplate`
[INFO] [stdout]   --> src/ui.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use termimad::{MadSkin, FmtText, minimad::TextTemplate};
[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: `is_list_item`
[INFO] [stdout]    --> src/ui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let is_list_item = trimmed.starts_with("- ") || 
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_list_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]   --> src/api.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Usage {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 92 |     pub prompt_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 93 |     pub completion_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub total_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `test_config`, `test_config_with`, and `validate` are never used
[INFO] [stdout]   --> src/config.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Config {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn test_config() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn test_config_with(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn validate(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidModel` is never constructed
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidModel(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `to_markdown` are never used
[INFO] [stdout]   --> src/session.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn load(path: PathBuf) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn to_markdown(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_session` and `list_sessions` are never used
[INFO] [stdout]    --> src/session.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl SessionManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn current_session(&self) -> Option<&Session> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn list_sessions(&self) -> &[Session] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_buffering` is never used
[INFO] [stdout]    --> src/streaming_buffer.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl StreamingBuffer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn is_buffering(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_text` is never used
[INFO] [stdout]   --> src/ui.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn wrap_text(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 53s
[INFO] running `Command { std: "docker" "inspect" "8bcb50757cf61f5161947ada91f70f12329ba0ed345ec889c13adcf6f55c1133", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bcb50757cf61f5161947ada91f70f12329ba0ed345ec889c13adcf6f55c1133", kill_on_drop: false }`
[INFO] [stdout] 8bcb50757cf61f5161947ada91f70f12329ba0ed345ec889c13adcf6f55c1133
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2899f4be61a75af8b9781ced977a2598dde961df5728a7bd631939e2afe2e4fc
[INFO] running `Command { std: "docker" "start" "-a" "2899f4be61a75af8b9781ced977a2598dde961df5728a7bd631939e2afe2e4fc", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling insta v1.43.1
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling deadpool v0.10.0
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.7
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling wiremock v0.6.4
[INFO] [stderr]    Compiling reqwest v0.12.5
[INFO] [stderr]    Compiling llm_cli v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `minimad::TextTemplate`
[INFO] [stdout]   --> src/ui.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use termimad::{MadSkin, FmtText, minimad::TextTemplate};
[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: `is_list_item`
[INFO] [stdout]    --> src/ui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let is_list_item = trimmed.starts_with("- ") || 
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_list_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     User,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub role: Role,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub content: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub prompt_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub completion_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub total_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub id: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub object: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub created: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub model: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub choices: Vec<StreamChoice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub delta: Delta,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub finish_reason: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub role: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub content: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/cli.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum Commands {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/cli.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub enum OutputFormat {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Text,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Markdown,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/error.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ApiKeyNotFound,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ConfigError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     RequestError(#[from] reqwest::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ParseError(#[from] serde_json::Error),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     IoError(#[from] std::io::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ApiError { message: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ApiError { message: String },
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     InvalidModel(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     RateLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     TokenLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Network(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub messages: Vec<Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub model: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub total_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> tests/table_test.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #[cfg(test)]
[INFO] [stdout]  2 | | mod table_tests {
[INFO] [stdout]  3 | |     use llm_cli::ui;
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `special`
[INFO] [stdout]   --> tests/test_streaming_markdown.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let (output4, special, buffering) = buffer.process_chunk("```python\n");
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_special`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `special`
[INFO] [stdout]   --> tests/test_streaming_markdown.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let (output5, special, buffering) = buffer.process_chunk("print('hello')\n");
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_special`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `minimad::TextTemplate`
[INFO] [stdout]   --> src/ui.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use termimad::{MadSkin, FmtText, minimad::TextTemplate};
[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: `minimad::TextTemplate`
[INFO] [stdout]   --> src/ui.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use termimad::{MadSkin, FmtText, minimad::TextTemplate};
[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: `minimad::TextTemplate`
[INFO] [stdout]   --> src/ui.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use termimad::{MadSkin, FmtText, minimad::TextTemplate};
[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: `is_list_item`
[INFO] [stdout]    --> src/ui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let is_list_item = trimmed.starts_with("- ") || 
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_list_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]   --> src/api.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Usage {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 92 |     pub prompt_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 93 |     pub completion_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub total_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `test_config`, `test_config_with`, and `validate` are never used
[INFO] [stdout]   --> src/config.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Config {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn test_config() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn test_config_with(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn validate(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidModel` is never constructed
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidModel(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `to_markdown` are never used
[INFO] [stdout]   --> src/session.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn load(path: PathBuf) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn to_markdown(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_session` and `list_sessions` are never used
[INFO] [stdout]    --> src/session.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl SessionManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn current_session(&self) -> Option<&Session> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn list_sessions(&self) -> &[Session] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_buffering` is never used
[INFO] [stdout]    --> src/streaming_buffer.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl StreamingBuffer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn is_buffering(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_text` is never used
[INFO] [stdout]   --> src/ui.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn wrap_text(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_list_item`
[INFO] [stdout]    --> src/ui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let is_list_item = trimmed.starts_with("- ") || 
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_list_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_list_item`
[INFO] [stdout]    --> src/ui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let is_list_item = trimmed.starts_with("- ") || 
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_list_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     User,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub role: Role,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub content: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub prompt_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub completion_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/api.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub total_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub id: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub object: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub created: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub model: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub choices: Vec<StreamChoice>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]   --> src/api.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Usage {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 92 |     pub prompt_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 93 |     pub completion_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     pub total_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub delta: Delta,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `test_config`, `test_config_with`, and `validate` are never used
[INFO] [stdout]   --> src/config.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Config {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn test_config() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn test_config_with(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn validate(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub finish_reason: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidModel` is never constructed
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidModel(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `to_markdown` are never used
[INFO] [stdout]   --> src/session.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn load(path: PathBuf) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn to_markdown(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub role: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/api.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub content: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/cli.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum Commands {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/cli.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub enum OutputFormat {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Text,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Json,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Markdown,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/error.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ApiKeyNotFound,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ConfigError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     RequestError(#[from] reqwest::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ParseError(#[from] serde_json::Error),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     IoError(#[from] std::io::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ApiError { message: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ApiError { message: String },
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     InvalidModel(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     RateLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     TokenLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/error.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Network(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub messages: Vec<Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub model: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/session.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub total_tokens: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_session` and `list_sessions` are never used
[INFO] [stdout]    --> src/session.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl SessionManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn current_session(&self) -> Option<&Session> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn list_sessions(&self) -> &[Session] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_buffering` is never used
[INFO] [stdout]    --> src/streaming_buffer.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl StreamingBuffer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn is_buffering(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_text` is never used
[INFO] [stdout]   --> src/ui.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn wrap_text(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcM8g208/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libllm_cli-e6c80475fd92b3fa,libterminal_size-3e616ab45817cb4e,libuuid-cc42bb48bf35ca44,libgetrandom-2ec7db7c02eab87f,libtoml-c01e3ef2291c780d,libtoml_edit-e261f23460688664,libserde_spanned-a22e4a47203c2d13,libwinnow-37a822725df2879b,libtoml_datetime-44ec969c76d94469,libtextwrap-40f7dd79c16ecfb1,libunicode_linebreak-e2d4f4a68c1e757f,libsmawk-9e7d9ce9103284a6,libtermimad-fae11a3b3d2956df,libcoolor-e8d014364f48226a,liblazy_regex-22ac82e8a939a00d,libregex-dc19f60faf8ba698,libregex_automata-f457cab0be506cac,libaho_corasick-5d9898672009770f,libcrossbeam-65f647847c9612ca,libcrossbeam_deque-af5662db3a6ee69c,libcrossbeam_channel-1145c7711da170ea,libcrossbeam_queue-524dd9ac9bf4f015,libcrossbeam_epoch-12e0b10032101521,libcrossbeam_utils-0a46ed2e1921bda3,libcrokey-7243f60451b08f4d,libstrict-c6469dc9b51bdab7,libcrossterm-21de474642020ef4,librustix-d2d90df85465bf2c,liblinux_raw_sys-20b62ec4b985a4c8,libparking_lot-8dd35243cf439be4,libparking_lot_core-b5f18dc5d69229bc,liblock_api-d29d5bf8eda96d0c,libscopeguard-d52bd00767847e44,libderive_more-5ddfe14d1bbfbe60,libsignal_hook_mio-bbd1c4247539b6a6,libsignal_hook-b76ff709db45fcff,libsignal_hook_registry-ba885afed2dd80d9,libminimad-d88eec094752d9cd,libsyntect-013f77d4cb9dc5bf,libwalkdir-a3e1a79fd47b5b12,libsame_file-1ceb7b6153588b15,libonig-c1380f6b04689efa,libonig_sys-bb13bea0cf9b624c,libyaml_rust-88b1356178088402,liblinked_hash_map-40ad1551522f3eec,libregex_syntax-13fc688ae7f36982,libbitflags-e2b4db6c651223da,libplist-25761092d7f87638,libtime-62c5e4a54ba56184,libtime_core-45a5f0d549950b2a,libnum_conv-2c976fbf8b8f2899,libderanged-7a5c17cefd52121d,libpowerfmt-a0c185df26c26a22,libquick_xml-e2cd50c94dcc5191,libflate2-7b54187eb0d0047e,libminiz_oxide-e4013219f60284e8,libadler2-6c84652b4f76062c,libcrc32fast-1518336e419833ea,libbincode-e4dfc66c9f9d13d6,libindicatif-257e1065c841f534,libunicode_width-d12f1dd14779f44c,libportable_atomic-353470e225ea645c,libnumber_prefix-8479f39d71e80d3e,libdialoguer-a2b4ab55e56bc1b2,libshell_words-577647bd4f992c17,libtempfile-fa916559051f741c,libfastrand-f70792496f031f26,libthiserror-a57597a8e955470e,libconsole-a20e057ef87c8e28,libcolored-b92e6f6f8358f737,liblazy_static-2bb390fee0230a38,libtabled-a8df96bce92b6939,libpapergrid-c0ebd851cb59b1ec,libbytecount-3d074ddb37370d4d,libunicode_width-ff8848b4c91bc42d,libchrono-f5514268d1463d6e,libiana_time_zone-693b81a5c0b46492,libnum_traits-57c86e36569366a9,libthiserror-31ad5e92a731c4ac,libdirs-8f398358cbc1898b,libdirs_sys-523c9cf30af67936,liboption_ext-23838f1959a6156b,libclap-392e9960d486c6f0,libclap_builder-cbbd4efbb33ebb46,libterminal_size-a170a723fb3957e3,librustix-839db4422e1448d8,liblinux_raw_sys-a6a6b028d8cdab2c,libstrsim-24acdad2526b95b7,libanstream-3ab91a304c3d0ef4,libanstyle_query-2795f030b7507c68,libis_terminal_polyfill-c14c9d53c4f80a97,libcolorchoice-3cdad4dd466782b4,libanstyle_parse-51df2b3336db7fd2,libutf8parse-8828ddbb63eb8bad,libclap_lex-cf64d5057a503eff,libanstyle-acd37f6657e9ecfb,libreqwest-ac099bc3d131a29a,libserde_urlencoded-433d7306c21ab95e,libwebpki_roots-6b8606fe0cf97500,libbase64-2a03de3babadded3,librustls_pemfile-4e4e26a341919da6,libipnet-9aae67a4e846df6d,libhyper_rustls-da73af31f6fea31a,libwebpki_roots-ab32c2fb6d835155,libhyper_tls-2580a20e399ee8d7,libtokio_native_tls-1bc86152ffcdb97d,libtokio_rustls-d45ffa620c52f9b3,librustls-af417f89d51b5e06,libsubtle-ca7024fc66e4388f,libwebpki-4902bdffd11eb72e,libring-d02876ff8d970939,libgetrandom-fd694dfb2ffaf0dc,libuntrusted-3420b86308bec153,librustls_pki_types-79b15f25d8c35cfa,libzeroize-ead98f074a37f829,libmime-4b44681fdb2c65f7,libencoding_rs-591e0cad5e0af89d,libserde_json-982d4a35c30d6470,libryu-8ff14dfa97b8970c,libserde-145223311517df84,libnative_tls-877304ecad8fa28c,libopenssl_probe-dfbd35d7fb1bbeff,libopenssl-1b7f5f81abd8618a,libbitflags-8d6004180f14a06d,libforeign_types-5fe497e04623184e,libforeign_types_shared-1d09a6084921ca40,libcfg_if-33ef6c02a07f9fec,libopenssl_sys-eec7a1d5685b8b9e,libhyper_util-72954627c22de1b8,libtower-99966778a16b521f,libpin_project-6d2a2ce9853f009c,libtower_layer-d70c7e404336389b,libtower_service-aa28c9aa29f1c654,libhyper-f54b6fb8c1f018c1,libwant-7ab32758a94a943e,libtry_lock-aabba5e3d97e6b57,libhttparse-4b1ed73b760072b9,libh2-673eb8526bdeddeb,libindexmap-2a145d470455a2f8,libequivalent-fdc46004df91ad08,libhashbrown-9dbb75234fa537e4,libatomic_waker-001109810bdecbaa,libhttpdate-9f9d2502c6a38412,libtokio_util-2c84a42a75459097,libtracing-4a0df2c72ebf4a6f,libtracing_core-cd0f94fe6540f73e,libonce_cell-0ba6aecba7086d38,libtokio-ac890baf8e43d42c,libsocket2-799ff14ad11134a1,libmio-625b1ad158b95865,liblibc-0f8586cc3118ad93,libhttp_body_util-869348c2e516efe8,libhttp_body-fbd443d2601c9be8,liblog-045b65d1b7404957,liburl-2789c16e21900d13,libidna-aea595bd1fc4803d,libutf8_iter-0d9be7b316c2b184,libidna_adapter-606cd0fe55948917,libicu_properties-951d21689c9cf40b,libicu_properties_data-be64ae96cf57ee64,libicu_normalizer-600c3a8c2c71efc9,libsmallvec-27e895f38f155b99,libicu_normalizer_data-f5259d77029e31c4,libicu_collections-bb33e2c0773837f9,libpotential_utf-7e2f6db43a36f276,libicu_provider-0f4198ccc789b9a2,libicu_locale_core-4a36702548fa3b50,libtinystr-0717b5205c5c86cf,liblitemap-aaec3d88bc2b9505,libwriteable-1fc78dfe07ba1099,libzerovec-3dc79543359546c9,libzerotrie-65229317af0f35ee,libyoke-ab1ea41b947ea2dd,libstable_deref_trait-e5f295e98f1b80b2,libzerofrom-ba85d4a19f86416c,libform_urlencoded-9a3b196401a840c1,libpercent_encoding-9bee39bbc5bd523a,libhttp-d93bfde0f906f5e7,libitoa-cbcf4da6e0ac7621,libbytes-3ad72df070df6f8e,libfnv-2d77ec4f6f971b24,libfutures_util-9bb3cef901ac79a6,libmemchr-6a998f109380bfd7,libfutures_io-3e19596c076de665,libslab-d5baaec43f78caea,libfutures_channel-5acea26fa90a13d0,libpin_project_lite-89bb0688a32eddef,libfutures_sink-ba628c80fbee78b4,libfutures_task-a34acde6ee26d4ab,libpin_utils-9a5791cba021167a,libfutures_core-2da63d8c7891ede1}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lssl" "-lcrypto" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustcM8g208/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/ring-5490f7900d97bd9b/out" "-L" "/opt/rustwide/target/debug/build/onig_sys-c69a232b666a5713/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/test_code_highlighting-729d8bd3751af530" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `llm_cli` (test "test_code_highlighting") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "2899f4be61a75af8b9781ced977a2598dde961df5728a7bd631939e2afe2e4fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2899f4be61a75af8b9781ced977a2598dde961df5728a7bd631939e2afe2e4fc", kill_on_drop: false }`
[INFO] [stdout] 2899f4be61a75af8b9781ced977a2598dde961df5728a7bd631939e2afe2e4fc
