[INFO] cloning repository https://github.com/jorenvo/jpaste [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jorenvo/jpaste" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjorenvo%2Fjpaste", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjorenvo%2Fjpaste'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2f95f5fa754bc3beb15ff68a34018539fc74ff71 [INFO] checking jorenvo/jpaste 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%2Fjorenvo%2Fjpaste" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jorenvo/jpaste [INFO] finished tweaking git repo https://github.com/jorenvo/jpaste [INFO] tweaked toml for git repo https://github.com/jorenvo/jpaste written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jorenvo/jpaste 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/jorenvo/jpaste 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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 4862735b681b3eb8ef3d220457eff1c4870f04f2774190b0dcdb1120de212e60 [INFO] running `Command { std: "docker" "start" "-a" "4862735b681b3eb8ef3d220457eff1c4870f04f2774190b0dcdb1120de212e60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4862735b681b3eb8ef3d220457eff1c4870f04f2774190b0dcdb1120de212e60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4862735b681b3eb8ef3d220457eff1c4870f04f2774190b0dcdb1120de212e60", kill_on_drop: false }` [INFO] [stdout] 4862735b681b3eb8ef3d220457eff1c4870f04f2774190b0dcdb1120de212e60 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 88072928051c90e6684d867f986d2ba8cfec565a2f4eb34c614ab307a25c01c2 [INFO] running `Command { std: "docker" "start" "-a" "88072928051c90e6684d867f986d2ba8cfec565a2f4eb34c614ab307a25c01c2", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling syn v1.0.54 [INFO] [stderr] Checking futures-core v0.3.8 [INFO] [stderr] Checking futures-io v0.3.8 [INFO] [stderr] Checking futures-sink v0.3.8 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking futures-task v0.3.8 [INFO] [stderr] Checking tinyvec v1.1.0 [INFO] [stderr] Checking cache-padded v1.1.1 [INFO] [stderr] Checking parking v2.0.0 [INFO] [stderr] Checking fastrand v1.4.0 [INFO] [stderr] Checking pin-project-lite v0.2.0 [INFO] [stderr] Checking form_urlencoded v1.0.0 [INFO] [stderr] Checking async-task v4.0.3 [INFO] [stderr] Checking vec-arena v1.0.0 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Checking event-listener v2.5.1 [INFO] [stderr] Checking concurrent-queue v1.2.2 [INFO] [stderr] Checking block-padding v0.1.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Checking sha-1 v0.9.2 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking input_buffer v0.3.1 [INFO] [stderr] Checking opaque-debug v0.2.3 [INFO] [stderr] Checking utf-8 v0.7.5 [INFO] [stderr] Checking atomic-waker v1.0.0 [INFO] [stderr] Compiling serde_json v1.0.60 [INFO] [stderr] Checking futures-channel v0.3.8 [INFO] [stderr] Checking sha-1 v0.8.2 [INFO] [stderr] Checking tracing v0.1.22 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking buf_redux v0.8.4 [INFO] [stderr] Checking async-mutex v1.4.0 [INFO] [stderr] Checking twoway v0.1.8 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking httpdate v0.3.2 [INFO] [stderr] Checking futures-lite v1.11.2 [INFO] [stderr] Checking tower-service v0.3.0 [INFO] [stderr] Checking sha1 v0.6.0 [INFO] [stderr] Checking urlencoding v1.1.1 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking async-channel v1.5.1 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking signal-hook-registry v1.2.2 [INFO] [stderr] Checking getrandom v0.1.15 [INFO] [stderr] Checking polling v2.0.2 [INFO] [stderr] Checking nb-connect v1.0.2 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking socket2 v0.3.17 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking unicode-normalization v0.1.16 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking headers v0.3.2 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking async-io v1.3.1 [INFO] [stderr] Checking async-executor v1.4.0 [INFO] [stderr] Checking blocking v1.0.2 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking async-global-executor v1.4.3 [INFO] [stderr] Checking url v2.2.0 [INFO] [stderr] Checking async-std v1.8.0 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking tungstenite v0.11.1 [INFO] [stderr] Checking multipart v0.17.0 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Compiling pin-project-internal v1.0.2 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Compiling pin-project-internal v0.4.27 [INFO] [stderr] Compiling async-trait v0.1.42 [INFO] [stderr] Checking tokio v0.2.24 [INFO] [stderr] Checking pin-project v0.4.27 [INFO] [stderr] Checking tracing-futures v0.2.4 [INFO] [stderr] Checking pin-project v1.0.2 [INFO] [stderr] Checking futures-util v0.3.8 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking combine v4.4.0 [INFO] [stderr] Checking tokio-tungstenite v0.11.0 [INFO] [stderr] Checking futures v0.3.8 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking hyper v0.13.9 [INFO] [stderr] Checking redis v0.17.0 [INFO] [stderr] Checking warp v0.2.5 [INFO] [stderr] Checking jpaste v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:92:100 [INFO] [stdout] | [INFO] [stdout] 92 | async fn get_post_content(mut form_data: warp::multipart::FormData) -> Result, Infallible> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 93 | | // form_data is a Stream that yields name: content. content is also a Stream. [INFO] [stdout] 94 | | // TODO: can we warp reject here? I think not because it cannot be done statically. [INFO] [stdout] 95 | | let next_data = form_data.next().await; [INFO] [stdout] ... | [INFO] [stdout] 117 | | } [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, Infallible> [INFO] [stdout] --> src/filters.rs:92:100 [INFO] [stdout] | [INFO] [stdout] 92 | async fn get_post_content(mut form_data: warp::multipart::FormData) -> Result, Infallible> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 93 | | // form_data is a Stream that yields name: content. content is also a Stream. [INFO] [stdout] 94 | | // TODO: can we warp reject here? I think not because it cannot be done statically. [INFO] [stdout] 95 | | let next_data = form_data.next().await; [INFO] [stdout] ... | [INFO] [stdout] 117 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | / if let Some(value) = next_data { [INFO] [stdout] 97 | | if let Ok(first_part) = value { [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(Vec::new()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:96:36 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(value) = next_data { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 97 | | if let Ok(first_part) = value { [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] ... | [INFO] [stdout] 113 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | / if let Ok(first_part) = value { [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 111 | | Ok(Vec::new()) [INFO] [stdout] 112 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:97:39 [INFO] [stdout] | [INFO] [stdout] 97 | if let Ok(first_part) = value { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 109 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] 101 | | let mut val: Vec = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 107 | | Ok(val) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:98:41 [INFO] [stdout] | [INFO] [stdout] 98 | if first_part.name() != "j" { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:100:20 [INFO] [stdout] | [INFO] [stdout] 100 | } else { [INFO] [stdout] | ____________________^ [INFO] [stdout] 101 | | let mut val: Vec = Vec::new(); [INFO] [stdout] 102 | | let mut data_stream = first_part.stream(); [INFO] [stdout] 103 | | while let Some(partial_val) = data_stream.next().await { [INFO] [stdout] ... | [INFO] [stdout] 107 | | Ok(val) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | Ok(val) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | } else { [INFO] [stdout] | ________________^ [INFO] [stdout] 110 | | // body is not a valid multipart form [INFO] [stdout] 111 | | Ok(Vec::new()) [INFO] [stdout] 112 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | Ok(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 114 | | // no form body [INFO] [stdout] 115 | | Ok(Vec::new()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | Ok(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:140:43 [INFO] [stdout] | [INFO] [stdout] 140 | ) -> Result { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 141 | | if data.is_empty() { [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mustuse_in_always_ok)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:140:43 [INFO] [stdout] | [INFO] [stdout] 140 | ) -> Result { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 141 | | if data.is_empty() { [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | / if data.is_empty() { [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] 144 | | let mut db = db.lock().await; [INFO] [stdout] ... | [INFO] [stdout] 148 | | .body(format!("{}/{}\n", config.jpaste_public_url, id))) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:141:24 [INFO] [stdout] | [INFO] [stdout] 141 | if data.is_empty() { [INFO] [stdout] | ________________________^ [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 144 | | let mut db = db.lock().await; [INFO] [stdout] 145 | | let id = db.set(data).await; [INFO] [stdout] 146 | | Ok(Response::builder() [INFO] [stdout] 147 | | .status(200) [INFO] [stdout] 148 | | .body(format!("{}/{}\n", config.jpaste_public_url, id))) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | / Ok(Response::builder() [INFO] [stdout] 147 | | .status(200) [INFO] [stdout] 148 | | .body(format!("{}/{}\n", config.jpaste_public_url, id))) [INFO] [stdout] | |____________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:152:88 [INFO] [stdout] | [INFO] [stdout] 152 | pub async fn handle_get(id: String, db: DbRef) -> Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 153 | | let mut db = db.lock().await; [INFO] [stdout] 154 | | let id_future = db.get(&id); [INFO] [stdout] 155 | | match id_future.await { [INFO] [stdout] ... | [INFO] [stdout] 159 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:152:88 [INFO] [stdout] | [INFO] [stdout] 152 | pub async fn handle_get(id: String, db: DbRef) -> Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 153 | | let mut db = db.lock().await; [INFO] [stdout] 154 | | let id_future = db.get(&id); [INFO] [stdout] 155 | | match id_future.await { [INFO] [stdout] ... | [INFO] [stdout] 159 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | / match id_future.await { [INFO] [stdout] 156 | | Some(content) => Ok(Response::builder().status(200).body(content)), [INFO] [stdout] 157 | | None => Ok(Response::builder().status(404).body(Vec::new())), [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:156:26 [INFO] [stdout] | [INFO] [stdout] 156 | Some(content) => Ok(Response::builder().status(200).body(content)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | None => Ok(Response::builder().status(404).body(Vec::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:161:82 [INFO] [stdout] | [INFO] [stdout] 161 | pub async fn handle_help(config: Config) -> Result { [INFO] [stdout] | __________________________________________________________________________________^ [INFO] [stdout] 162 | | Ok(Response::builder() [INFO] [stdout] 163 | | .status(200) [INFO] [stdout] 164 | | .body(HELP.replace("{}", &config.jpaste_public_url))) [INFO] [stdout] 165 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:161:82 [INFO] [stdout] | [INFO] [stdout] 161 | pub async fn handle_help(config: Config) -> Result { [INFO] [stdout] | __________________________________________________________________________________^ [INFO] [stdout] 162 | | Ok(Response::builder() [INFO] [stdout] 163 | | .status(200) [INFO] [stdout] 164 | | .body(HELP.replace("{}", &config.jpaste_public_url))) [INFO] [stdout] 165 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | / Ok(Response::builder() [INFO] [stdout] 163 | | .status(200) [INFO] [stdout] 164 | | .body(HELP.replace("{}", &config.jpaste_public_url))) [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `jpaste` (bin "jpaste") due to 15 previous errors; 15 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:92:100 [INFO] [stdout] | [INFO] [stdout] 92 | async fn get_post_content(mut form_data: warp::multipart::FormData) -> Result, Infallible> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 93 | | // form_data is a Stream that yields name: content. content is also a Stream. [INFO] [stdout] 94 | | // TODO: can we warp reject here? I think not because it cannot be done statically. [INFO] [stdout] 95 | | let next_data = form_data.next().await; [INFO] [stdout] ... | [INFO] [stdout] 117 | | } [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, Infallible> [INFO] [stdout] --> src/filters.rs:92:100 [INFO] [stdout] | [INFO] [stdout] 92 | async fn get_post_content(mut form_data: warp::multipart::FormData) -> Result, Infallible> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 93 | | // form_data is a Stream that yields name: content. content is also a Stream. [INFO] [stdout] 94 | | // TODO: can we warp reject here? I think not because it cannot be done statically. [INFO] [stdout] 95 | | let next_data = form_data.next().await; [INFO] [stdout] ... | [INFO] [stdout] 117 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | / if let Some(value) = next_data { [INFO] [stdout] 97 | | if let Ok(first_part) = value { [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(Vec::new()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:96:36 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(value) = next_data { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 97 | | if let Ok(first_part) = value { [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] ... | [INFO] [stdout] 113 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | / if let Ok(first_part) = value { [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 111 | | Ok(Vec::new()) [INFO] [stdout] 112 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:97:39 [INFO] [stdout] | [INFO] [stdout] 97 | if let Ok(first_part) = value { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 98 | | if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 109 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | / if first_part.name() != "j" { [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] 101 | | let mut val: Vec = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 107 | | Ok(val) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:98:41 [INFO] [stdout] | [INFO] [stdout] 98 | if first_part.name() != "j" { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 99 | | Ok(Vec::new()) [INFO] [stdout] 100 | | } else { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:100:20 [INFO] [stdout] | [INFO] [stdout] 100 | } else { [INFO] [stdout] | ____________________^ [INFO] [stdout] 101 | | let mut val: Vec = Vec::new(); [INFO] [stdout] 102 | | let mut data_stream = first_part.stream(); [INFO] [stdout] 103 | | while let Some(partial_val) = data_stream.next().await { [INFO] [stdout] ... | [INFO] [stdout] 107 | | Ok(val) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | Ok(val) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | } else { [INFO] [stdout] | ________________^ [INFO] [stdout] 110 | | // body is not a valid multipart form [INFO] [stdout] 111 | | Ok(Vec::new()) [INFO] [stdout] 112 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | Ok(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 114 | | // no form body [INFO] [stdout] 115 | | Ok(Vec::new()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/filters.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | Ok(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:140:43 [INFO] [stdout] | [INFO] [stdout] 140 | ) -> Result { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 141 | | if data.is_empty() { [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mustuse_in_always_ok)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:140:43 [INFO] [stdout] | [INFO] [stdout] 140 | ) -> Result { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 141 | | if data.is_empty() { [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | / if data.is_empty() { [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] 144 | | let mut db = db.lock().await; [INFO] [stdout] ... | [INFO] [stdout] 148 | | .body(format!("{}/{}\n", config.jpaste_public_url, id))) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:141:24 [INFO] [stdout] | [INFO] [stdout] 141 | if data.is_empty() { [INFO] [stdout] | ________________________^ [INFO] [stdout] 142 | | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] 143 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | Ok(Response::builder().status(400).body("".to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 144 | | let mut db = db.lock().await; [INFO] [stdout] 145 | | let id = db.set(data).await; [INFO] [stdout] 146 | | Ok(Response::builder() [INFO] [stdout] 147 | | .status(200) [INFO] [stdout] 148 | | .body(format!("{}/{}\n", config.jpaste_public_url, id))) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | / Ok(Response::builder() [INFO] [stdout] 147 | | .status(200) [INFO] [stdout] 148 | | .body(format!("{}/{}\n", config.jpaste_public_url, id))) [INFO] [stdout] | |____________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:152:88 [INFO] [stdout] | [INFO] [stdout] 152 | pub async fn handle_get(id: String, db: DbRef) -> Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 153 | | let mut db = db.lock().await; [INFO] [stdout] 154 | | let id_future = db.get(&id); [INFO] [stdout] 155 | | match id_future.await { [INFO] [stdout] ... | [INFO] [stdout] 159 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:152:88 [INFO] [stdout] | [INFO] [stdout] 152 | pub async fn handle_get(id: String, db: DbRef) -> Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 153 | | let mut db = db.lock().await; [INFO] [stdout] 154 | | let id_future = db.get(&id); [INFO] [stdout] 155 | | match id_future.await { [INFO] [stdout] ... | [INFO] [stdout] 159 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | / match id_future.await { [INFO] [stdout] 156 | | Some(content) => Ok(Response::builder().status(200).body(content)), [INFO] [stdout] 157 | | None => Ok(Response::builder().status(404).body(Vec::new())), [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:156:26 [INFO] [stdout] | [INFO] [stdout] 156 | Some(content) => Ok(Response::builder().status(200).body(content)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result>, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | None => Ok(Response::builder().status(404).body(Vec::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:161:82 [INFO] [stdout] | [INFO] [stdout] 161 | pub async fn handle_help(config: Config) -> Result { [INFO] [stdout] | __________________________________________________________________________________^ [INFO] [stdout] 162 | | Ok(Response::builder() [INFO] [stdout] 163 | | .status(200) [INFO] [stdout] 164 | | .body(HELP.replace("{}", &config.jpaste_public_url))) [INFO] [stdout] 165 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:161:82 [INFO] [stdout] | [INFO] [stdout] 161 | pub async fn handle_help(config: Config) -> Result { [INFO] [stdout] | __________________________________________________________________________________^ [INFO] [stdout] 162 | | Ok(Response::builder() [INFO] [stdout] 163 | | .status(200) [INFO] [stdout] 164 | | .body(HELP.replace("{}", &config.jpaste_public_url))) [INFO] [stdout] 165 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this type continue be must used: Result, warp::http::Error>, Infallible> [INFO] [stdout] --> src/handlers.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | / Ok(Response::builder() [INFO] [stdout] 163 | | .status(200) [INFO] [stdout] 164 | | .body(HELP.replace("{}", &config.jpaste_public_url))) [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `jpaste` (bin "jpaste" test) due to 15 previous errors; 15 warnings emitted [INFO] running `Command { std: "docker" "inspect" "88072928051c90e6684d867f986d2ba8cfec565a2f4eb34c614ab307a25c01c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "88072928051c90e6684d867f986d2ba8cfec565a2f4eb34c614ab307a25c01c2", kill_on_drop: false }` [INFO] [stdout] 88072928051c90e6684d867f986d2ba8cfec565a2f4eb34c614ab307a25c01c2