[INFO] cloning repository https://github.com/poyen-wu/openai-oss-relay
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/poyen-wu/openai-oss-relay" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpoyen-wu%2Fopenai-oss-relay", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpoyen-wu%2Fopenai-oss-relay'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9e78f72a1138c83fe87c6866937ce5822c5d538c
[INFO] checking poyen-wu/openai-oss-relay against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpoyen-wu%2Fopenai-oss-relay" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/poyen-wu/openai-oss-relay
[INFO] finished tweaking git repo https://github.com/poyen-wu/openai-oss-relay
[INFO] tweaked toml for git repo https://github.com/poyen-wu/openai-oss-relay written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/poyen-wu/openai-oss-relay on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/poyen-wu/openai-oss-relay 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4500456c02784fc0fbb298e4f8780d00a0dd93e1e30da8afbb7ef9266a6ac08a
[INFO] running `Command { std: "docker" "start" "-a" "4500456c02784fc0fbb298e4f8780d00a0dd93e1e30da8afbb7ef9266a6ac08a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4500456c02784fc0fbb298e4f8780d00a0dd93e1e30da8afbb7ef9266a6ac08a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4500456c02784fc0fbb298e4f8780d00a0dd93e1e30da8afbb7ef9266a6ac08a", kill_on_drop: false }`
[INFO] [stdout] 4500456c02784fc0fbb298e4f8780d00a0dd93e1e30da8afbb7ef9266a6ac08a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03defd46e0f9fe05854330fbb8ffaa0c9b3995583582f79e98e51c87b79727a1
[INFO] running `Command { std: "docker" "start" "-a" "03defd46e0f9fe05854330fbb8ffaa0c9b3995583582f79e98e51c87b79727a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking serde_json v1.0.142
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking openai-oss-relay v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:252:41
[INFO] [stdout]     |
[INFO] [stdout] 252 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 253 | |     // Remember whether this request needs the special chat‑completion handling.
[INFO] [stdout] 254 | |     let is_chat = req.uri().path() == "/v1/chat/completions";
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:252:41
[INFO] [stdout]     |
[INFO] [stdout] 252 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 253 | |     // Remember whether this request needs the special chat‑completion handling.
[INFO] [stdout] 254 | |     let is_chat = req.uri().path() == "/v1/chat/completions";
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 | /     match client.request(upstream_req).await {
[INFO] [stdout] 286 | |         Ok(res) => {
[INFO] [stdout] 287 | |             if is_chat {
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] ...   |
[INFO] [stdout] 300 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:286:20
[INFO] [stdout]     |
[INFO] [stdout] 286 |           Ok(res) => {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 287 | |             if is_chat {
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] 289 | |             } else {
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 | /             if is_chat {
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] 289 | |             } else {
[INFO] [stdout] 290 | |                 Ok(res)
[INFO] [stdout] 291 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:287:24
[INFO] [stdout]     |
[INFO] [stdout] 287 |               if is_chat {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] 289 | |             } else {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:288:71
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:289:20
[INFO] [stdout]     |
[INFO] [stdout] 289 |               } else {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 290 | |                 Ok(res)
[INFO] [stdout] 291 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 Ok(res)
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 |           Err(e) => {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 294 | |             error!("upstream request failed: {}", e);
[INFO] [stdout] 295 | |             Ok(error_response(
[INFO] [stdout] 296 | |                 StatusCode::BAD_GATEWAY,
[INFO] [stdout] 297 | |                 format!("upstream error: {e}"),
[INFO] [stdout] 298 | |             ))
[INFO] [stdout] 299 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 | /             Ok(error_response(
[INFO] [stdout] 296 | |                 StatusCode::BAD_GATEWAY,
[INFO] [stdout] 297 | |                 format!("upstream error: {e}"),
[INFO] [stdout] 298 | |             ))
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:309:41
[INFO] [stdout]     |
[INFO] [stdout] 309 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 310 | |     let is_sse = resp
[INFO] [stdout] 311 | |         .headers()
[INFO] [stdout] 312 | |         .get(CONTENT_TYPE)
[INFO] [stdout] ...   |
[INFO] [stdout] 322 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:309:41
[INFO] [stdout]     |
[INFO] [stdout] 309 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 310 | |     let is_sse = resp
[INFO] [stdout] 311 | |         .headers()
[INFO] [stdout] 312 | |         .get(CONTENT_TYPE)
[INFO] [stdout] ...   |
[INFO] [stdout] 322 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | /     if is_sse {
[INFO] [stdout] 318 | |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout] 319 | |     } else {
[INFO] [stdout] 320 | |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout] 321 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |       if is_sse {
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 318 | |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout] 319 | |     } else {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:318:46
[INFO] [stdout]     |
[INFO] [stdout] 318 |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:319:12
[INFO] [stdout]     |
[INFO] [stdout] 319 |       } else {
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 320 | |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout] 321 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:320:46
[INFO] [stdout]     |
[INFO] [stdout] 320 |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:330:41
[INFO] [stdout]     |
[INFO] [stdout] 330 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 331 | |     let (parts, body) = resp.into_parts();
[INFO] [stdout] ...   |
[INFO] [stdout] 383 | |     Ok(out_resp)
[INFO] [stdout] 384 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:330:41
[INFO] [stdout]     |
[INFO] [stdout] 330 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 331 | |     let (parts, body) = resp.into_parts();
[INFO] [stdout] ...   |
[INFO] [stdout] 383 | |     Ok(out_resp)
[INFO] [stdout] 384 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:337:20
[INFO] [stdout]     |
[INFO] [stdout] 337 |               return Ok(error_response(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 338 | |                 StatusCode::BAD_GATEWAY,
[INFO] [stdout] 339 | |                 format!("failed to read upstream body: {e}"),
[INFO] [stdout] 340 | |             ));
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:351:20
[INFO] [stdout]     |
[INFO] [stdout] 351 |             return Ok(resp);
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:373:20
[INFO] [stdout]     |
[INFO] [stdout] 373 |               return Ok(error_response(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 374 | |                 StatusCode::INTERNAL_SERVER_ERROR,
[INFO] [stdout] 375 | |                 "internal rewrite error",
[INFO] [stdout] 376 | |             ));
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     Ok(out_resp)
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:392:41
[INFO] [stdout]     |
[INFO] [stdout] 392 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 393 | |     // Preserve all upstream headers except Content‑Length (size will change).
[INFO] [stdout] 394 | |     let mut builder = Response::builder().status(resp.status());
[INFO] [stdout] 395 | |     for (k, v) in resp.headers().iter() {
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | |         .expect("building streaming response"))
[INFO] [stdout] 410 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:392:41
[INFO] [stdout]     |
[INFO] [stdout] 392 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 393 | |     // Preserve all upstream headers except Content‑Length (size will change).
[INFO] [stdout] 394 | |     let mut builder = Response::builder().status(resp.status());
[INFO] [stdout] 395 | |     for (k, v) in resp.headers().iter() {
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | |         .expect("building streaming response"))
[INFO] [stdout] 410 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 | /     Ok(builder
[INFO] [stdout] 408 | |         .body(Body::wrap_stream(stream))
[INFO] [stdout] 409 | |         .expect("building streaming response"))
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:532:44: 532:54}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:531:20
[INFO] [stdout]     |
[INFO] [stdout] 531 |           async move {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 532 | |             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 533 | |                 forward_request(req, cfg.clone(), client.clone())
[INFO] [stdout] 534 | |             }))
[INFO] [stdout] 535 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:532:44: 532:54}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 | /             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 533 | |                 forward_request(req, cfg.clone(), client.clone())
[INFO] [stdout] 534 | |             }))
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `openai-oss-relay` (bin "openai-oss-relay" test) due to 35 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:252:41
[INFO] [stdout]     |
[INFO] [stdout] 252 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 253 | |     // Remember whether this request needs the special chat‑completion handling.
[INFO] [stdout] 254 | |     let is_chat = req.uri().path() == "/v1/chat/completions";
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:252:41
[INFO] [stdout]     |
[INFO] [stdout] 252 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 253 | |     // Remember whether this request needs the special chat‑completion handling.
[INFO] [stdout] 254 | |     let is_chat = req.uri().path() == "/v1/chat/completions";
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 | /     match client.request(upstream_req).await {
[INFO] [stdout] 286 | |         Ok(res) => {
[INFO] [stdout] 287 | |             if is_chat {
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] ...   |
[INFO] [stdout] 300 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:286:20
[INFO] [stdout]     |
[INFO] [stdout] 286 |           Ok(res) => {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 287 | |             if is_chat {
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] 289 | |             } else {
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 | /             if is_chat {
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] 289 | |             } else {
[INFO] [stdout] 290 | |                 Ok(res)
[INFO] [stdout] 291 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:287:24
[INFO] [stdout]     |
[INFO] [stdout] 287 |               if is_chat {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 288 | |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout] 289 | |             } else {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:288:71
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 handle_chat_completions(res, cfg.replace_cfg.clone()).await
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:289:20
[INFO] [stdout]     |
[INFO] [stdout] 289 |               } else {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 290 | |                 Ok(res)
[INFO] [stdout] 291 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 Ok(res)
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 |           Err(e) => {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 294 | |             error!("upstream request failed: {}", e);
[INFO] [stdout] 295 | |             Ok(error_response(
[INFO] [stdout] 296 | |                 StatusCode::BAD_GATEWAY,
[INFO] [stdout] 297 | |                 format!("upstream error: {e}"),
[INFO] [stdout] 298 | |             ))
[INFO] [stdout] 299 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 | /             Ok(error_response(
[INFO] [stdout] 296 | |                 StatusCode::BAD_GATEWAY,
[INFO] [stdout] 297 | |                 format!("upstream error: {e}"),
[INFO] [stdout] 298 | |             ))
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:309:41
[INFO] [stdout]     |
[INFO] [stdout] 309 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 310 | |     let is_sse = resp
[INFO] [stdout] 311 | |         .headers()
[INFO] [stdout] 312 | |         .get(CONTENT_TYPE)
[INFO] [stdout] ...   |
[INFO] [stdout] 322 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:309:41
[INFO] [stdout]     |
[INFO] [stdout] 309 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 310 | |     let is_sse = resp
[INFO] [stdout] 311 | |         .headers()
[INFO] [stdout] 312 | |         .get(CONTENT_TYPE)
[INFO] [stdout] ...   |
[INFO] [stdout] 322 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | /     if is_sse {
[INFO] [stdout] 318 | |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout] 319 | |     } else {
[INFO] [stdout] 320 | |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout] 321 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |       if is_sse {
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 318 | |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout] 319 | |     } else {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:318:46
[INFO] [stdout]     |
[INFO] [stdout] 318 |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         rewrite_streaming(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:319:12
[INFO] [stdout]     |
[INFO] [stdout] 319 |       } else {
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 320 | |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout] 321 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:320:46
[INFO] [stdout]     |
[INFO] [stdout] 320 |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |         rewrite_full_json(resp, replace_cfg).await
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:330:41
[INFO] [stdout]     |
[INFO] [stdout] 330 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 331 | |     let (parts, body) = resp.into_parts();
[INFO] [stdout] ...   |
[INFO] [stdout] 383 | |     Ok(out_resp)
[INFO] [stdout] 384 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:330:41
[INFO] [stdout]     |
[INFO] [stdout] 330 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 331 | |     let (parts, body) = resp.into_parts();
[INFO] [stdout] ...   |
[INFO] [stdout] 383 | |     Ok(out_resp)
[INFO] [stdout] 384 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:337:20
[INFO] [stdout]     |
[INFO] [stdout] 337 |               return Ok(error_response(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 338 | |                 StatusCode::BAD_GATEWAY,
[INFO] [stdout] 339 | |                 format!("failed to read upstream body: {e}"),
[INFO] [stdout] 340 | |             ));
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:351:20
[INFO] [stdout]     |
[INFO] [stdout] 351 |             return Ok(resp);
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:373:20
[INFO] [stdout]     |
[INFO] [stdout] 373 |               return Ok(error_response(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 374 | |                 StatusCode::INTERNAL_SERVER_ERROR,
[INFO] [stdout] 375 | |                 "internal rewrite error",
[INFO] [stdout] 376 | |             ));
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     Ok(out_resp)
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:392:41
[INFO] [stdout]     |
[INFO] [stdout] 392 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 393 | |     // Preserve all upstream headers except Content‑Length (size will change).
[INFO] [stdout] 394 | |     let mut builder = Response::builder().status(resp.status());
[INFO] [stdout] 395 | |     for (k, v) in resp.headers().iter() {
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | |         .expect("building streaming response"))
[INFO] [stdout] 410 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:392:41
[INFO] [stdout]     |
[INFO] [stdout] 392 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 393 | |     // Preserve all upstream headers except Content‑Length (size will change).
[INFO] [stdout] 394 | |     let mut builder = Response::builder().status(resp.status());
[INFO] [stdout] 395 | |     for (k, v) in resp.headers().iter() {
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | |         .expect("building streaming response"))
[INFO] [stdout] 410 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 | /     Ok(builder
[INFO] [stdout] 408 | |         .body(Body::wrap_stream(stream))
[INFO] [stdout] 409 | |         .expect("building streaming response"))
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:532:44: 532:54}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:531:20
[INFO] [stdout]     |
[INFO] [stdout] 531 |           async move {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 532 | |             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 533 | |                 forward_request(req, cfg.clone(), client.clone())
[INFO] [stdout] 534 | |             }))
[INFO] [stdout] 535 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:532:44: 532:54}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 | /             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 533 | |                 forward_request(req, cfg.clone(), client.clone())
[INFO] [stdout] 534 | |             }))
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `openai-oss-relay` (bin "openai-oss-relay") due to 35 previous errors
[INFO] running `Command { std: "docker" "inspect" "03defd46e0f9fe05854330fbb8ffaa0c9b3995583582f79e98e51c87b79727a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03defd46e0f9fe05854330fbb8ffaa0c9b3995583582f79e98e51c87b79727a1", kill_on_drop: false }`
[INFO] [stdout] 03defd46e0f9fe05854330fbb8ffaa0c9b3995583582f79e98e51c87b79727a1
