[INFO] cloning repository https://github.com/eucleo/proto-mav-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/eucleo/proto-mav-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feucleo%2Fproto-mav-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feucleo%2Fproto-mav-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 986316c583a881ad9442db6aef2dac98d6659687
[INFO] checking eucleo/proto-mav-server 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%2Feucleo%2Fproto-mav-server" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/eucleo/proto-mav-server
[INFO] finished tweaking git repo https://github.com/eucleo/proto-mav-server
[INFO] tweaked toml for git repo https://github.com/eucleo/proto-mav-server written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/eucleo/proto-mav-server 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/eucleo/proto-mav-server 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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 8088106113ba4301940831a39a7a83393820955c72b053d32072dad9d65e7003
[INFO] running `Command { std: "docker" "start" "-a" "8088106113ba4301940831a39a7a83393820955c72b053d32072dad9d65e7003", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8088106113ba4301940831a39a7a83393820955c72b053d32072dad9d65e7003", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8088106113ba4301940831a39a7a83393820955c72b053d32072dad9d65e7003", kill_on_drop: false }`
[INFO] [stdout] 8088106113ba4301940831a39a7a83393820955c72b053d32072dad9d65e7003
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 791f62560a60ca0b1bf949383482061d266021dfce515e851a5997a5ab63a139
[INFO] running `Command { std: "docker" "start" "-a" "791f62560a60ca0b1bf949383482061d266021dfce515e851a5997a5ab63a139", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.76
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling which v4.2.2
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling tokio v1.11.0
[INFO] [stderr]     Checking tinyvec v1.4.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling prost-build v0.7.0
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling bitflags v0.3.3
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]     Checking unicode-bidi v0.3.6
[INFO] [stderr]    Compiling debug-helper v0.3.12
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]    Compiling crc-any v2.3.12
[INFO] [stderr]    Compiling xml-rs v0.2.2
[INFO] [stderr]     Checking serial-core v0.4.0
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]     Checking generic-array v0.14.4
[INFO] [stderr]     Checking ioctl-rs v0.1.6
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]     Checking serial-unix v0.4.0
[INFO] [stderr]     Checking tracing v0.1.27
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking serial v0.4.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]    Compiling prost-derive v0.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.29
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking futures-util v0.3.17
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking thiserror v1.0.29
[INFO] [stderr]     Checking tungstenite v0.14.0
[INFO] [stderr]    Compiling prost v0.7.0
[INFO] [stderr]    Compiling prost-types v0.7.0
[INFO] [stderr]     Checking tokio-util v0.6.8
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking tokio-tungstenite v0.15.0
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking h2 v0.3.4
[INFO] [stderr]     Checking hyper v0.14.13
[INFO] [stderr]    Compiling proto_mav v0.10.0 (https://github.com/eucleo/proto-mav.git#99eec31c)
[INFO] [stderr]     Checking http-ws-server 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:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / {
[INFO] [stdout] 120 | |     //assume request is a handshake, so create the handshake response
[INFO] [stdout] 121 | |     let response = match handshake::server::create_response_with_body(&request, Body::empty) {
[INFO] [stdout] 122 | |         Ok(response) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |     Ok::<_, Infallible>(response)
[INFO] [stdout] 168 | | }
[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:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / {
[INFO] [stdout] 120 | |     //assume request is a handshake, so create the handshake response
[INFO] [stdout] 121 | |     let response = match handshake::server::create_response_with_body(&request, Body::empty) {
[INFO] [stdout] 122 | |         Ok(response) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |     Ok::<_, Infallible>(response)
[INFO] [stdout] 168 | | }
[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:163:20
[INFO] [stdout]     |
[INFO] [stdout] 163 |             return 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:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     Ok::<_, Infallible>(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:173:41
[INFO] [stdout]     |
[INFO] [stdout] 173 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 174 | |     match (
[INFO] [stdout] 175 | |         request.uri().path(),
[INFO] [stdout] 176 | |         request.headers().contains_key(header::UPGRADE),
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | | }
[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:173:41
[INFO] [stdout]     |
[INFO] [stdout] 173 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 174 | |     match (
[INFO] [stdout] 175 | |         request.uri().path(),
[INFO] [stdout] 176 | |         request.headers().contains_key(header::UPGRADE),
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | | }
[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:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 | /     match (
[INFO] [stdout] 175 | |         request.uri().path(),
[INFO] [stdout] 176 | |         request.headers().contains_key(header::UPGRADE),
[INFO] [stdout] 177 | |     ) {
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     }
[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:179:31
[INFO] [stdout]     |
[INFO] [stdout] 179 |         ("/ws_echo", true) => do_websocket(request, remote_addr, ws_echo).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:179:75
[INFO] [stdout]     |
[INFO] [stdout] 179 |         ("/ws_echo", true) => do_websocket(request, remote_addr, ws_echo).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:179:31
[INFO] [stdout]     |
[INFO] [stdout] 179 |         ("/ws_echo", true) => do_websocket(request, remote_addr, ws_echo).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:180:29
[INFO] [stdout]     |
[INFO] [stdout] 180 |         ("/ws_hb", true) => do_websocket(request, remote_addr, ws_heartbeat).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:180:78
[INFO] [stdout]     |
[INFO] [stdout] 180 |         ("/ws_hb", true) => do_websocket(request, remote_addr, ws_heartbeat).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:180:29
[INFO] [stdout]     |
[INFO] [stdout] 180 |         ("/ws_hb", true) => do_websocket(request, remote_addr, ws_heartbeat).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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |           ("/ws_echo", false) => {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 182 | |             //handle the case where the url is /ws_echo, but does not have an Upgrade field
[INFO] [stdout] 183 | |             Ok(Response::new(Body::from(
[INFO] [stdout] 184 | |                 "/ws_echo needs a websocket.\n".to_string(),
[INFO] [stdout] 185 | |             )))
[INFO] [stdout] 186 | |         }
[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:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 | /             Ok(Response::new(Body::from(
[INFO] [stdout] 184 | |                 "/ws_echo needs a websocket.\n".to_string(),
[INFO] [stdout] 185 | |             )))
[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:187:30
[INFO] [stdout]     |
[INFO] [stdout] 187 |           ("/ws_hb", false) => {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 188 | |             //handle the case where the url is /ws_echo, but does not have an Upgrade field
[INFO] [stdout] 189 | |             Ok(Response::new(Body::from(
[INFO] [stdout] 190 | |                 "/ws_hb needs a websocket.\n".to_string(),
[INFO] [stdout] 191 | |             )))
[INFO] [stdout] 192 | |         }
[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:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 | /             Ok(Response::new(Body::from(
[INFO] [stdout] 190 | |                 "/ws_hb needs a websocket.\n".to_string(),
[INFO] [stdout] 191 | |             )))
[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:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |           (url, _) => {
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 194 | |             //handle any other url without an Upgrade header field
[INFO] [stdout] 195 | |             let mut res = Response::new(Body::from(format!("{} not found.\n", url)));
[INFO] [stdout] 196 | |             *res.status_mut() = StatusCode::NOT_FOUND;
[INFO] [stdout] 197 | |             Ok(res)
[INFO] [stdout] 198 | |         }
[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:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             Ok(res)
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<service::util::ServiceFn<{closure@src/main.rs:219:44: 219:73}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:217:20
[INFO] [stdout]     |
[INFO] [stdout] 217 |           async move {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 218 | |             // service_fn converts our function into a `Service`
[INFO] [stdout] 219 | |             Ok::<_, Infallible>(service_fn(move |request: Request<Body>| {
[INFO] [stdout] 220 | |                 dispatch_request(request, remote_addr)
[INFO] [stdout] 221 | |             }))
[INFO] [stdout] 222 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<service::util::ServiceFn<{closure@src/main.rs:219:44: 219:73}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 | /             Ok::<_, Infallible>(service_fn(move |request: Request<Body>| {
[INFO] [stdout] 220 | |                 dispatch_request(request, remote_addr)
[INFO] [stdout] 221 | |             }))
[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:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / {
[INFO] [stdout] 120 | |     //assume request is a handshake, so create the handshake response
[INFO] [stdout] 121 | |     let response = match handshake::server::create_response_with_body(&request, Body::empty) {
[INFO] [stdout] 122 | |         Ok(response) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |     Ok::<_, Infallible>(response)
[INFO] [stdout] 168 | | }
[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:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / {
[INFO] [stdout] 120 | |     //assume request is a handshake, so create the handshake response
[INFO] [stdout] 121 | |     let response = match handshake::server::create_response_with_body(&request, Body::empty) {
[INFO] [stdout] 122 | |         Ok(response) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |     Ok::<_, Infallible>(response)
[INFO] [stdout] 168 | | }
[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:163:20
[INFO] [stdout]     |
[INFO] [stdout] 163 |             return 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:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     Ok::<_, Infallible>(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:173:41
[INFO] [stdout]     |
[INFO] [stdout] 173 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 174 | |     match (
[INFO] [stdout] 175 | |         request.uri().path(),
[INFO] [stdout] 176 | |         request.headers().contains_key(header::UPGRADE),
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | | }
[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:173:41
[INFO] [stdout]     |
[INFO] [stdout] 173 |   ) -> Result<Response<Body>, Infallible> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 174 | |     match (
[INFO] [stdout] 175 | |         request.uri().path(),
[INFO] [stdout] 176 | |         request.headers().contains_key(header::UPGRADE),
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | | }
[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:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 | /     match (
[INFO] [stdout] 175 | |         request.uri().path(),
[INFO] [stdout] 176 | |         request.headers().contains_key(header::UPGRADE),
[INFO] [stdout] 177 | |     ) {
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     }
[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:179:31
[INFO] [stdout]     |
[INFO] [stdout] 179 |         ("/ws_echo", true) => do_websocket(request, remote_addr, ws_echo).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:179:75
[INFO] [stdout]     |
[INFO] [stdout] 179 |         ("/ws_echo", true) => do_websocket(request, remote_addr, ws_echo).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:179:31
[INFO] [stdout]     |
[INFO] [stdout] 179 |         ("/ws_echo", true) => do_websocket(request, remote_addr, ws_echo).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:180:29
[INFO] [stdout]     |
[INFO] [stdout] 180 |         ("/ws_hb", true) => do_websocket(request, remote_addr, ws_heartbeat).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:180:78
[INFO] [stdout]     |
[INFO] [stdout] 180 |         ("/ws_hb", true) => do_websocket(request, remote_addr, ws_heartbeat).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:180:29
[INFO] [stdout]     |
[INFO] [stdout] 180 |         ("/ws_hb", true) => do_websocket(request, remote_addr, ws_heartbeat).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:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |           ("/ws_echo", false) => {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 182 | |             //handle the case where the url is /ws_echo, but does not have an Upgrade field
[INFO] [stdout] 183 | |             Ok(Response::new(Body::from(
[INFO] [stdout] 184 | |                 "/ws_echo needs a websocket.\n".to_string(),
[INFO] [stdout] 185 | |             )))
[INFO] [stdout] 186 | |         }
[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:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 | /             Ok(Response::new(Body::from(
[INFO] [stdout] 184 | |                 "/ws_echo needs a websocket.\n".to_string(),
[INFO] [stdout] 185 | |             )))
[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:187:30
[INFO] [stdout]     |
[INFO] [stdout] 187 |           ("/ws_hb", false) => {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 188 | |             //handle the case where the url is /ws_echo, but does not have an Upgrade field
[INFO] [stdout] 189 | |             Ok(Response::new(Body::from(
[INFO] [stdout] 190 | |                 "/ws_hb needs a websocket.\n".to_string(),
[INFO] [stdout] 191 | |             )))
[INFO] [stdout] 192 | |         }
[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:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 | /             Ok(Response::new(Body::from(
[INFO] [stdout] 190 | |                 "/ws_hb needs a websocket.\n".to_string(),
[INFO] [stdout] 191 | |             )))
[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:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 |           (url, _) => {
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 194 | |             //handle any other url without an Upgrade header field
[INFO] [stdout] 195 | |             let mut res = Response::new(Body::from(format!("{} not found.\n", url)));
[INFO] [stdout] 196 | |             *res.status_mut() = StatusCode::NOT_FOUND;
[INFO] [stdout] 197 | |             Ok(res)
[INFO] [stdout] 198 | |         }
[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:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             Ok(res)
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<service::util::ServiceFn<{closure@src/main.rs:219:44: 219:73}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:217:20
[INFO] [stdout]     |
[INFO] [stdout] 217 |           async move {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 218 | |             // service_fn converts our function into a `Service`
[INFO] [stdout] 219 | |             Ok::<_, Infallible>(service_fn(move |request: Request<Body>| {
[INFO] [stdout] 220 | |                 dispatch_request(request, remote_addr)
[INFO] [stdout] 221 | |             }))
[INFO] [stdout] 222 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<service::util::ServiceFn<{closure@src/main.rs:219:44: 219:73}, Body>, Infallible>
[INFO] [stdout]    --> src/main.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 | /             Ok::<_, Infallible>(service_fn(move |request: Request<Body>| {
[INFO] [stdout] 220 | |                 dispatch_request(request, remote_addr)
[INFO] [stdout] 221 | |             }))
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `http-ws-server` (bin "http-ws-server") due to 21 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `http-ws-server` (bin "http-ws-server" test) due to 21 previous errors
[INFO] running `Command { std: "docker" "inspect" "791f62560a60ca0b1bf949383482061d266021dfce515e851a5997a5ab63a139", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "791f62560a60ca0b1bf949383482061d266021dfce515e851a5997a5ab63a139", kill_on_drop: false }`
[INFO] [stdout] 791f62560a60ca0b1bf949383482061d266021dfce515e851a5997a5ab63a139
