[INFO] cloning repository https://github.com/azazo1/relay_gemini
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/azazo1/relay_gemini" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazazo1%2Frelay_gemini", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazazo1%2Frelay_gemini'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9171c7400c82f00b34f4dc2fb2254f7c26ecc737
[INFO] checking azazo1/relay_gemini 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%2Fazazo1%2Frelay_gemini" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/azazo1/relay_gemini
[INFO] finished tweaking git repo https://github.com/azazo1/relay_gemini
[INFO] tweaked toml for git repo https://github.com/azazo1/relay_gemini written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/azazo1/relay_gemini 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/azazo1/relay_gemini 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 416d0824dfd16a3073251228efd0a01cd9aab35ff511b6e078b5f6a7aeaefe8f
[INFO] running `Command { std: "docker" "start" "-a" "416d0824dfd16a3073251228efd0a01cd9aab35ff511b6e078b5f6a7aeaefe8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "416d0824dfd16a3073251228efd0a01cd9aab35ff511b6e078b5f6a7aeaefe8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "416d0824dfd16a3073251228efd0a01cd9aab35ff511b6e078b5f6a7aeaefe8f", kill_on_drop: false }`
[INFO] [stdout] 416d0824dfd16a3073251228efd0a01cd9aab35ff511b6e078b5f6a7aeaefe8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 4fa153a070250a03cc3af30295fd5ad32d4ae33263c5189db2eb0b36f2dff0b7
[INFO] running `Command { std: "docker" "start" "-a" "4fa153a070250a03cc3af30295fd5ad32d4ae33263c5189db2eb0b36f2dff0b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.4
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking headers v0.3.9
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-util v0.7.14
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-proxy v0.9.1
[INFO] [stderr]     Checking relay_gemini v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:68:44: 68:54}, Body>, Infallible>
[INFO] [stdout]   --> src/main.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |           async move {
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 68 | |             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 69 | |                 let client = client.clone();
[INFO] [stdout] 70 | |                 async move { proxy(client, req).await }
[INFO] [stdout] 71 | |             }))
[INFO] [stdout] 72 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `relay_gemini` (bin "relay_gemini" test) due to 21 previous errors
[INFO] [stdout] error: this type will no longer be must used: Result<hyper::service::util::ServiceFn<{closure@src/main.rs:68:44: 68:54}, Body>, Infallible>
[INFO] [stdout]   --> src/main.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 | /             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 69 | |                 let client = client.clone();
[INFO] [stdout] 70 | |                 async move { proxy(client, req).await }
[INFO] [stdout] 71 | |             }))
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[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:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:70:49
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:92:1
[INFO] [stdout]     |
[INFO] [stdout]  92 | / {
[INFO] [stdout]  93 | |     // 构建新的请求 URI
[INFO] [stdout]  94 | |     let path_and_query = req.uri().path_and_query().map(|x| x.as_str()).unwrap_or("");
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | | }
[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:92:1
[INFO] [stdout]     |
[INFO] [stdout]  92 | / {
[INFO] [stdout]  93 | |     // 构建新的请求 URI
[INFO] [stdout]  94 | |     let path_and_query = req.uri().path_and_query().map(|x| x.as_str()).unwrap_or("");
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | | }
[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:99:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | /     match uri_string.parse::<hyper::Uri>() {
[INFO] [stdout] 100 | |         Ok(uri) => {
[INFO] [stdout] 101 | |             // 修改请求
[INFO] [stdout] 102 | |             *req.uri_mut() = uri;
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |     }
[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:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |           Ok(uri) => {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 101 | |             // 修改请求
[INFO] [stdout] 102 | |             *req.uri_mut() = uri;
[INFO] [stdout] ...   |
[INFO] [stdout] 130 | |         }
[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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 | /             match client {
[INFO] [stdout] 109 | |                 ProxyClient::NoProxy(client) => match client.request(req).await {
[INFO] [stdout] 110 | |                     Ok(res) => Ok(res),
[INFO] [stdout] 111 | |                     Err(e) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |                 },
[INFO] [stdout] 129 | |             }
[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:109:49
[INFO] [stdout]     |
[INFO] [stdout] 109 |                   ProxyClient::NoProxy(client) => match client.request(req).await {
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 110 | |                     Ok(res) => Ok(res),
[INFO] [stdout] 111 | |                     Err(e) => {
[INFO] [stdout] 112 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                 },
[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:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     Ok(res) => 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:111:31
[INFO] [stdout]     |
[INFO] [stdout] 111 |                       Err(e) => {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 112 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] 113 | |                         let mut response =
[INFO] [stdout] 114 | |                             Response::new(Body::from(format!("请求目标服务器失败: {}", e)));
[INFO] [stdout] 115 | |                         *response.status_mut() = StatusCode::BAD_GATEWAY;
[INFO] [stdout] 116 | |                         Ok(response)
[INFO] [stdout] 117 | |                     }
[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:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         Ok(response)
[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:119:47
[INFO] [stdout]     |
[INFO] [stdout] 119 |                   ProxyClient::Proxy(client) => match client.request(req).await {
[INFO] [stdout]     |  _______________________________________________^
[INFO] [stdout] 120 | |                     Ok(res) => Ok(res),
[INFO] [stdout] 121 | |                     Err(e) => {
[INFO] [stdout] 122 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |                 },
[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:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     Ok(res) => 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:121:31
[INFO] [stdout]     |
[INFO] [stdout] 121 |                       Err(e) => {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 122 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] 123 | |                         let mut response =
[INFO] [stdout] 124 | |                             Response::new(Body::from(format!("请求目标服务器失败: {}", e)));
[INFO] [stdout] 125 | |                         *response.status_mut() = StatusCode::BAD_GATEWAY;
[INFO] [stdout] 126 | |                         Ok(response)
[INFO] [stdout] 127 | |                     }
[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:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         Ok(response)
[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:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |           Err(e) => {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 132 | |             eprintln!("无法解析目标 URI: {}", e);
[INFO] [stdout] 133 | |             let mut response = Response::new(Body::from(format!("无法解析目标 URI: {}", e)));
[INFO] [stdout] 134 | |             *response.status_mut() = StatusCode::BAD_REQUEST;
[INFO] [stdout] 135 | |             Ok(response)
[INFO] [stdout] 136 | |         }
[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:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Ok(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:68:44: 68:54}, Body>, Infallible>
[INFO] [stdout]   --> src/main.rs:67:20
[INFO] [stdout]    |
[INFO] [stdout] 67 |           async move {
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 68 | |             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 69 | |                 let client = client.clone();
[INFO] [stdout] 70 | |                 async move { proxy(client, req).await }
[INFO] [stdout] 71 | |             }))
[INFO] [stdout] 72 | |         }
[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<hyper::service::util::ServiceFn<{closure@src/main.rs:68:44: 68:54}, Body>, Infallible>
[INFO] [stdout]   --> src/main.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 | /             Ok::<_, Infallible>(service_fn(move |req| {
[INFO] [stdout] 69 | |                 let client = client.clone();
[INFO] [stdout] 70 | |                 async move { proxy(client, req).await }
[INFO] [stdout] 71 | |             }))
[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:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:70:49
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 async move { proxy(client, req).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:92:1
[INFO] [stdout]     |
[INFO] [stdout]  92 | / {
[INFO] [stdout]  93 | |     // 构建新的请求 URI
[INFO] [stdout]  94 | |     let path_and_query = req.uri().path_and_query().map(|x| x.as_str()).unwrap_or("");
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | | }
[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:92:1
[INFO] [stdout]     |
[INFO] [stdout]  92 | / {
[INFO] [stdout]  93 | |     // 构建新的请求 URI
[INFO] [stdout]  94 | |     let path_and_query = req.uri().path_and_query().map(|x| x.as_str()).unwrap_or("");
[INFO] [stdout] ...   |
[INFO] [stdout] 138 | | }
[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:99:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | /     match uri_string.parse::<hyper::Uri>() {
[INFO] [stdout] 100 | |         Ok(uri) => {
[INFO] [stdout] 101 | |             // 修改请求
[INFO] [stdout] 102 | |             *req.uri_mut() = uri;
[INFO] [stdout] ...   |
[INFO] [stdout] 137 | |     }
[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:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |           Ok(uri) => {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 101 | |             // 修改请求
[INFO] [stdout] 102 | |             *req.uri_mut() = uri;
[INFO] [stdout] ...   |
[INFO] [stdout] 130 | |         }
[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:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 | /             match client {
[INFO] [stdout] 109 | |                 ProxyClient::NoProxy(client) => match client.request(req).await {
[INFO] [stdout] 110 | |                     Ok(res) => Ok(res),
[INFO] [stdout] 111 | |                     Err(e) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |                 },
[INFO] [stdout] 129 | |             }
[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:109:49
[INFO] [stdout]     |
[INFO] [stdout] 109 |                   ProxyClient::NoProxy(client) => match client.request(req).await {
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 110 | |                     Ok(res) => Ok(res),
[INFO] [stdout] 111 | |                     Err(e) => {
[INFO] [stdout] 112 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                 },
[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:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     Ok(res) => 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:111:31
[INFO] [stdout]     |
[INFO] [stdout] 111 |                       Err(e) => {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 112 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] 113 | |                         let mut response =
[INFO] [stdout] 114 | |                             Response::new(Body::from(format!("请求目标服务器失败: {}", e)));
[INFO] [stdout] 115 | |                         *response.status_mut() = StatusCode::BAD_GATEWAY;
[INFO] [stdout] 116 | |                         Ok(response)
[INFO] [stdout] 117 | |                     }
[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:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         Ok(response)
[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:119:47
[INFO] [stdout]     |
[INFO] [stdout] 119 |                   ProxyClient::Proxy(client) => match client.request(req).await {
[INFO] [stdout]     |  _______________________________________________^
[INFO] [stdout] 120 | |                     Ok(res) => Ok(res),
[INFO] [stdout] 121 | |                     Err(e) => {
[INFO] [stdout] 122 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |                 },
[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:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |                     Ok(res) => 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:121:31
[INFO] [stdout]     |
[INFO] [stdout] 121 |                       Err(e) => {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 122 | |                         eprintln!("请求目标服务器失败: {}", e);
[INFO] [stdout] 123 | |                         let mut response =
[INFO] [stdout] 124 | |                             Response::new(Body::from(format!("请求目标服务器失败: {}", e)));
[INFO] [stdout] 125 | |                         *response.status_mut() = StatusCode::BAD_GATEWAY;
[INFO] [stdout] 126 | |                         Ok(response)
[INFO] [stdout] 127 | |                     }
[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:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         Ok(response)
[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:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |           Err(e) => {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 132 | |             eprintln!("无法解析目标 URI: {}", e);
[INFO] [stdout] 133 | |             let mut response = Response::new(Body::from(format!("无法解析目标 URI: {}", e)));
[INFO] [stdout] 134 | |             *response.status_mut() = StatusCode::BAD_REQUEST;
[INFO] [stdout] 135 | |             Ok(response)
[INFO] [stdout] 136 | |         }
[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:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |             Ok(response)
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `relay_gemini` (bin "relay_gemini") due to 21 previous errors
[INFO] running `Command { std: "docker" "inspect" "4fa153a070250a03cc3af30295fd5ad32d4ae33263c5189db2eb0b36f2dff0b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fa153a070250a03cc3af30295fd5ad32d4ae33263c5189db2eb0b36f2dff0b7", kill_on_drop: false }`
[INFO] [stdout] 4fa153a070250a03cc3af30295fd5ad32d4ae33263c5189db2eb0b36f2dff0b7
