[INFO] cloning repository https://github.com/ivyjsgit/Rust-HTTP-Server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ivyjsgit/Rust-HTTP-Server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivyjsgit%2FRust-HTTP-Server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivyjsgit%2FRust-HTTP-Server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 946dda8cd0f1ea1bcfd924c05d4aed11e240fb1d
[INFO] testing ivyjsgit/Rust-HTTP-Server against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivyjsgit%2FRust-HTTP-Server" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ivyjsgit/Rust-HTTP-Server
[INFO] finished tweaking git repo https://github.com/ivyjsgit/Rust-HTTP-Server
[INFO] tweaked toml for git repo https://github.com/ivyjsgit/Rust-HTTP-Server written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ivyjsgit/Rust-HTTP-Server on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 8 packages to latest compatible versions
[INFO] [stderr]       Adding regex v0.2.11 (available: v1.12.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded aho-corasick v0.6.10
[INFO] [stderr]   Downloaded ucd-util v0.1.10
[INFO] [stderr]   Downloaded thread_local v0.3.6
[INFO] [stderr]   Downloaded utf8-ranges v1.0.5
[INFO] [stderr]   Downloaded regex v0.2.11
[INFO] [stderr]   Downloaded regex-syntax v0.5.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cca090b25944394e365effec01f14dc1443d31820f72b7391c0577eff1ebb412
[INFO] running `Command { std: "docker" "start" "-a" "cca090b25944394e365effec01f14dc1443d31820f72b7391c0577eff1ebb412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cca090b25944394e365effec01f14dc1443d31820f72b7391c0577eff1ebb412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cca090b25944394e365effec01f14dc1443d31820f72b7391c0577eff1ebb412", kill_on_drop: false }`
[INFO] [stdout] cca090b25944394e365effec01f14dc1443d31820f72b7391c0577eff1ebb412
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eafc9f7b73827ec3df2f2692dc114fa8cb14a6a3a7dd8c6dd8e510e6de7d42d0
[INFO] running `Command { std: "docker" "start" "-a" "eafc9f7b73827ec3df2f2692dc114fa8cb14a6a3a7dd8c6dd8e510e6de7d42d0", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling ucd-util v0.1.10
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling WebServer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     if (index == "/") {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -     if (index == "/") {
[INFO] [stdout] 77 +     if index == "/"  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |         if (path == "/") {
[INFO] [stdout]     |            ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 112 -         if (path == "/") {
[INFO] [stdout] 112 +         if path == "/"  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | /     loop {
[INFO] [stdout] 17 | |         for stream in listener.accept() {
[INFO] [stdout] 18 | |             let count = count.clone();
[INFO] [stdout] 19 | |             let success = success.clone();
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 26 |
[INFO] [stdout] 27 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let mut success = success.lock().unwrap();
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut success = success.lock().unwrap();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socketAddr`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let socketAddr = stream.1;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socketAddr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut output = String::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut output = String::new();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut relPath = "www".to_string() + mutPath;
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut file = File::open(relPath);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 | ...   let mut buf: String = "HTTP/1.1 200 OK\nCount:".to_string() + &completed.to_string() + "\nSuccessful:" + &success.to_string() ...
[INFO] [stdout]    |           ----^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut success = success.lock().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asVec`
[INFO] [stdout]   --> src/main.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let asVec = File::read_to_end(&mut mutE, &mut byteBuff);
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_asVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/main.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let mut splitted: Vec<&str> = getRequest.split("\n").collect();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getPathFromGET` is never used
[INFO] [stdout]   --> src/main.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/main.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |         for stream in listener.accept() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]    |
[INFO] [stdout] 17 -         for stream in listener.accept() {
[INFO] [stdout] 17 +         while let Ok(stream) = listener.accept() {
[INFO] [stdout]    |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 17 -         for stream in listener.accept() {
[INFO] [stdout] 17 +         if let Ok(stream) = listener.accept() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `acceptAndRespond` should have a snake case name
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn acceptAndRespond(stream: (TcpStream, SocketAddr), count: Arc<Mutex<i32>>, success: Arc<Mutex<i32>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `accept_and_respond`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutStream` should have a snake case name
[INFO] [stdout]   --> src/main.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut mutStream = stream.0;
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `mut_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `socketAddr` should have a snake case name
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let socketAddr = stream.1;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `socket_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `getRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let getRequest = get_GET_request(&mut mutStream);
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `actualRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let actualRequest = betweenGetHTTP(&getRequest);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `multiRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let multiRequest = getMultiplePaths(&actualRequest);
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `multi_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `requestedPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     for requestedPath in multiRequest{
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `requested_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `returnMe` should have a snake case name
[INFO] [stdout]   --> src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...   let returnMe: String = "HTTP/1.1 403 Forbidden\nCount:".to_string() + &count.to_string() + "\nSuccessful: " + &success.to_stri...
[INFO] [stdout]    |           ^^^^^^^^ help: convert the identifier to snake case: `return_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             mutStream.write(returnMe.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let _ = mutStream.write(returnMe.as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseToSend` should have a snake case name
[INFO] [stdout]   --> src/main.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let responseToSend = openFileFromPath(&requestedPath, &count, &success);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `response_to_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseAsBytes` should have a snake case name
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let responseAsBytes = responseToSend.0.as_bytes();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `response_as_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         mutStream.write(responseAsBytes);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let _ = mutStream.write(responseAsBytes);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         mutStream.write(&responseToSend.1);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let _ = mutStream.write(&responseToSend.1);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_GET_request` should have a snake case name
[INFO] [stdout]   --> src/main.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn get_GET_request(mutStream: &mut TcpStream) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutStream` should have a snake case name
[INFO] [stdout]   --> src/main.rs:65:20
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn get_GET_request(mutStream: &mut TcpStream) -> String {
[INFO] [stdout]    |                    ^^^^^^^^^ help: convert the identifier to snake case: `mut_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     mutStream.read(&mut buffer);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let _ = mutStream.read(&mut buffer);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `asString` should have a snake case name
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let asString = str::from_utf8(&mut buffer).unwrap().to_string();
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `as_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getPathFromGET` should have a snake case name
[INFO] [stdout]   --> src/main.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_path_from_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `getRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `openFileFromPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn openFileFromPath(path: &String, completed: &MutexGuard<i32>, success: &Arc<Mutex<i32>>) -> (String,Vec<u8>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `open_file_from_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mutPath = &path;
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `mut_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `relPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut relPath = "www".to_string() + mutPath;
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `rel_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut mutE = e;
[INFO] [stdout]    |                     ^^^^ help: convert the identifier to snake case: `mut_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `byteBuff` should have a snake case name
[INFO] [stdout]   --> src/main.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut byteBuff = Vec::new();
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `byte_buff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `asVec` should have a snake case name
[INFO] [stdout]   --> src/main.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let asVec = File::read_to_end(&mut mutE, &mut byteBuff);
[INFO] [stdout]    |                 ^^^^^ help: convert the identifier to snake case: `as_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getMultiplePaths` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn getMultiplePaths(getRequest: &String) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_multiple_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `getRequest` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn getMultiplePaths(getRequest: &String) -> Vec<String> {
[INFO] [stdout]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `betweenGetHTTP` should have a snake case name
[INFO] [stdout]    --> src/main.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn betweenGetHTTP(line: &str) -> String{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `between_get_http`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `withoutGet` should have a snake case name
[INFO] [stdout]    --> src/main.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let withoutGet: String = line.splitn(2, "GET").collect();
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `without_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `withoutHTTP` should have a snake case name
[INFO] [stdout]    --> src/main.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut withoutHTTP: String = withoutGet.splitn(2, "HTTP/1.1").collect();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `without_http`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.64s
[INFO] running `Command { std: "docker" "inspect" "eafc9f7b73827ec3df2f2692dc114fa8cb14a6a3a7dd8c6dd8e510e6de7d42d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eafc9f7b73827ec3df2f2692dc114fa8cb14a6a3a7dd8c6dd8e510e6de7d42d0", kill_on_drop: false }`
[INFO] [stdout] eafc9f7b73827ec3df2f2692dc114fa8cb14a6a3a7dd8c6dd8e510e6de7d42d0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 79d71c3c4d1b315b8c2a54644ed69871d8cd8aeb9243b922b60f8e36db2e1615
[INFO] running `Command { std: "docker" "start" "-a" "79d71c3c4d1b315b8c2a54644ed69871d8cd8aeb9243b922b60f8e36db2e1615", kill_on_drop: false }`
[INFO] [stderr]    Compiling WebServer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     if (index == "/") {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -     if (index == "/") {
[INFO] [stdout] 77 +     if index == "/"  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |         if (path == "/") {
[INFO] [stdout]     |            ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 112 -         if (path == "/") {
[INFO] [stdout] 112 +         if path == "/"  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | /     loop {
[INFO] [stdout] 17 | |         for stream in listener.accept() {
[INFO] [stdout] 18 | |             let count = count.clone();
[INFO] [stdout] 19 | |             let success = success.clone();
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 26 |
[INFO] [stdout] 27 |       Ok(())
[INFO] [stdout]    |       ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let mut success = success.lock().unwrap();
[INFO] [stdout]    |                 ----^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut success = success.lock().unwrap();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socketAddr`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let socketAddr = stream.1;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socketAddr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut output = String::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut output = String::new();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut relPath = "www".to_string() + mutPath;
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut file = File::open(relPath);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 | ...   let mut buf: String = "HTTP/1.1 200 OK\nCount:".to_string() + &completed.to_string() + "\nSuccessful:" + &success.to_string() ...
[INFO] [stdout]    |           ----^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut success = success.lock().unwrap();
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asVec`
[INFO] [stdout]   --> src/main.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let asVec = File::read_to_end(&mut mutE, &mut byteBuff);
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_asVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/main.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let mut splitted: Vec<&str> = getRequest.split("\n").collect();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getPathFromGET` is never used
[INFO] [stdout]   --> src/main.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/main.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |         for stream in listener.accept() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]    |
[INFO] [stdout] 17 -         for stream in listener.accept() {
[INFO] [stdout] 17 +         while let Ok(stream) = listener.accept() {
[INFO] [stdout]    |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 17 -         for stream in listener.accept() {
[INFO] [stdout] 17 +         if let Ok(stream) = listener.accept() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `acceptAndRespond` should have a snake case name
[INFO] [stdout]   --> src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn acceptAndRespond(stream: (TcpStream, SocketAddr), count: Arc<Mutex<i32>>, success: Arc<Mutex<i32>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `accept_and_respond`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutStream` should have a snake case name
[INFO] [stdout]   --> src/main.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut mutStream = stream.0;
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `mut_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `socketAddr` should have a snake case name
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let socketAddr = stream.1;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `socket_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `getRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let getRequest = get_GET_request(&mut mutStream);
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `actualRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let actualRequest = betweenGetHTTP(&getRequest);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `multiRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let multiRequest = getMultiplePaths(&actualRequest);
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `multi_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `requestedPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     for requestedPath in multiRequest{
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `requested_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `returnMe` should have a snake case name
[INFO] [stdout]   --> src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | ...   let returnMe: String = "HTTP/1.1 403 Forbidden\nCount:".to_string() + &count.to_string() + "\nSuccessful: " + &success.to_stri...
[INFO] [stdout]    |           ^^^^^^^^ help: convert the identifier to snake case: `return_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             mutStream.write(returnMe.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let _ = mutStream.write(returnMe.as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseToSend` should have a snake case name
[INFO] [stdout]   --> src/main.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let responseToSend = openFileFromPath(&requestedPath, &count, &success);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `response_to_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `responseAsBytes` should have a snake case name
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let responseAsBytes = responseToSend.0.as_bytes();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `response_as_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         mutStream.write(responseAsBytes);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let _ = mutStream.write(responseAsBytes);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         mutStream.write(&responseToSend.1);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let _ = mutStream.write(&responseToSend.1);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_GET_request` should have a snake case name
[INFO] [stdout]   --> src/main.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn get_GET_request(mutStream: &mut TcpStream) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutStream` should have a snake case name
[INFO] [stdout]   --> src/main.rs:65:20
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn get_GET_request(mutStream: &mut TcpStream) -> String {
[INFO] [stdout]    |                    ^^^^^^^^^ help: convert the identifier to snake case: `mut_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     mutStream.read(&mut buffer);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let _ = mutStream.read(&mut buffer);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `asString` should have a snake case name
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let asString = str::from_utf8(&mut buffer).unwrap().to_string();
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `as_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getPathFromGET` should have a snake case name
[INFO] [stdout]   --> src/main.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_path_from_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `getRequest` should have a snake case name
[INFO] [stdout]   --> src/main.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `openFileFromPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn openFileFromPath(path: &String, completed: &MutexGuard<i32>, success: &Arc<Mutex<i32>>) -> (String,Vec<u8>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `open_file_from_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mutPath = &path;
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `mut_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `relPath` should have a snake case name
[INFO] [stdout]   --> src/main.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut relPath = "www".to_string() + mutPath;
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `rel_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `mutE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut mutE = e;
[INFO] [stdout]    |                     ^^^^ help: convert the identifier to snake case: `mut_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `byteBuff` should have a snake case name
[INFO] [stdout]   --> src/main.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut byteBuff = Vec::new();
[INFO] [stdout]    |                     ^^^^^^^^ help: convert the identifier to snake case: `byte_buff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `asVec` should have a snake case name
[INFO] [stdout]   --> src/main.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let asVec = File::read_to_end(&mut mutE, &mut byteBuff);
[INFO] [stdout]    |                 ^^^^^ help: convert the identifier to snake case: `as_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getMultiplePaths` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn getMultiplePaths(getRequest: &String) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_multiple_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `getRequest` should have a snake case name
[INFO] [stdout]    --> src/main.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn getMultiplePaths(getRequest: &String) -> Vec<String> {
[INFO] [stdout]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `betweenGetHTTP` should have a snake case name
[INFO] [stdout]    --> src/main.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn betweenGetHTTP(line: &str) -> String{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `between_get_http`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `withoutGet` should have a snake case name
[INFO] [stdout]    --> src/main.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let withoutGet: String = line.splitn(2, "GET").collect();
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `without_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `withoutHTTP` should have a snake case name
[INFO] [stdout]    --> src/main.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let mut withoutHTTP: String = withoutGet.splitn(2, "HTTP/1.1").collect();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `without_http`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] running `Command { std: "docker" "inspect" "79d71c3c4d1b315b8c2a54644ed69871d8cd8aeb9243b922b60f8e36db2e1615", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79d71c3c4d1b315b8c2a54644ed69871d8cd8aeb9243b922b60f8e36db2e1615", kill_on_drop: false }`
[INFO] [stdout] 79d71c3c4d1b315b8c2a54644ed69871d8cd8aeb9243b922b60f8e36db2e1615
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f4cec508718fb5e981d5cdf13707035e6a02a692fcc876f2f3033cbf32a96fcd
[INFO] running `Command { std: "docker" "start" "-a" "f4cec508718fb5e981d5cdf13707035e6a02a692fcc876f2f3033cbf32a96fcd", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::env;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `regex::Regex`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use regex::Regex;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/main.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 |     if (index == "/") {
[INFO] [stderr]    |        ^            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 77 -     if (index == "/") {
[INFO] [stderr] 77 +     if index == "/"  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:112:12
[INFO] [stderr]     |
[INFO] [stderr] 112 |         if (path == "/") {
[INFO] [stderr]     |            ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 112 -         if (path == "/") {
[INFO] [stderr] 112 +         if path == "/"  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> src/main.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | /     loop {
[INFO] [stderr] 17 | |         for stream in listener.accept() {
[INFO] [stderr] 18 | |             let count = count.clone();
[INFO] [stderr] 19 | |             let success = success.clone();
[INFO] [stderr] ...  |
[INFO] [stderr] 25 | |     }
[INFO] [stderr]    | |_____- any code following this expression is unreachable
[INFO] [stderr] 26 |
[INFO] [stderr] 27 |       Ok(())
[INFO] [stderr]    |       ^^^^^^ unreachable expression
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:45:17
[INFO] [stderr]    |
[INFO] [stderr] 45 |             let mut success = success.lock().unwrap();
[INFO] [stderr]    |                 ----^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |     let mut success = success.lock().unwrap();
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `socketAddr`
[INFO] [stderr]   --> src/main.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let socketAddr = stream.1;
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socketAddr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let mut output = String::new();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]   --> src/main.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let mut output = String::new();
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut relPath = "www".to_string() + mutPath;
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let mut file = File::open(relPath);
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:94:17
[INFO] [stderr]    |
[INFO] [stderr] 94 | ...   let mut buf: String = "HTTP/1.1 200 OK\nCount:".to_string() + &completed.to_string() + "\nSuccessful:" + &success.to_string() ...
[INFO] [stderr]    |           ----^^^
[INFO] [stderr]    |           |
[INFO] [stderr]    |           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:100:17
[INFO] [stderr]     |
[INFO] [stderr] 100 |             let mut success = success.lock().unwrap();
[INFO] [stderr]     |                 ----^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `asVec`
[INFO] [stderr]   --> src/main.rs:95:17
[INFO] [stderr]    |
[INFO] [stderr] 95 |             let asVec = File::read_to_end(&mut mutE, &mut byteBuff);
[INFO] [stderr]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_asVec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/main.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:107:9
[INFO] [stderr]     |
[INFO] [stderr] 107 |     let mut splitted: Vec<&str> = getRequest.split("\n").collect();
[INFO] [stderr]     |         ----^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `getPathFromGET` is never used
[INFO] [stderr]   --> src/main.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stderr]   --> src/main.rs:17:23
[INFO] [stderr]    |
[INFO] [stderr] 17 |         for stream in listener.accept() {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]    |
[INFO] [stderr] 17 -         for stream in listener.accept() {
[INFO] [stderr] 17 +         while let Ok(stream) = listener.accept() {
[INFO] [stderr]    |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]    |
[INFO] [stderr] 17 -         for stream in listener.accept() {
[INFO] [stderr] 17 +         if let Ok(stream) = listener.accept() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: function `acceptAndRespond` should have a snake case name
[INFO] [stderr]   --> src/main.rs:30:4
[INFO] [stderr]    |
[INFO] [stderr] 30 | fn acceptAndRespond(stream: (TcpStream, SocketAddr), count: Arc<Mutex<i32>>, success: Arc<Mutex<i32>>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `accept_and_respond`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `mutStream` should have a snake case name
[INFO] [stderr]   --> src/main.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |     let mut mutStream = stream.0;
[INFO] [stderr]    |             ^^^^^^^^^ help: convert the identifier to snake case: `mut_stream`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `socketAddr` should have a snake case name
[INFO] [stderr]   --> src/main.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let socketAddr = stream.1;
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `socket_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `getRequest` should have a snake case name
[INFO] [stderr]   --> src/main.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let getRequest = get_GET_request(&mut mutStream);
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `actualRequest` should have a snake case name
[INFO] [stderr]   --> src/main.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let actualRequest = betweenGetHTTP(&getRequest);
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `actual_request`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `multiRequest` should have a snake case name
[INFO] [stderr]   --> src/main.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let multiRequest = getMultiplePaths(&actualRequest);
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `multi_request`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `requestedPath` should have a snake case name
[INFO] [stderr]   --> src/main.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 42 |     for requestedPath in multiRequest{
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `requested_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `returnMe` should have a snake case name
[INFO] [stderr]   --> src/main.rs:46:17
[INFO] [stderr]    |
[INFO] [stderr] 46 | ...   let returnMe: String = "HTTP/1.1 403 Forbidden\nCount:".to_string() + &count.to_string() + "\nSuccessful: " + &success.to_stri...
[INFO] [stderr]    |           ^^^^^^^^ help: convert the identifier to snake case: `return_me`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:47:13
[INFO] [stderr]    |
[INFO] [stderr] 47 |             mutStream.write(returnMe.as_bytes());
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 47 |             let _ = mutStream.write(returnMe.as_bytes());
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `responseToSend` should have a snake case name
[INFO] [stderr]   --> src/main.rs:51:13
[INFO] [stderr]    |
[INFO] [stderr] 51 |         let responseToSend = openFileFromPath(&requestedPath, &count, &success);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `response_to_send`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `responseAsBytes` should have a snake case name
[INFO] [stderr]   --> src/main.rs:52:13
[INFO] [stderr]    |
[INFO] [stderr] 52 |         let responseAsBytes = responseToSend.0.as_bytes();
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `response_as_bytes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |         mutStream.write(responseAsBytes);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 53 |         let _ = mutStream.write(responseAsBytes);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         mutStream.write(&responseToSend.1);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let _ = mutStream.write(&responseToSend.1);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_GET_request` should have a snake case name
[INFO] [stderr]   --> src/main.rs:65:4
[INFO] [stderr]    |
[INFO] [stderr] 65 | fn get_GET_request(mutStream: &mut TcpStream) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_get_request`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `mutStream` should have a snake case name
[INFO] [stderr]   --> src/main.rs:65:20
[INFO] [stderr]    |
[INFO] [stderr] 65 | fn get_GET_request(mutStream: &mut TcpStream) -> String {
[INFO] [stderr]    |                    ^^^^^^^^^ help: convert the identifier to snake case: `mut_stream`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     mutStream.read(&mut buffer);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 68 |     let _ = mutStream.read(&mut buffer);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `asString` should have a snake case name
[INFO] [stderr]   --> src/main.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |     let asString = str::from_utf8(&mut buffer).unwrap().to_string();
[INFO] [stderr]    |         ^^^^^^^^ help: convert the identifier to snake case: `as_string`
[INFO] [stderr] 
[INFO] [stderr] warning: function `getPathFromGET` should have a snake case name
[INFO] [stderr]   --> src/main.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_path_from_get`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `getRequest` should have a snake case name
[INFO] [stderr]   --> src/main.rs:74:19
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn getPathFromGET(getRequest: &String) -> String {
[INFO] [stderr]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stderr] 
[INFO] [stderr] warning: function `openFileFromPath` should have a snake case name
[INFO] [stderr]   --> src/main.rs:83:4
[INFO] [stderr]    |
[INFO] [stderr] 83 | fn openFileFromPath(path: &String, completed: &MutexGuard<i32>, success: &Arc<Mutex<i32>>) -> (String,Vec<u8>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `open_file_from_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `mutPath` should have a snake case name
[INFO] [stderr]   --> src/main.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let mutPath = &path;
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `mut_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `relPath` should have a snake case name
[INFO] [stderr]   --> src/main.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut relPath = "www".to_string() + mutPath;
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `rel_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `mutE` should have a snake case name
[INFO] [stderr]   --> src/main.rs:92:21
[INFO] [stderr]    |
[INFO] [stderr] 92 |             let mut mutE = e;
[INFO] [stderr]    |                     ^^^^ help: convert the identifier to snake case: `mut_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `byteBuff` should have a snake case name
[INFO] [stderr]   --> src/main.rs:93:21
[INFO] [stderr]    |
[INFO] [stderr] 93 |             let mut byteBuff = Vec::new();
[INFO] [stderr]    |                     ^^^^^^^^ help: convert the identifier to snake case: `byte_buff`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `asVec` should have a snake case name
[INFO] [stderr]   --> src/main.rs:95:17
[INFO] [stderr]    |
[INFO] [stderr] 95 |             let asVec = File::read_to_end(&mut mutE, &mut byteBuff);
[INFO] [stderr]    |                 ^^^^^ help: convert the identifier to snake case: `as_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: function `getMultiplePaths` should have a snake case name
[INFO] [stderr]    --> src/main.rs:105:4
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn getMultiplePaths(getRequest: &String) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_multiple_paths`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `getRequest` should have a snake case name
[INFO] [stderr]    --> src/main.rs:105:21
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn getMultiplePaths(getRequest: &String) -> Vec<String> {
[INFO] [stderr]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `get_request`
[INFO] [stderr] 
[INFO] [stderr] warning: function `betweenGetHTTP` should have a snake case name
[INFO] [stderr]    --> src/main.rs:120:4
[INFO] [stderr]     |
[INFO] [stderr] 120 | fn betweenGetHTTP(line: &str) -> String{
[INFO] [stderr]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `between_get_http`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `withoutGet` should have a snake case name
[INFO] [stderr]    --> src/main.rs:121:9
[INFO] [stderr]     |
[INFO] [stderr] 121 |     let withoutGet: String = line.splitn(2, "GET").collect();
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `without_get`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `withoutHTTP` should have a snake case name
[INFO] [stderr]    --> src/main.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let mut withoutHTTP: String = withoutGet.splitn(2, "HTTP/1.1").collect();
[INFO] [stderr]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `without_http`
[INFO] [stderr] 
[INFO] [stderr] warning: `WebServer` (bin "WebServer" test) generated 50 warnings (run `cargo fix --bin "WebServer" -p WebServer --tests` to apply 16 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/WebServer-6aa2833d8755104d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f4cec508718fb5e981d5cdf13707035e6a02a692fcc876f2f3033cbf32a96fcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4cec508718fb5e981d5cdf13707035e6a02a692fcc876f2f3033cbf32a96fcd", kill_on_drop: false }`
[INFO] [stdout] f4cec508718fb5e981d5cdf13707035e6a02a692fcc876f2f3033cbf32a96fcd
