[INFO] fetching crate simple-open-ai 0.1.0...
[INFO] testing simple-open-ai-0.1.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate simple-open-ai 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate simple-open-ai 0.1.0
[INFO] finished tweaking crates.io crate simple-open-ai 0.1.0
[INFO] tweaked toml for crates.io crate simple-open-ai 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate simple-open-ai 0.1.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate simple-open-ai 0.1.0 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.33
[INFO] [stderr]   Downloaded unicode-ident v1.0.12
[INFO] [stderr]   Downloaded tokio-macros v2.1.0
[INFO] [stderr]   Downloaded strum v0.25.0
[INFO] [stderr]   Downloaded rustversion v1.0.14
[INFO] [stderr]   Downloaded heck v0.4.1
[INFO] [stderr]   Downloaded parking_lot_core v0.9.9
[INFO] [stderr]   Downloaded strum_macros v0.25.3
[INFO] [stderr]   Downloaded dotenv v0.15.0
[INFO] [stderr]   Downloaded hyper-tls v0.5.0
[INFO] [stderr]   Downloaded futures-core v0.3.29
[INFO] [stderr]   Downloaded futures-task v0.3.29
[INFO] [stderr]   Downloaded http-body v0.4.5
[INFO] [stderr]   Downloaded tower-service v0.3.2
[INFO] [stderr]   Downloaded try-lock v0.2.4
[INFO] [stderr]   Downloaded system-configuration v0.5.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.88
[INFO] [stderr]   Downloaded futures-sink v0.3.29
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.38
[INFO] [stderr]   Downloaded percent-encoding v2.3.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.88
[INFO] [stderr]   Downloaded form_urlencoded v1.2.0
[INFO] [stderr]   Downloaded openssl-probe v0.1.5
[INFO] [stderr]   Downloaded system-configuration-sys v0.5.0
[INFO] [stderr]   Downloaded hermit-abi v0.3.3
[INFO] [stderr]   Downloaded fastrand v2.0.1
[INFO] [stderr]   Downloaded itoa v1.0.9
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.1
[INFO] [stderr]   Downloaded rustc-demangle v0.1.23
[INFO] [stderr]   Downloaded errno v0.3.6
[INFO] [stderr]   Downloaded native-tls v0.2.11
[INFO] [stderr]   Downloaded tempfile v3.8.1
[INFO] [stderr]   Downloaded security-framework-sys v2.9.1
[INFO] [stderr]   Downloaded core-foundation-sys v0.8.4
[INFO] [stderr]   Downloaded pkg-config v0.3.27
[INFO] [stderr]   Downloaded httparse v1.8.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.69
[INFO] [stderr]   Downloaded pin-project-lite v0.2.13
[INFO] [stderr]   Downloaded redox_syscall v0.4.1
[INFO] [stderr]   Downloaded unicase v2.7.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.88
[INFO] [stderr]   Downloaded lock_api v0.4.11
[INFO] [stderr]   Downloaded mime_guess v2.0.4
[INFO] [stderr]   Downloaded ipnet v2.9.0
[INFO] [stderr]   Downloaded futures-channel v0.3.29
[INFO] [stderr]   Downloaded socket2 v0.5.5
[INFO] [stderr]   Downloaded smallvec v1.11.1
[INFO] [stderr]   Downloaded addr2line v0.21.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.88
[INFO] [stderr]   Downloaded once_cell v1.18.0
[INFO] [stderr]   Downloaded tinyvec v1.6.0
[INFO] [stderr]   Downloaded bitflags v2.4.1
[INFO] [stderr]   Downloaded schannel v0.1.22
[INFO] [stderr]   Downloaded ryu v1.0.15
[INFO] [stderr]   Downloaded socket2 v0.4.10
[INFO] [stderr]   Downloaded miniz_oxide v0.7.1
[INFO] [stderr]   Downloaded serde v1.0.192
[INFO] [stderr]   Downloaded log v0.4.20
[INFO] [stderr]   Downloaded indexmap v1.9.3
[INFO] [stderr]   Downloaded bytes v1.5.0
[INFO] [stderr]   Downloaded unicode-bidi v0.3.13
[INFO] [stderr]   Downloaded openssl-sys v0.9.95
[INFO] [stderr]   Downloaded tracing-core v0.1.32
[INFO] [stderr]   Downloaded base64 v0.21.5
[INFO] [stderr]   Downloaded syn v2.0.39
[INFO] [stderr]   Downloaded parking_lot v0.12.1
[INFO] [stderr]   Downloaded backtrace v0.3.69
[INFO] [stderr]   Downloaded cc v1.0.83
[INFO] [stderr]   Downloaded serde_derive v1.0.192
[INFO] [stderr]   Downloaded js-sys v0.3.65
[INFO] [stderr]   Downloaded url v2.4.1
[INFO] [stderr]   Downloaded security-framework v2.9.2
[INFO] [stderr]   Downloaded memchr v2.6.4
[INFO] [stderr]   Downloaded tracing v0.1.40
[INFO] [stderr]   Downloaded http v0.2.9
[INFO] [stderr]   Downloaded tokio-util v0.7.10
[INFO] [stderr]   Downloaded mio v0.8.9
[INFO] [stderr]   Downloaded bumpalo v3.14.0
[INFO] [stderr]   Downloaded serde_json v1.0.108
[INFO] [stderr]   Downloaded futures-util v0.3.29
[INFO] [stderr]   Downloaded reqwest v0.11.22
[INFO] [stderr]   Downloaded h2 v0.3.21
[INFO] [stderr]   Downloaded unicode-normalization v0.1.22
[INFO] [stderr]   Downloaded hyper v0.14.27
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.88
[INFO] [stderr]   Downloaded object v0.32.1
[INFO] [stderr]   Downloaded gimli v0.28.0
[INFO] [stderr]   Downloaded openssl v0.10.59
[INFO] [stderr]   Downloaded rustix v0.38.21
[INFO] [stderr]   Downloaded tokio v1.33.0
[INFO] [stderr]   Downloaded libc v0.2.150
[INFO] [stderr]   Downloaded web-sys v0.3.65
[INFO] [stderr]   Downloaded encoding_rs v0.8.33
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d7c69ed471ef06539719df04b134db8d73b308c18ef0e96580baf8c76af7ec64
[INFO] running `Command { std: "docker" "start" "-a" "d7c69ed471ef06539719df04b134db8d73b308c18ef0e96580baf8c76af7ec64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d7c69ed471ef06539719df04b134db8d73b308c18ef0e96580baf8c76af7ec64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7c69ed471ef06539719df04b134db8d73b308c18ef0e96580baf8c76af7ec64", kill_on_drop: false }`
[INFO] [stdout] d7c69ed471ef06539719df04b134db8d73b308c18ef0e96580baf8c76af7ec64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e3f4c29788aa3b2a180822c896dce6aee2570063558be4854e777ff0b5ae8fd
[INFO] running `Command { std: "docker" "start" "-a" "1e3f4c29788aa3b2a180822c896dce6aee2570063558be4854e777ff0b5ae8fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.59
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling futures-sink v0.3.29
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling http v0.2.9
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling percent-encoding v2.3.0
[INFO] [stderr]    Compiling try-lock v0.2.4
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling mio v0.8.9
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.0
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling encoding_rs v0.8.33
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling base64 v0.21.5
[INFO] [stderr]    Compiling ipnet v2.9.0
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling openssl-sys v0.9.95
[INFO] [stderr]    Compiling url v2.4.1
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling tokio v1.33.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.21
[INFO] [stderr]    Compiling hyper v0.14.27
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.22
[INFO] [stderr]    Compiling simple-open-ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/stt.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[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 `Request` is never constructed
[INFO] [stdout]   --> src/stt.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiResponse` is never constructed
[INFO] [stdout]   --> src/stt.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct OpenAiResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/stt.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_response_format`, `with_language`, `with_prompt`, and `with_temperature` are never used
[INFO] [stdout]    --> src/stt.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Request {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(content: Vec<u8>) -> Request {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_language(mut self, language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_prompt(mut self, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_temperature(mut self, temperature: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_from_voice` is never used
[INFO] [stdout]    --> src/stt.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn get_text_from_voice(api_key: &str, req: Request) -> Result<String, ApiError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_response` is never used
[INFO] [stdout]    --> src/stt.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn get_response(response_fromat: ResponseFormat, response: Response) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/tts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/speech";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/tts.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/tts.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Voice` is never used
[INFO] [stdout]   --> src/tts.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Voice {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_response_format` are never used
[INFO] [stdout]   --> src/tts.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Request {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(model: String, input: String, voice: Voice) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_voice_from_text` is never used
[INFO] [stdout]   --> src/tts.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn get_voice_from_text(req: Request, api_key: &str) -> Result<Bytes, ApiError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]   --> src/error.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ApiError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/chat.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ENDPOINT: &str = "https://api.openai.com/v1/chat/completions";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionRequest` is never constructed
[INFO] [stdout]   --> src/chat.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ChatCompletionRequest<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionResponse` is never constructed
[INFO] [stdout]   --> src/chat.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Choice` is never constructed
[INFO] [stdout]   --> src/chat.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Choice {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]   --> src/chat.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Message {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usage` is never constructed
[INFO] [stdout]   --> src/chat.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Usage {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text` is never used
[INFO] [stdout]   --> src/chat.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub async fn send_text<'a>(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stt::get_text_from_voice`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use stt::get_text_from_voice;
[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 imports: `AsyncReadExt`, `AsyncWriteExt`, and `fs::File`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fs::File,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]    |          ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Request`, `Voice`, and `get_voice_from_text`
[INFO] [stdout]   --> src/main.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tts::{get_voice_from_text, Request, Voice};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read
[INFO] [stdout]   --> src/chat.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 60 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 61 |     pub object: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 62 |     pub created: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 63 |     pub model: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub usage: Usage,
[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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Error(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 33 -     Error(String),
[INFO] [stdout] 33 +     Error(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |     RequestError(reqwest::Error),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 34 -     RequestError(reqwest::Error),
[INFO] [stdout] 34 +     RequestError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/stt.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/stt.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiResponse` is never constructed
[INFO] [stdout]   --> src/stt.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct OpenAiResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/stt.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_response_format`, `with_language`, `with_prompt`, and `with_temperature` are never used
[INFO] [stdout]    --> src/stt.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Request {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(content: Vec<u8>) -> Request {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_language(mut self, language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_prompt(mut self, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_temperature(mut self, temperature: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_from_voice` is never used
[INFO] [stdout]    --> src/stt.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn get_text_from_voice(api_key: &str, req: Request) -> Result<String, ApiError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_response` is never used
[INFO] [stdout]    --> src/stt.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn get_response(response_fromat: ResponseFormat, response: Response) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/tts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/speech";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/tts.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/tts.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Voice` is never used
[INFO] [stdout]   --> src/tts.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Voice {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_response_format` are never used
[INFO] [stdout]   --> src/tts.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Request {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(model: String, input: String, voice: Voice) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_voice_from_text` is never used
[INFO] [stdout]   --> src/tts.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn get_voice_from_text(req: Request, api_key: &str) -> Result<Bytes, ApiError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.80s
[INFO] running `Command { std: "docker" "inspect" "1e3f4c29788aa3b2a180822c896dce6aee2570063558be4854e777ff0b5ae8fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e3f4c29788aa3b2a180822c896dce6aee2570063558be4854e777ff0b5ae8fd", kill_on_drop: false }`
[INFO] [stdout] 1e3f4c29788aa3b2a180822c896dce6aee2570063558be4854e777ff0b5ae8fd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7d7db58555bfb6b55cb12d51304e28a34e872057f25b685f1e4e162410d7a5b
[INFO] running `Command { std: "docker" "start" "-a" "e7d7db58555bfb6b55cb12d51304e28a34e872057f25b685f1e4e162410d7a5b", kill_on_drop: false }`
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/stt.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[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 `Request` is never constructed
[INFO] [stdout]   --> src/stt.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiResponse` is never constructed
[INFO] [stdout]   --> src/stt.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct OpenAiResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/stt.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_response_format`, `with_language`, `with_prompt`, and `with_temperature` are never used
[INFO] [stdout]    --> src/stt.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Request {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(content: Vec<u8>) -> Request {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_language(mut self, language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_prompt(mut self, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_temperature(mut self, temperature: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_from_voice` is never used
[INFO] [stdout]    --> src/stt.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn get_text_from_voice(api_key: &str, req: Request) -> Result<String, ApiError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_response` is never used
[INFO] [stdout]    --> src/stt.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn get_response(response_fromat: ResponseFormat, response: Response) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/tts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/speech";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/tts.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/tts.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Voice` is never used
[INFO] [stdout]   --> src/tts.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Voice {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_response_format` are never used
[INFO] [stdout]   --> src/tts.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Request {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(model: String, input: String, voice: Voice) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_voice_from_text` is never used
[INFO] [stdout]   --> src/tts.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn get_voice_from_text(req: Request, api_key: &str) -> Result<Bytes, ApiError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]   --> src/error.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ApiError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/chat.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ENDPOINT: &str = "https://api.openai.com/v1/chat/completions";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionRequest` is never constructed
[INFO] [stdout]   --> src/chat.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ChatCompletionRequest<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionResponse` is never constructed
[INFO] [stdout]   --> src/chat.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Choice` is never constructed
[INFO] [stdout]   --> src/chat.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Choice {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]   --> src/chat.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Message {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling simple-open-ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Usage` is never constructed
[INFO] [stdout]   --> src/chat.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Usage {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text` is never used
[INFO] [stdout]   --> src/chat.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub async fn send_text<'a>(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stt::get_text_from_voice`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use stt::get_text_from_voice;
[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 imports: `AsyncReadExt`, `AsyncWriteExt`, and `fs::File`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fs::File,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]    |          ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Request`, `Voice`, and `get_voice_from_text`
[INFO] [stdout]   --> src/main.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tts::{get_voice_from_text, Request, Voice};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/stt.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[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 `Request` is never constructed
[INFO] [stdout]   --> src/stt.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiResponse` is never constructed
[INFO] [stdout]   --> src/stt.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct OpenAiResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/stt.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_response_format`, `with_language`, `with_prompt`, and `with_temperature` are never used
[INFO] [stdout]    --> src/stt.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Request {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(content: Vec<u8>) -> Request {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_language(mut self, language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_prompt(mut self, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_temperature(mut self, temperature: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_from_voice` is never used
[INFO] [stdout]    --> src/stt.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn get_text_from_voice(api_key: &str, req: Request) -> Result<String, ApiError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_response` is never used
[INFO] [stdout]    --> src/stt.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn get_response(response_fromat: ResponseFormat, response: Response) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/tts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/speech";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/tts.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/tts.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Voice` is never used
[INFO] [stdout]   --> src/tts.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Voice {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_response_format` are never used
[INFO] [stdout]   --> src/tts.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Request {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(model: String, input: String, voice: Voice) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_voice_from_text` is never used
[INFO] [stdout]   --> src/tts.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn get_voice_from_text(req: Request, api_key: &str) -> Result<Bytes, ApiError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]   --> src/error.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ApiError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/chat.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ENDPOINT: &str = "https://api.openai.com/v1/chat/completions";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionRequest` is never constructed
[INFO] [stdout]   --> src/chat.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ChatCompletionRequest<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatCompletionResponse` is never constructed
[INFO] [stdout]   --> src/chat.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Choice` is never constructed
[INFO] [stdout]   --> src/chat.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Choice {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]   --> src/chat.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Message {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usage` is never constructed
[INFO] [stdout]   --> src/chat.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Usage {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text` is never used
[INFO] [stdout]   --> src/chat.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub async fn send_text<'a>(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read
[INFO] [stdout]   --> src/chat.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ChatCompletionResponse {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 60 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 61 |     pub object: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 62 |     pub created: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 63 |     pub model: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub usage: Usage,
[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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Error(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 33 -     Error(String),
[INFO] [stdout] 33 +     Error(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |     RequestError(reqwest::Error),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 34 -     RequestError(reqwest::Error),
[INFO] [stdout] 34 +     RequestError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/stt.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/stt.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiResponse` is never constructed
[INFO] [stdout]   --> src/stt.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct OpenAiResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/stt.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_response_format`, `with_language`, `with_prompt`, and `with_temperature` are never used
[INFO] [stdout]    --> src/stt.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Request {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(content: Vec<u8>) -> Request {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_language(mut self, language: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_prompt(mut self, prompt: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn with_temperature(mut self, temperature: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_text_from_voice` is never used
[INFO] [stdout]    --> src/stt.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn get_text_from_voice(api_key: &str, req: Request) -> Result<String, ApiError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_response` is never used
[INFO] [stdout]    --> src/stt.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | async fn get_response(response_fromat: ResponseFormat, response: Response) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT` is never used
[INFO] [stdout]   --> src/tts.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/speech";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]   --> src/tts.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Request {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseFormat` is never used
[INFO] [stdout]   --> src/tts.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum ResponseFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Voice` is never used
[INFO] [stdout]   --> src/tts.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Voice {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_response_format` are never used
[INFO] [stdout]   --> src/tts.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Request {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(model: String, input: String, voice: Voice) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_voice_from_text` is never used
[INFO] [stdout]   --> src/tts.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn get_voice_from_text(req: Request, api_key: &str) -> Result<Bytes, ApiError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.71s
[INFO] running `Command { std: "docker" "inspect" "e7d7db58555bfb6b55cb12d51304e28a34e872057f25b685f1e4e162410d7a5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7d7db58555bfb6b55cb12d51304e28a34e872057f25b685f1e4e162410d7a5b", kill_on_drop: false }`
[INFO] [stdout] e7d7db58555bfb6b55cb12d51304e28a34e872057f25b685f1e4e162410d7a5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 78c15e7df4d4c80c5b1511852c39314874d4cc73ba70264a42e69c4b34421f95
[INFO] running `Command { std: "docker" "start" "-a" "78c15e7df4d4c80c5b1511852c39314874d4cc73ba70264a42e69c4b34421f95", kill_on_drop: false }`
[INFO] [stderr] warning: constant `ENDPOINT` is never used
[INFO] [stderr]   --> src/stt.rs:46:7
[INFO] [stderr]    |
[INFO] [stderr] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Request` is never constructed
[INFO] [stderr]   --> src/stt.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct Request {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OpenAiResponse` is never constructed
[INFO] [stderr]   --> src/stt.rs:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub struct OpenAiResponse {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ResponseFormat` is never used
[INFO] [stderr]   --> src/stt.rs:61:10
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub enum ResponseFormat {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_response_format`, `with_language`, `with_prompt`, and `with_temperature` are never used
[INFO] [stderr]    --> src/stt.rs:79:12
[INFO] [stderr]     |
[INFO] [stderr]  78 | impl Request {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr]  79 |     pub fn new(content: Vec<u8>) -> Request {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  89 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  93 |     pub fn with_language(mut self, language: String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  97 |     pub fn with_prompt(mut self, prompt: String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 101 |     pub fn with_temperature(mut self, temperature: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_text_from_voice` is never used
[INFO] [stderr]    --> src/stt.rs:106:14
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub async fn get_text_from_voice(api_key: &str, req: Request) -> Result<String, ApiError> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_response` is never used
[INFO] [stderr]    --> src/stt.rs:138:10
[INFO] [stderr]     |
[INFO] [stderr] 138 | async fn get_response(response_fromat: ResponseFormat, response: Response) -> String {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT` is never used
[INFO] [stderr]   --> src/tts.rs:34:7
[INFO] [stderr]    |
[INFO] [stderr] 34 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/speech";
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Request` is never constructed
[INFO] [stderr]   --> src/tts.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct Request {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ResponseFormat` is never used
[INFO] [stderr]   --> src/tts.rs:43:10
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub enum ResponseFormat {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Voice` is never used
[INFO] [stderr]   --> src/tts.rs:54:10
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub enum Voice {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `with_response_format` are never used
[INFO] [stderr]   --> src/tts.rs:69:12
[INFO] [stderr]    |
[INFO] [stderr] 68 | impl Request {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 69 |     pub fn new(model: String, input: String, voice: Voice) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn with_response_format(mut self, response_format: ResponseFormat) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_voice_from_text` is never used
[INFO] [stderr]   --> src/tts.rs:82:14
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub async fn get_voice_from_text(req: Request, api_key: &str) -> Result<Bytes, ApiError> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ApiError` is never used
[INFO] [stderr]   --> src/error.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub enum ApiError {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT` is never used
[INFO] [stderr]   --> src/chat.rs:50:7
[INFO] [stderr]    |
[INFO] [stderr] 50 | const ENDPOINT: &str = "https://api.openai.com/v1/chat/completions";
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ChatCompletionRequest` is never constructed
[INFO] [stderr]   --> src/chat.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub struct ChatCompletionRequest<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ChatCompletionResponse` is never constructed
[INFO] [stderr]   --> src/chat.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct ChatCompletionResponse {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Choice` is never constructed
[INFO] [stderr]   --> src/chat.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub struct Choice {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Message` is never constructed
[INFO] [stderr]   --> src/chat.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct Message {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Usage` is never constructed
[INFO] [stderr]   --> src/chat.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub struct Usage {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_text` is never used
[INFO] [stderr]   --> src/chat.rs:88:14
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub async fn send_text<'a>(
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `simple-open-ai` (lib) generated 21 warnings
[INFO] [stderr] warning: `simple-open-ai` (lib test) generated 21 warnings (21 duplicates)
[INFO] [stderr] warning: unused import: `stt::get_text_from_voice`
[INFO] [stderr]  --> src/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use stt::get_text_from_voice;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AsyncReadExt`, `AsyncWriteExt`, and `fs::File`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fs::File,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 12 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stderr]    |          ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Request`, `Voice`, and `get_voice_from_text`
[INFO] [stderr]   --> src/main.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tts::{get_voice_from_text, Request, Voice};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `object`, `created`, `model`, and `usage` are never read
[INFO] [stderr]   --> src/chat.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct ChatCompletionResponse {
[INFO] [stderr]    |            ---------------------- fields in this struct
[INFO] [stderr] 60 |     pub id: String,
[INFO] [stderr]    |         ^^
[INFO] [stderr] 61 |     pub object: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 62 |     pub created: u64,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 63 |     pub model: String,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub usage: Usage,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ChatCompletionResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/error.rs:33:11
[INFO] [stderr]    |
[INFO] [stderr] 33 |     Error(String),
[INFO] [stderr]    |     ----- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 33 -     Error(String),
[INFO] [stderr] 33 +     Error(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/error.rs:34:18
[INFO] [stderr]    |
[INFO] [stderr] 34 |     RequestError(reqwest::Error),
[INFO] [stderr]    |     ------------ ^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 34 -     RequestError(reqwest::Error),
[INFO] [stderr] 34 +     RequestError(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT` is never used
[INFO] [stderr]   --> src/stt.rs:46:7
[INFO] [stderr]    |
[INFO] [stderr] 46 | const ENDPOINT: &str = "https://api.openai.com/v1/audio/transcriptions";
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `simple-open-ai` (bin "simple-open-ai" test) generated 19 warnings (12 duplicates) (run `cargo fix --bin "simple-open-ai" -p simple-open-ai --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/simple_open_ai-08aa08cf7a9b15fe)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/simple_open_ai-f46aa0667675a975)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests simple_open_ai
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/chat.rs - chat::Client (line 23) ... FAILED
[INFO] [stdout] test src/stt.rs - stt::ApiError (line 20) ... FAILED
[INFO] [stdout] test src/error.rs - error::ApiError (line 21) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/chat.rs - chat::Client (line 23) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::chat`
[INFO] [stdout]   --> src/chat.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::chat::{ChatCompletionRequest, ChatCompletionResponse};
[INFO] [stdout]    |            ^^^^ could not find `chat` in the crate root
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ENDPOINT` in this scope
[INFO] [stdout]   --> src/chat.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |     client.post(ENDPOINT)
[INFO] [stdout]    |                 ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/stt.rs - stt::ApiError (line 20) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `crate::stt`
[INFO] [stdout]   --> src/stt.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::stt::{Request, OpenAiResponse};
[INFO] [stdout]    |            ^^^ could not find `stt` in the crate root
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ENDPOINT` in this scope
[INFO] [stdout]   --> src/stt.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |     client.post(ENDPOINT)
[INFO] [stdout]    |                 ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/error.rs - error::ApiError (line 21) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `ApiError` in this scope
[INFO] [stdout]   --> src/error.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn example() -> Result<(), ApiError> {
[INFO] [stdout]    |                            ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn example<ApiError>() -> Result<(), ApiError> {
[INFO] [stdout]    |           ++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> src/error.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn example() -> Result<(), ApiError> {
[INFO] [stdout]    | ------------------------------------ this is not `async`
[INFO] [stdout] 23 |     let result = reqwest::get("https://example.com")
[INFO] [stdout] 24 |         .await
[INFO] [stdout]    |          ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `ApiError` in this scope
[INFO] [stdout]   --> src/error.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |         .map_err(ApiError::from)?;
[INFO] [stdout]    |                  ^^^^^^^^ use of undeclared type `ApiError`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/chat.rs - chat::Client (line 23)
[INFO] [stdout]     src/error.rs - error::ApiError (line 21)
[INFO] [stdout]     src/stt.rs - stt::ApiError (line 20)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "78c15e7df4d4c80c5b1511852c39314874d4cc73ba70264a42e69c4b34421f95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78c15e7df4d4c80c5b1511852c39314874d4cc73ba70264a42e69c4b34421f95", kill_on_drop: false }`
[INFO] [stdout] 78c15e7df4d4c80c5b1511852c39314874d4cc73ba70264a42e69c4b34421f95
