[INFO] cloning repository https://github.com/deployAt/rust_server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/deployAt/rust_server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdeployAt%2Frust_server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdeployAt%2Frust_server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 808406152efb44eb055ddcfd7550d591bccb775f
[INFO] checking deployAt/rust_server against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdeployAt%2Frust_server" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/deployAt/rust_server
[INFO] finished tweaking git repo https://github.com/deployAt/rust_server
[INFO] tweaked toml for git repo https://github.com/deployAt/rust_server written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/deployAt/rust_server on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/deployAt/rust_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" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e208862be71bb7a90469ea1d4774dd8b15234fbf7e89bff98401f24ac3b80f3
[INFO] running `Command { std: "docker" "start" "-a" "5e208862be71bb7a90469ea1d4774dd8b15234fbf7e89bff98401f24ac3b80f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e208862be71bb7a90469ea1d4774dd8b15234fbf7e89bff98401f24ac3b80f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e208862be71bb7a90469ea1d4774dd8b15234fbf7e89bff98401f24ac3b80f3", kill_on_drop: false }`
[INFO] [stdout] 5e208862be71bb7a90469ea1d4774dd8b15234fbf7e89bff98401f24ac3b80f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f64ba5300e61fe511ab2adce1e70fdcd848ce7a0ff6bccf9bd495a2f88e8b63a
[INFO] running `Command { std: "docker" "start" "-a" "f64ba5300e61fe511ab2adce1e70fdcd848ce7a0ff6bccf9bd495a2f88e8b63a", kill_on_drop: false }`
[INFO] [stderr]     Checking rust_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `super::method::MethodError`
[INFO] [stdout]  --> src/http/request.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::method::{Method, MethodError};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout]   |                             |
[INFO] [stdout]   |                             no `MethodError` in `http::method`
[INFO] [stdout]   |                             help: a similar name exists in the module: `MethodErorr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here
[INFO] [stdout]   --> src/http/request.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Request {
[INFO] [stdout]    |      ^^^^^^^ expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Request<'_> {
[INFO] [stdout]    |             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::method::MethodError`
[INFO] [stdout]  --> src/http/request.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::method::{Method, MethodError};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout]   |                             |
[INFO] [stdout]   |                             no `MethodError` in `http::method`
[INFO] [stdout]   |                             help: a similar name exists in the module: `MethodErorr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value as QueryStringValue`
[INFO] [stdout]  --> src/http/mod.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use query_string::{QueryString, Value as QueryStringValue};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Formatter`, and `Result as FmtResult`
[INFO] [stdout]  --> src/http/response.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Formatter, Result as FmtResult};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]  --> src/http/response.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here
[INFO] [stdout]   --> src/http/request.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Request {
[INFO] [stdout]    |      ^^^^^^^ expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Request<'_> {
[INFO] [stdout]    |             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value as QueryStringValue`
[INFO] [stdout]  --> src/http/mod.rs:2:37
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use query_string::{QueryString, Value as QueryStringValue};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Formatter`, and `Result as FmtResult`
[INFO] [stdout]  --> src/http/response.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Formatter, Result as FmtResult};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]  --> src/http/response.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `String: From<MethodErorr>` is not satisfied
[INFO] [stdout]   --> src/http/method.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |       _ => Err(String::from(MethodErorr)),
[INFO] [stdout]    |                ^^^^^^ the trait `From<MethodErorr>` is not implemented for `String`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `String` implements `From<&String>`
[INFO] [stdout]              `String` implements `From<&mut str>`
[INFO] [stdout]              `String` implements `From<&str>`
[INFO] [stdout]              `String` implements `From<Box<str>>`
[INFO] [stdout]              `String` implements `From<Cow<'_, str>>`
[INFO] [stdout]              `String` implements `From<char>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Method as FromStr>::Err == Utf8Error`
[INFO] [stdout]   --> src/http/request.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let method: Method = method.parse()?;
[INFO] [stdout]    |                                 ^^^^^ type mismatch resolving `<Method as FromStr>::Err == Utf8Error`
[INFO] [stdout]    |
[INFO] [stdout] note: expected this to be `Utf8Error`
[INFO] [stdout]   --> src/http/method.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |   type Err = String;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/request.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |   fn from(_: Utf8Error) -> Self {
[INFO] [stdout]    |      ----                  ^^^^ expected `ParseError`, found `()`
[INFO] [stdout]    |      |
[INFO] [stdout]    |      implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 90 |     Self::InvalidMethod;
[INFO] [stdout]    |                        - help: remove this semicolon to return this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/request.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |   fn from(_: Utf8Error) -> Self {
[INFO] [stdout]    |      ----                  ^^^^ expected `ParseError`, found `()`
[INFO] [stdout]    |      |
[INFO] [stdout]    |      implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 96 |     Self::InvalidEncoding;
[INFO] [stdout]    |                          - help: remove this semicolon to return this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/response.rs:17:50
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn send(&self, stream: &mut impl Write) -> IoResult<()>{
[INFO] [stdout]    |          ----                                    ^^^^^^^^^^^^ expected `Result<(), Error>`, found `()`
[INFO] [stdout]    |          |
[INFO] [stdout]    |          implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] ...
[INFO] [stdout] 29 |     );
[INFO] [stdout]    |      - help: remove this semicolon to return this value
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), std::io::Error>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/status_code.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |   fn fmt(&self, f: &mut Formatter) -> FmtResult {
[INFO] [stdout]    |      ---                              ^^^^^^^^^ expected `Result<(), Error>`, found `()`
[INFO] [stdout]    |      |
[INFO] [stdout]    |      implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 22 |     write!(f, "{}", *self as u16);
[INFO] [stdout]    |                                  - help: remove this semicolon to return this value
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), std::fmt::Error>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/server.rs:9:64
[INFO] [stdout]    |
[INFO] [stdout] 9  |     fn handle_bad_request(&mut self, e: &ParseError) -> Response {
[INFO] [stdout]    |  ________________________________________________________________^
[INFO] [stdout] 10 | |     println!("Failed to parse a request: {}", e);
[INFO] [stdout] 11 | |     Response::new(StatusCode::BadRequest, None);
[INFO] [stdout]    | |                                                - help: remove this semicolon to return this value
[INFO] [stdout] 12 | |   }
[INFO] [stdout]    | |___^ expected `Response`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `String: From<MethodErorr>` is not satisfied
[INFO] [stdout]   --> src/http/method.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |       _ => Err(String::from(MethodErorr)),
[INFO] [stdout]    |                ^^^^^^ the trait `From<MethodErorr>` is not implemented for `String`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `String` implements `From<&String>`
[INFO] [stdout]              `String` implements `From<&mut str>`
[INFO] [stdout]              `String` implements `From<&str>`
[INFO] [stdout]              `String` implements `From<Box<str>>`
[INFO] [stdout]              `String` implements `From<Cow<'_, str>>`
[INFO] [stdout]              `String` implements `From<char>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for unit type `()` in the current scope
[INFO] [stdout]   --> src/server.rs:45:40
[INFO] [stdout]    |
[INFO] [stdout] 45 |               if let Err(e) = response.send(&mut stream) {
[INFO] [stdout]    |                                        ^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Method as FromStr>::Err == Utf8Error`
[INFO] [stdout]   --> src/http/request.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let method: Method = method.parse()?;
[INFO] [stdout]    |                                 ^^^^^ type mismatch resolving `<Method as FromStr>::Err == Utf8Error`
[INFO] [stdout]    |
[INFO] [stdout] note: expected this to be `Utf8Error`
[INFO] [stdout]   --> src/http/method.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 |   type Err = String;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/request.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |   fn from(_: Utf8Error) -> Self {
[INFO] [stdout]    |      ----                  ^^^^ expected `ParseError`, found `()`
[INFO] [stdout]    |      |
[INFO] [stdout]    |      implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 90 |     Self::InvalidMethod;
[INFO] [stdout]    |                        - help: remove this semicolon to return this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/request.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |   fn from(_: Utf8Error) -> Self {
[INFO] [stdout]    |      ----                  ^^^^ expected `ParseError`, found `()`
[INFO] [stdout]    |      |
[INFO] [stdout]    |      implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 96 |     Self::InvalidEncoding;
[INFO] [stdout]    |                          - help: remove this semicolon to return this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/response.rs:17:50
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn send(&self, stream: &mut impl Write) -> IoResult<()>{
[INFO] [stdout]    |          ----                                    ^^^^^^^^^^^^ expected `Result<(), Error>`, found `()`
[INFO] [stdout]    |          |
[INFO] [stdout]    |          implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] ...
[INFO] [stdout] 29 |     );
[INFO] [stdout]    |      - help: remove this semicolon to return this value
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), std::io::Error>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/status_code.rs:21:39
[INFO] [stdout]    |
[INFO] [stdout] 21 |   fn fmt(&self, f: &mut Formatter) -> FmtResult {
[INFO] [stdout]    |      ---                              ^^^^^^^^^ expected `Result<(), Error>`, found `()`
[INFO] [stdout]    |      |
[INFO] [stdout]    |      implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 22 |     write!(f, "{}", *self as u16);
[INFO] [stdout]    |                                  - help: remove this semicolon to return this value
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<(), std::fmt::Error>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/server.rs:9:64
[INFO] [stdout]    |
[INFO] [stdout] 9  |     fn handle_bad_request(&mut self, e: &ParseError) -> Response {
[INFO] [stdout]    |  ________________________________________________________________^
[INFO] [stdout] 10 | |     println!("Failed to parse a request: {}", e);
[INFO] [stdout] 11 | |     Response::new(StatusCode::BadRequest, None);
[INFO] [stdout]    | |                                                - help: remove this semicolon to return this value
[INFO] [stdout] 12 | |   }
[INFO] [stdout]    | |___^ expected `Response`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/website_handler.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | /         if path.starts_with(&self.public_path) {
[INFO] [stdout] 20 | |           fs::read_to_string(path).ok()
[INFO] [stdout]    | |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Option<String>`
[INFO] [stdout] 21 | |         } else {
[INFO] [stdout] 22 | |           println!("Error traversal attack: {}", file_path);
[INFO] [stdout] 23 | |           None
[INFO] [stdout] 24 | |         }
[INFO] [stdout]    | |_________- expected this to be `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Option<String>`
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fs::read_to_string(path).ok();
[INFO] [stdout]    |                                        +
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]    |
[INFO] [stdout] 24 |         };
[INFO] [stdout]    |          +
[INFO] [stdout] help: you might have meant to return this value
[INFO] [stdout]    |
[INFO] [stdout] 20 |           return fs::read_to_string(path).ok();
[INFO] [stdout]    |           ++++++                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/website_handler.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | /         if path.starts_with(&self.public_path) {
[INFO] [stdout] 20 | |           fs::read_to_string(path).ok()
[INFO] [stdout] 21 | |         } else {
[INFO] [stdout] 22 | |           println!("Error traversal attack: {}", file_path);
[INFO] [stdout] 23 | |           None
[INFO] [stdout]    | |           ^^^^ expected `()`, found `Option<_>`
[INFO] [stdout] 24 | |         }
[INFO] [stdout]    | |_________- expected this to be `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Option<_>`
[INFO] [stdout] help: you might have meant to return this value
[INFO] [stdout]    |
[INFO] [stdout] 23 |           return None;
[INFO] [stdout]    |           ++++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `key`
[INFO] [stdout]   --> src/http/query_string.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |       let key = sub_str;
[INFO] [stdout]    |           --- first assignment to `key`
[INFO] [stdout] ...
[INFO] [stdout] 30 |         key = &sub_str[..i];
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
[INFO] [stdout]    |
[INFO] [stdout] help: consider making this binding mutable
[INFO] [stdout]    |
[INFO] [stdout] 26 |       let mut key = sub_str;
[INFO] [stdout]    |           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `val`
[INFO] [stdout]   --> src/http/query_string.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let val = "";
[INFO] [stdout]    |           --- first assignment to `val`
[INFO] [stdout] ...
[INFO] [stdout] 31 |         val = &sub_str[i + 1..];
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
[INFO] [stdout]    |
[INFO] [stdout] help: consider making this binding mutable
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let mut val = "";
[INFO] [stdout]    |           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for unit type `()` in the current scope
[INFO] [stdout]   --> src/server.rs:45:40
[INFO] [stdout]    |
[INFO] [stdout] 45 |               if let Err(e) = response.send(&mut stream) {
[INFO] [stdout]    |                                        ^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308, E0384, E0432, E0599, E0726.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/website_handler.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | /         if path.starts_with(&self.public_path) {
[INFO] [stdout] 20 | |           fs::read_to_string(path).ok()
[INFO] [stdout]    | |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Option<String>`
[INFO] [stdout] 21 | |         } else {
[INFO] [stdout] 22 | |           println!("Error traversal attack: {}", file_path);
[INFO] [stdout] 23 | |           None
[INFO] [stdout] 24 | |         }
[INFO] [stdout]    | |_________- expected this to be `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Option<String>`
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fs::read_to_string(path).ok();
[INFO] [stdout]    |                                        +
[INFO] [stdout] help: consider using a semicolon here
[INFO] [stdout]    |
[INFO] [stdout] 24 |         };
[INFO] [stdout]    |          +
[INFO] [stdout] help: you might have meant to return this value
[INFO] [stdout]    |
[INFO] [stdout] 20 |           return fs::read_to_string(path).ok();
[INFO] [stdout]    |           ++++++                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/website_handler.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | /         if path.starts_with(&self.public_path) {
[INFO] [stdout] 20 | |           fs::read_to_string(path).ok()
[INFO] [stdout] 21 | |         } else {
[INFO] [stdout] 22 | |           println!("Error traversal attack: {}", file_path);
[INFO] [stdout] 23 | |           None
[INFO] [stdout]    | |           ^^^^ expected `()`, found `Option<_>`
[INFO] [stdout] 24 | |         }
[INFO] [stdout]    | |_________- expected this to be `()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Option<_>`
[INFO] [stdout] help: you might have meant to return this value
[INFO] [stdout]    |
[INFO] [stdout] 23 |           return None;
[INFO] [stdout]    |           ++++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_server` (bin "rust_server") due to 14 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `key`
[INFO] [stdout]   --> src/http/query_string.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |       let key = sub_str;
[INFO] [stdout]    |           --- first assignment to `key`
[INFO] [stdout] ...
[INFO] [stdout] 30 |         key = &sub_str[..i];
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
[INFO] [stdout]    |
[INFO] [stdout] help: consider making this binding mutable
[INFO] [stdout]    |
[INFO] [stdout] 26 |       let mut key = sub_str;
[INFO] [stdout]    |           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `val`
[INFO] [stdout]   --> src/http/query_string.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let val = "";
[INFO] [stdout]    |           --- first assignment to `val`
[INFO] [stdout] ...
[INFO] [stdout] 31 |         val = &sub_str[i + 1..];
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
[INFO] [stdout]    |
[INFO] [stdout] help: consider making this binding mutable
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let mut val = "";
[INFO] [stdout]    |           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308, E0384, E0432, E0599, E0726.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_server` (bin "rust_server" test) due to 14 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f64ba5300e61fe511ab2adce1e70fdcd848ce7a0ff6bccf9bd495a2f88e8b63a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f64ba5300e61fe511ab2adce1e70fdcd848ce7a0ff6bccf9bd495a2f88e8b63a", kill_on_drop: false }`
[INFO] [stdout] f64ba5300e61fe511ab2adce1e70fdcd848ce7a0ff6bccf9bd495a2f88e8b63a
