[INFO] cloning repository https://github.com/khaneliman/month-of-ai
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khaneliman/month-of-ai" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhaneliman%2Fmonth-of-ai", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhaneliman%2Fmonth-of-ai'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9c22778f6ec0f1cf12a8d35a306d6e31ca30723b
[INFO] checking khaneliman/month-of-ai against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhaneliman%2Fmonth-of-ai" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/khaneliman/month-of-ai
[INFO] finished tweaking git repo https://github.com/khaneliman/month-of-ai
[INFO] tweaked toml for git repo https://github.com/khaneliman/month-of-ai written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khaneliman/month-of-ai on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/khaneliman/month-of-ai 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded openai-api-rs v4.1.1
[INFO] [stderr]   Downloaded actix-session v0.9.0
[INFO] [stderr]   Downloaded minreq v2.13.0
[INFO] [stderr]   Downloaded spinners v4.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] baacdbcc8ca9e9bcc70a44b74381b414a1897907be34b63830fe23ac47ad0744
[INFO] running `Command { std: "docker" "start" "-a" "baacdbcc8ca9e9bcc70a44b74381b414a1897907be34b63830fe23ac47ad0744", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "baacdbcc8ca9e9bcc70a44b74381b414a1897907be34b63830fe23ac47ad0744", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "baacdbcc8ca9e9bcc70a44b74381b414a1897907be34b63830fe23ac47ad0744", kill_on_drop: false }`
[INFO] [stdout] baacdbcc8ca9e9bcc70a44b74381b414a1897907be34b63830fe23ac47ad0744
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 119a05fed3a6363506bf581ae065236cd0e4c13d8df4ad27e36624e43dec6c56
[INFO] running `Command { std: "docker" "start" "-a" "119a05fed3a6363506bf581ae065236cd0e4c13d8df4ad27e36624e43dec6c56", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking cpufeatures v0.2.16
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking indexmap v2.7.1
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]    Compiling serde_json v1.0.137
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Compiling cc v1.2.10
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking base64 v0.20.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling minreq v2.13.0
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking actix-server v2.5.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling 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 openssl-macros v0.1.1
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]     Checking spinners v4.1.1
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]     Checking actix-http v3.9.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking openai-api-rs v4.1.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking actix-web v4.9.0
[INFO] [stderr]     Checking actix-cors v0.7.0
[INFO] [stderr]     Checking actix-session v0.9.0
[INFO] [stderr]     Checking month-of-ai-api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `RequestTool` and `ToolFunction`
[INFO] [stdout]  --> src/api/movies.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ChatCompletionRequest, Message, RequestTool, ResponseFormat, ResponseType::JsonObject,
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 4 |     ResponseType::Text, ToolFunction,
[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: `ChatCompletionChoice`
[INFO] [stdout]  --> src/api/movies.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::model::chat_completion_response::{ChatCompletionChoice, ChatCompletionResponse};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]   --> src/api/movies.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use log::{debug, error, info, warn};
[INFO] [stdout]    |                  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]  --> src/api/scraper.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{debug, error, info, warn};
[INFO] [stdout]   |                  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::chat_completion_request::Message`
[INFO] [stdout]  --> src/model/chat_completion_response.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::chat_completion_request::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `user` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     user,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `User`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `system` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     system,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `System`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `assistant` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     assistant,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Assistant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `function` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     function,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `stop` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     stop,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Stop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `length` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     length,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `content_filter` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     content_filter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ContentFilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tool_calls` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     tool_calls,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ToolCalls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `null` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     null,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Null`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RequestTool` and `ToolFunction`
[INFO] [stdout]  --> src/api/movies.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ChatCompletionRequest, Message, RequestTool, ResponseFormat, ResponseType::JsonObject,
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 4 |     ResponseType::Text, ToolFunction,
[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: `ChatCompletionChoice`
[INFO] [stdout]  --> src/api/movies.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::model::chat_completion_response::{ChatCompletionChoice, ChatCompletionResponse};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]   --> src/api/movies.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use log::{debug, error, info, warn};
[INFO] [stdout]    |                  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]  --> src/api/scraper.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{debug, error, info, warn};
[INFO] [stdout]   |                  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::chat_completion_request::Message`
[INFO] [stdout]  --> src/model/chat_completion_response.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::chat_completion_request::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `user` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     user,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `User`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `system` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     system,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `System`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `assistant` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     assistant,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Assistant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `function` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     function,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `stop` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     stop,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Stop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `length` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     length,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `content_filter` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     content_filter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ContentFilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tool_calls` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     tool_calls,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ToolCalls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `null` should have an upper camel case name
[INFO] [stdout]   --> src/model/chat_completion_response.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     null,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Null`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/movies.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut possible_movies = cache.lock().unwrap().top_movies.lock().unwrap().to_vec();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:128:46
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 if let Ok(parsed_date) = Utc.datetime_from_str(&m.release_date, "%Y-%m-%d") {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:131:47
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     if let Ok(min_date) = Utc.datetime_from_str(&release_date_min, "%Y-%m-%d") {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                         Utc.datetime_from_str(&m.release_date, "%Y-%m-%d")
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 |m| match Utc.datetime_from_str(&m.release_date, "%Y-%m-%d") {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:162:51
[INFO] [stdout]     |
[INFO] [stdout] 162 |                         if let Ok(max_date) = Utc.datetime_from_str(&release_date_max, "%Y-%m-%d") {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/api/movies.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut possible_movies = cache.lock().unwrap().top_movies.lock().unwrap().to_vec();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:128:46
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 if let Ok(parsed_date) = Utc.datetime_from_str(&m.release_date, "%Y-%m-%d") {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:131:47
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     if let Ok(min_date) = Utc.datetime_from_str(&release_date_min, "%Y-%m-%d") {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                         Utc.datetime_from_str(&m.release_date, "%Y-%m-%d")
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 |m| match Utc.datetime_from_str(&m.release_date, "%Y-%m-%d") {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::datetime_from_str`: use `DateTime::parse_from_str` or `NaiveDateTime::parse_from_str` with `and_utc()` or `and_local_timezone()` instead
[INFO] [stdout]    --> src/util/movie_helper.rs:162:51
[INFO] [stdout]     |
[INFO] [stdout] 162 |                         if let Ok(max_date) = Utc.datetime_from_str(&release_date_max, "%Y-%m-%d") {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/model/chat_completion_request.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl MessageBuilder {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn name(mut self, name: String) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OAIChoices` is never constructed
[INFO] [stdout]  --> src/model/chat_completion_response.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct OAIChoices {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/model/chat_completion_response.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub id: Option<String>,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub object: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub created: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub model: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub usage: Usage,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 41 |     pub system_fingerprint: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub headers: Option<HashMap<String, String>>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatCompletionResponse` 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 `encoding_format` is never used
[INFO] [stdout]   --> src/model/embedding_request_body.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl EmbeddingRequestBodyBuilder {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn encoding_format(mut self, encoding_format: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `builder` is never used
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MovieCriteria {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn builder() -> MovieCriteriaBuilder {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SortCriteria` is never constructed
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SortCriteria {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SortDirection` is never used
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SortDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Criteria` is never constructed
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Criteria {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieCriteriaBuilder` is never constructed
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct MovieCriteriaBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/model/movies/movie_criteria.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl MovieCriteriaBuilder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  53 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn search(mut self, search: String) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn genre(mut self, genre: String) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn mpaa(mut self, mpaa: String) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn release_date_min(mut self, release_date_min: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn release_date_max(mut self, release_date_max: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn score_min(mut self, score_min: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn score_max(mut self, score_max: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn natural_language(mut self, natural_language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn build(self) -> MovieCriteria {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/model/chat_completion_request.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl MessageBuilder {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn name(mut self, name: String) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OAIChoices` is never constructed
[INFO] [stdout]  --> src/model/chat_completion_response.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct OAIChoices {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/model/chat_completion_response.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub id: Option<String>,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub object: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub created: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub model: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub usage: Usage,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 41 |     pub system_fingerprint: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub headers: Option<HashMap<String, String>>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatCompletionResponse` 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 `encoding_format` is never used
[INFO] [stdout]   --> src/model/embedding_request_body.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl EmbeddingRequestBodyBuilder {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn encoding_format(mut self, encoding_format: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `builder` is never used
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MovieCriteria {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn builder() -> MovieCriteriaBuilder {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SortCriteria` is never constructed
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SortCriteria {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SortDirection` is never used
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SortDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Criteria` is never constructed
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Criteria {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovieCriteriaBuilder` is never constructed
[INFO] [stdout]   --> src/model/movies/movie_criteria.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct MovieCriteriaBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/model/movies/movie_criteria.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl MovieCriteriaBuilder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  53 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn search(mut self, search: String) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn genre(mut self, genre: String) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn mpaa(mut self, mpaa: String) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn release_date_min(mut self, release_date_min: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn release_date_max(mut self, release_date_max: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn score_min(mut self, score_min: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn score_max(mut self, score_max: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn natural_language(mut self, natural_language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn build(self) -> MovieCriteria {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 50s
[INFO] running `Command { std: "docker" "inspect" "119a05fed3a6363506bf581ae065236cd0e4c13d8df4ad27e36624e43dec6c56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "119a05fed3a6363506bf581ae065236cd0e4c13d8df4ad27e36624e43dec6c56", kill_on_drop: false }`
[INFO] [stdout] 119a05fed3a6363506bf581ae065236cd0e4c13d8df4ad27e36624e43dec6c56
