[INFO] cloning repository https://github.com/bohdaq/rust-web-server [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bohdaq/rust-web-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbohdaq%2Frust-web-server", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbohdaq%2Frust-web-server'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7cfaf4dd05d20a53eccaa3d9a667cd9b85e25675 [INFO] testing bohdaq/rust-web-server against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbohdaq%2Frust-web-server" "/workspace/builds/worker-111/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-111/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bohdaq/rust-web-server on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/bohdaq/rust-web-server [INFO] finished tweaking git repo https://github.com/bohdaq/rust-web-server [INFO] tweaked toml for git repo https://github.com/bohdaq/rust-web-server written to /workspace/builds/worker-111/source/Cargo.toml [INFO] crate git repo https://github.com/bohdaq/rust-web-server already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e623242f9b906dd06f72842c2b28dcb17e884dc86b53d68cdc693166b94b5687 [INFO] running `Command { std: "docker" "start" "-a" "e623242f9b906dd06f72842c2b28dcb17e884dc86b53d68cdc693166b94b5687", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e623242f9b906dd06f72842c2b28dcb17e884dc86b53d68cdc693166b94b5687", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e623242f9b906dd06f72842c2b28dcb17e884dc86b53d68cdc693166b94b5687", kill_on_drop: false }` [INFO] [stdout] e623242f9b906dd06f72842c2b28dcb17e884dc86b53d68cdc693166b94b5687 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 270deb8b91cb5921749b9a3766d08c02966f3318de6e4aadd75f718ed7eb0491 [INFO] running `Command { std: "docker" "start" "-a" "270deb8b91cb5921749b9a3766d08c02966f3318de6e4aadd75f718ed7eb0491", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling libc v0.2.117 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling log v0.4.16 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling ryu v1.0.9 [INFO] [stderr] Compiling itoa v1.0.1 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling textwrap v0.14.2 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling os_str_bytes v6.0.0 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling mio v0.8.2 [INFO] [stderr] Compiling clap v3.0.14 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling rws v0.0.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Captures` [INFO] [stdout] --> src/request.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use regex::{Captures, Regex}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTPError`, `RESPONSE_STATUS_CODE_REASON_PHRASES`, `ResponseStatusCodeReasonPhrase`, `StatusCodeReasonPhrase` [INFO] [stdout] --> src/request.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::constant::{CONSTANTS, HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, ResponseStatusCodeReasonPhrase, StatusCodeReasonPhrase}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::app::App` [INFO] [stdout] --> src/response.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::app::App; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cors::Cors` [INFO] [stdout] --> src/response.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::cors::Cors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/server.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::{Config, CONSTANTS}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/test/response_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/test/response_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/test/response_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/test/response_test.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/test/response_test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTP_VERSIONS`, `REQUEST_METHODS`, `RESPONSE_STATUS_CODE_REASON_PHRASES` [INFO] [stdout] --> src/test/response_test.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::constant::{HTTP_VERSIONS, REQUEST_METHODS, RESPONSE_STATUS_CODE_REASON_PHRASES}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::header::Header` [INFO] [stdout] --> src/test/response_test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::header::Header; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CONSTANTS`, `Request`, `Response` [INFO] [stdout] --> src/test/response_test.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::{CONSTANTS, Request, Response}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mime_type::MimeType` [INFO] [stdout] --> src/test/response_test.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::mime_type::MimeType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContentRange`, `Range` [INFO] [stdout] --> src/test/response_test.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::range::{ContentRange, Range}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod response_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/test/request_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | mod request_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTP_VERSIONS`, `REQUEST_METHODS` [INFO] [stdout] --> src/test/request_test.rs:2:23 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::constant::{HTTP_VERSIONS, REQUEST_METHODS}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | mod request_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CONSTANTS`, `Request` [INFO] [stdout] --> src/test/request_test.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{CONSTANTS, Request}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | mod request_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mime_type::MimeType` [INFO] [stdout] --> src/test/mime_type_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::mime_type::MimeType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod mime_type_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/test/server_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `fs` [INFO] [stdout] --> src/test/server_test.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{env, fs}; [INFO] [stdout] | ^^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/test/server_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/test/server_test.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{BufReader, Read, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTP_VERSIONS`, `REQUEST_METHODS`, `RESPONSE_STATUS_CODE_REASON_PHRASES` [INFO] [stdout] --> src/test/server_test.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::constant::{HTTP_VERSIONS, REQUEST_METHODS, RESPONSE_STATUS_CODE_REASON_PHRASES}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CONSTANTS`, `Request`, `Response`, `Server`, `bootstrap` [INFO] [stdout] --> src/test/server_test.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{bootstrap, CONSTANTS, Request, Response, Server}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::header::Header` [INFO] [stdout] --> src/test/server_test.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::header::Header; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mime_type::MimeType` [INFO] [stdout] --> src/test/server_test.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::mime_type::MimeType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::range::Range` [INFO] [stdout] --> src/test/server_test.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::range::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod server_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ThreadPool` [INFO] [stdout] --> src/test/thread_pool_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ThreadPool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod thread_pool_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `fs` [INFO] [stdout] --> src/test/cors_test.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{env, fs}; [INFO] [stdout] | ^^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/test/cors_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTP_VERSIONS`, `REQUEST_METHODS`, `RESPONSE_STATUS_CODE_REASON_PHRASES` [INFO] [stdout] --> src/test/cors_test.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::constant::{HTTP_VERSIONS, REQUEST_METHODS, RESPONSE_STATUS_CODE_REASON_PHRASES}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::header::Header` [INFO] [stdout] --> src/test/cors_test.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::header::Header; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CONSTANTS`, `Config`, `Request`, `Response`, `Server`, `bootstrap` [INFO] [stdout] --> src/test/cors_test.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{bootstrap, Config, CONSTANTS, Request, Response, Server}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cors::Cors` [INFO] [stdout] --> src/test/cors_test.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cors::Cors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mime_type::MimeType` [INFO] [stdout] --> src/test/cors_test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::mime_type::MimeType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::test::server_test::MockTcpStream` [INFO] [stdout] --> src/test/cors_test.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::test::server_test::MockTcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatusCodeReasonPhrase` [INFO] [stdout] --> src/range.rs:8:71 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::constant::{HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, StatusCodeReasonPhrase}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/main.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | use std::io::{self, Error, Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::Shutdown` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::net::Shutdown; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::from_utf8` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::str::from_utf8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `thread`, `time` [INFO] [stdout] --> src/main.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | use std::{thread, time}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTPError`, `StatusCodeReasonPhrase` [INFO] [stdout] --> src/main.rs:29:49 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::constant::{CONSTANTS, HTTP_VERSIONS, HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, StatusCodeReasonPhrase}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Source` [INFO] [stdout] --> src/main.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | use mio::event::{Event, Source}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `response_as_vector` is never read [INFO] [stdout] --> src/response.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let mut response_as_vector : Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `range_list` is never read [INFO] [stdout] --> src/range.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | let mut range_list = vec![]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/request.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut content_length: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/request.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut iteration_number : usize = 0; [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/response.rs:65:61 [INFO] [stdout] | [INFO] [stdout] 65 | pub(crate) fn generate_response(mut response: Response, mut request: Request) -> Vec { [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/response.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let mut body = Response::generate_body(response.content_range_list); [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/response.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let mut content_length: usize = 0; [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/response.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | let mut iteration_number : usize = 0; [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/response.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | let mut header_parts: Vec<&str> = header_string.split(CONSTANTS.HEADER_NAME_VALUE_SEPARATOR).collect(); [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/response.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let mut raw_header_name = header_parts[0].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/response.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | let mut header_name = Server::truncate_new_line_carriage_return(&raw_header_name); [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/response.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | let mut raw_header_value = header_parts[1].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/response.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | let mut header_value = Server::truncate_new_line_carriage_return(&raw_header_value); [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/response.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | let mut content_range_list : Vec = vec![]; [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/server.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) fn process_request(mut s: impl Read + Write + Unpin) -> Vec { [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/app.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut contents = file_content; [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/app.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let mut contents = file_content; [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/range.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let mut buff_length = (range.end - range.start) + 1; [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/range.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | let mut file = File::open(filepath).unwrap(); [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/range.rs:325:39 [INFO] [stdout] | [INFO] [stdout] 325 | pub(crate) fn parse_line_as_bytes(mut cursor: &mut Cursor<&[u8]>) -> Vec { [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/range.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | let mut b : &[u8] = &buffer; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `CONTENT_RANGE_REGEX` [INFO] [stdout] --> src/header.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) const CONTENT_RANGE_REGEX: &'static str = "bytes\\s(?P\\d{1,})-(?P\\d{1,})/(?P\\d{1,})"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `HOST` [INFO] [stdout] --> src/header.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) const HOST: &'static str = "Host"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `generate_request` [INFO] [stdout] --> src/request.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn generate_request(request: Request) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `HTTP_VERSION_AND_STATUS_CODE_AND_REASON_PHRASE_REGEX` [INFO] [stdout] --> src/response.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) const HTTP_VERSION_AND_STATUS_CODE_AND_REASON_PHRASE_REGEX: &'static str = "(?P\\w+/\\w+.\\w)\\s(?P\\w+)\\s(?P.+)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_header` [INFO] [stdout] --> src/response.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | pub(crate) fn get_header(&self, name: String) -> Option<&Header> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_response` [INFO] [stdout] --> src/response.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | pub(crate) fn parse_response(response_vec_u8: &[u8]) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_http_version_status_code_reason_phrase_string` [INFO] [stdout] --> src/response.rs:169:20 [INFO] [stdout] | [INFO] [stdout] 169 | pub(crate) fn parse_http_version_status_code_reason_phrase_string(http_version_status_code_reason_phrase: &str) -> (String, String, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_http_response_header_string` [INFO] [stdout] --> src/response.rs:181:20 [INFO] [stdout] | [INFO] [stdout] 181 | pub(crate) fn parse_http_response_header_string(header_string: &str) -> Header { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_raw_response_via_cursor` [INFO] [stdout] --> src/response.rs:195:19 [INFO] [stdout] | [INFO] [stdout] 195 | pub(crate) fn parse_raw_response_via_cursor(cursor: &mut Cursor<&[u8]>, mut iteration_number: usize, response: &mut Response, mut con... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_multipart_byteranges_content_type` [INFO] [stdout] --> src/response.rs:264:19 [INFO] [stdout] | [INFO] [stdout] 264 | pub(crate) fn is_multipart_byteranges_content_type(content_type: &Header) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `process_request` [INFO] [stdout] --> src/server.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) fn process_request(mut s: impl Read + Write + Unpin) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `ThreadPool` [INFO] [stdout] --> src/thread_pool.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ThreadPool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Job` [INFO] [stdout] --> src/thread_pool.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | type Job = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/thread_pool.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(size: usize) -> ThreadPool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `execute` [INFO] [stdout] --> src/thread_pool.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn execute(&self, f: F) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Worker` [INFO] [stdout] --> src/thread_pool.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/thread_pool.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | fn new(id: usize, receiver: Arc>>) -> Worker { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `NEW_LINE` [INFO] [stdout] --> src/constant.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) NEW_LINE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `CHARSET` [INFO] [stdout] --> src/constant.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) CHARSET: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `UTF_8` [INFO] [stdout] --> src/constant.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) UTF_8: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `NONE` [INFO] [stdout] --> src/constant.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) NONE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `PUT` [INFO] [stdout] --> src/constant.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub(crate) PUT: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `DELETE` [INFO] [stdout] --> src/constant.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) DELETE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `CONNECT` [INFO] [stdout] --> src/constant.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) CONNECT: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `TRACE` [INFO] [stdout] --> src/constant.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) TRACE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `HTTP_VERSION_0_9` [INFO] [stdout] --> src/constant.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) HTTP_VERSION_0_9: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `HTTP_VERSION_1_0` [INFO] [stdout] --> src/constant.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub(crate) HTTP_VERSION_1_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `HTTP_VERSION_2_0` [INFO] [stdout] --> src/constant.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | pub(crate) HTTP_VERSION_2_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `unit` [INFO] [stdout] --> src/range.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) unit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `CONTENT_RANGE_REGEX` [INFO] [stdout] --> src/range.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) const CONTENT_RANGE_REGEX: &'static str = "bytes\\s(?P\\d{1,})-(?P\\d{1,})/(?P\\d{1,})"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `ERROR_NO_EMPTY_LINE_BETWEEN_CONTENT_RANGE_HEADER_AND_BODY` [INFO] [stdout] --> src/range.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub(crate) const ERROR_NO_EMPTY_LINE_BETWEEN_CONTENT_RANGE_HEADER_AND_BODY: &'static str = "no empty line between content range headers and body"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `ERROR_UNABLE_TO_PARSE_CONTENT_RANGE` [INFO] [stdout] --> src/range.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub(crate) const ERROR_UNABLE_TO_PARSE_CONTENT_RANGE: &'static str = "unable to parse content-range"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_multipart_body` [INFO] [stdout] --> src/range.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | pub(crate) fn parse_multipart_body(cursor: &mut Cursor<&[u8]>, mut content_range_list: Vec) -> Result... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_content_range_header_value` [INFO] [stdout] --> src/range.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | pub(crate) fn parse_content_range_header_value(header_value: String) -> Result<(String, u64, u64), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `parse_line_as_bytes` [INFO] [stdout] --> src/range.rs:325:19 [INFO] [stdout] | [INFO] [stdout] 325 | pub(crate) fn parse_line_as_bytes(mut cursor: &mut Cursor<&[u8]>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `convert_bytes_array_to_string` [INFO] [stdout] --> src/range.rs:331:19 [INFO] [stdout] | [INFO] [stdout] 331 | pub(crate) fn convert_bytes_array_to_string(buffer: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `process` [INFO] [stdout] --> src/cors.rs:83:19 [INFO] [stdout] | [INFO] [stdout] 83 | pub(crate) fn process(request: Request, mut response: Response, cors: &Cors) -> Result<(Request, Response), HTTPError> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | create_tcp_listener(ip.as_str(), port); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/request.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | Request::cursor_read(cursor, iteration_number, request, content_length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ONE` should have a snake case name [INFO] [stdout] --> src/response.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let ONE = 1; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `one` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/response.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | cursor.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NEW_LINE_SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | pub(crate) NEW_LINE_SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_line_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NEW_LINE` should have a snake case name [INFO] [stdout] --> src/constant.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) NEW_LINE: &'static str, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `EMPTY_STRING` should have a snake case name [INFO] [stdout] --> src/constant.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) EMPTY_STRING: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `WHITESPACE` should have a snake case name [INFO] [stdout] --> src/constant.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) WHITESPACE: &'static str, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `whitespace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `EQUALS` should have a snake case name [INFO] [stdout] --> src/constant.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) EQUALS: &'static str, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `COMMA` should have a snake case name [INFO] [stdout] --> src/constant.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) COMMA: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `comma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HYPHEN` should have a snake case name [INFO] [stdout] --> src/constant.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) HYPHEN: &'static str, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `hyphen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HEADER_NAME_VALUE_SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) HEADER_NAME_VALUE_SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `header_name_value_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SLASH` should have a snake case name [INFO] [stdout] --> src/constant.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) SLASH: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `slash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `CHARSET` should have a snake case name [INFO] [stdout] --> src/constant.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) CHARSET: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `charset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `UTF_8` should have a snake case name [INFO] [stdout] --> src/constant.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) UTF_8: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `utf_8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NOSNIFF` should have a snake case name [INFO] [stdout] --> src/constant.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) NOSNIFF: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `nosniff` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BYTES` should have a snake case name [INFO] [stdout] --> src/constant.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) BYTES: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NONE` should have a snake case name [INFO] [stdout] --> src/constant.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) NONE: &'static str, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `none` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `MULTIPART` should have a snake case name [INFO] [stdout] --> src/constant.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) MULTIPART: &'static str, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `multipart` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BYTERANGES` should have a snake case name [INFO] [stdout] --> src/constant.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) BYTERANGES: &'static str, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byteranges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SEMICOLON` should have a snake case name [INFO] [stdout] --> src/constant.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) SEMICOLON: &'static str, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `semicolon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BOUNDARY` should have a snake case name [INFO] [stdout] --> src/constant.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) BOUNDARY: &'static str, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `boundary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STRING_SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) STRING_SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `string_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `GET` should have a snake case name [INFO] [stdout] --> src/constant.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) GET: &'static str, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `get` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HEAD` should have a snake case name [INFO] [stdout] --> src/constant.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub(crate) HEAD: &'static str, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `head` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `POST` should have a snake case name [INFO] [stdout] --> src/constant.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) POST: &'static str, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PUT` should have a snake case name [INFO] [stdout] --> src/constant.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | pub(crate) PUT: &'static str, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `put` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DELETE` should have a snake case name [INFO] [stdout] --> src/constant.rs:53:16 [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) DELETE: &'static str, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `delete` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `CONNECT` should have a snake case name [INFO] [stdout] --> src/constant.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) CONNECT: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `connect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OPTIONS` should have a snake case name [INFO] [stdout] --> src/constant.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | pub(crate) OPTIONS: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TRACE` should have a snake case name [INFO] [stdout] --> src/constant.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) TRACE: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `trace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_0_9` should have a snake case name [INFO] [stdout] --> src/constant.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) HTTP_VERSION_0_9: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_0_9` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_1_0` should have a snake case name [INFO] [stdout] --> src/constant.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | pub(crate) HTTP_VERSION_1_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_1_0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_1_1` should have a snake case name [INFO] [stdout] --> src/constant.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | pub(crate) HTTP_VERSION_1_1: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_1_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_2_0` should have a snake case name [INFO] [stdout] --> src/constant.rs:74:16 [INFO] [stdout] | [INFO] [stdout] 74 | pub(crate) HTTP_VERSION_2_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_2_0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STATUS_CODE` should have a snake case name [INFO] [stdout] --> src/constant.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | pub(crate) STATUS_CODE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `status_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `REASON_PHRASE` should have a snake case name [INFO] [stdout] --> src/constant.rs:87:16 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) REASON_PHRASE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `reason_phrase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N200_OK` should have a snake case name [INFO] [stdout] --> src/constant.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | pub(crate) N200_OK: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `n200_ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N204_NO_CONTENT` should have a snake case name [INFO] [stdout] --> src/constant.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | pub(crate) N204_NO_CONTENT: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n204_no_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N206_PARTIAL_CONTENT` should have a snake case name [INFO] [stdout] --> src/constant.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | pub(crate) N206_PARTIAL_CONTENT: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n206_partial_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N400_BAD_REQUEST` should have a snake case name [INFO] [stdout] --> src/constant.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | pub(crate) N400_BAD_REQUEST: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n400_bad_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N404_NOT_FOUND` should have a snake case name [INFO] [stdout] --> src/constant.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) N404_NOT_FOUND: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n404_not_found` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N416_RANGE_NOT_SATISFIABLE` should have a snake case name [INFO] [stdout] --> src/constant.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | pub(crate) N416_RANGE_NOT_SATISFIABLE: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n416_range_not_satisfiable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STATUS_CODE_REASON_PHRASE` should have a snake case name [INFO] [stdout] --> src/constant.rs:134:16 [INFO] [stdout] | [INFO] [stdout] 134 | pub(crate) STATUS_CODE_REASON_PHRASE: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `status_code_reason_phrase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `MESSAGE` should have a snake case name [INFO] [stdout] --> src/constant.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | pub(crate) MESSAGE: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HTML_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | let HTML_SUFFIXES = vec![MimeType::HTML_SUFFIX, MimeType::HTM_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `html_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `JS_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | let JS_SUFFIXES = vec![MimeType::MJS_SUFFIX, MimeType::JS_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `js_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `JPEG_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | ... let JPEG_SUFFIXES = vec![MimeType::JPG_SUFFIX, MimeType::JPEG_SUFFIX, MimeType::JPE_SUFFIX, MimeType::JIF_SUFFIX, MimeType::JFIF_SU... [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `jpeg_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ICO_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | let ICO_SUFFIXES = vec![MimeType::ICO_SUFFIX, MimeType::CUR_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ico_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `TIFF_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | let TIFF_SUFFIXES = vec![MimeType::TIF_SUFFIX, MimeType::TIFF_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tiff_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MPEG_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:330:17 [INFO] [stdout] | [INFO] [stdout] 330 | let MPEG_SUFFIXES = vec![MimeType::MPG_SUFFIX, MimeType::MPEG_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mpeg_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MP4_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:343:17 [INFO] [stdout] | [INFO] [stdout] 343 | let MP4_SUFFIXES = vec![MimeType::MP4_SUFFIX, MimeType::M4V_SUFFIX, MimeType::M4P_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mp4_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `OGG_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:356:17 [INFO] [stdout] | [INFO] [stdout] 356 | let OGG_SUFFIXES = vec![MimeType::OGG_SUFFIX, MimeType::OGV_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ogg_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MIDI_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | let MIDI_SUFFIXES = vec![MimeType::MIDI_SUFFIX, MimeType::MID_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `midi_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/range.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | reader.seek(SeekFrom::Start(range.start)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 158 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3m 26s [INFO] running `Command { std: "docker" "inspect" "270deb8b91cb5921749b9a3766d08c02966f3318de6e4aadd75f718ed7eb0491", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "270deb8b91cb5921749b9a3766d08c02966f3318de6e4aadd75f718ed7eb0491", kill_on_drop: false }` [INFO] [stdout] 270deb8b91cb5921749b9a3766d08c02966f3318de6e4aadd75f718ed7eb0491 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8b7204ebf19a89ab25057638448a251ac3df4d054b28802b7781f8ca45bf3510 [INFO] running `Command { std: "docker" "start" "-a" "8b7204ebf19a89ab25057638448a251ac3df4d054b28802b7781f8ca45bf3510", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling rws v0.0.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Captures` [INFO] [stdout] --> src/request.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use regex::{Captures, Regex}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTPError`, `RESPONSE_STATUS_CODE_REASON_PHRASES`, `ResponseStatusCodeReasonPhrase`, `StatusCodeReasonPhrase` [INFO] [stdout] --> src/request.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::constant::{CONSTANTS, HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, ResponseStatusCodeReasonPhrase, StatusCodeReasonPhrase}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::app::App` [INFO] [stdout] --> src/response.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::app::App; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cors::Cors` [INFO] [stdout] --> src/response.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::cors::Cors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/server.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::{Config, CONSTANTS}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/test/cors_test.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{bootstrap, Config, CONSTANTS, Request, Response, Server}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/test.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | mod cors_test; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatusCodeReasonPhrase` [INFO] [stdout] --> src/range.rs:8:71 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::constant::{HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, StatusCodeReasonPhrase}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/main.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | use std::io::{self, Error, Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::Shutdown` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::net::Shutdown; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::from_utf8` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::str::from_utf8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `thread`, `time` [INFO] [stdout] --> src/main.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | use std::{thread, time}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HTTPError`, `StatusCodeReasonPhrase` [INFO] [stdout] --> src/main.rs:29:49 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::constant::{CONSTANTS, HTTP_VERSIONS, HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, StatusCodeReasonPhrase}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Source` [INFO] [stdout] --> src/main.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | use mio::event::{Event, Source}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `response_as_vector` is never read [INFO] [stdout] --> src/response.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let mut response_as_vector : Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `range_list` is never read [INFO] [stdout] --> src/range.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | let mut range_list = vec![]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `response_result_body` is never read [INFO] [stdout] --> src/test/range_test.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut response_result_body : Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_result_body` [INFO] [stdout] --> src/test/range_test.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let mut response_result_body : Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_result_body` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | let port: usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 444 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:455:9 [INFO] [stdout] | [INFO] [stdout] 455 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 456 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:518:9 [INFO] [stdout] | [INFO] [stdout] 518 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:528:9 [INFO] [stdout] | [INFO] [stdout] 528 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:529:9 [INFO] [stdout] | [INFO] [stdout] 529 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:530:9 [INFO] [stdout] | [INFO] [stdout] 530 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:592:9 [INFO] [stdout] | [INFO] [stdout] 592 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:602:9 [INFO] [stdout] | [INFO] [stdout] 602 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:603:9 [INFO] [stdout] | [INFO] [stdout] 603 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:604:9 [INFO] [stdout] | [INFO] [stdout] 604 | let static_directories = vec!["/static".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:680:9 [INFO] [stdout] | [INFO] [stdout] 680 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:681:9 [INFO] [stdout] | [INFO] [stdout] 681 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:682:9 [INFO] [stdout] | [INFO] [stdout] 682 | let static_directories = vec!["/static".to_string(), "/assets".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/server_test.rs:746:9 [INFO] [stdout] | [INFO] [stdout] 746 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_addr` [INFO] [stdout] --> src/test/server_test.rs:756:9 [INFO] [stdout] | [INFO] [stdout] 756 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/test/server_test.rs:757:9 [INFO] [stdout] | [INFO] [stdout] 757 | let port : usize = "8787".parse().unwrap(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_directories` [INFO] [stdout] --> src/test/server_test.rs:758:9 [INFO] [stdout] | [INFO] [stdout] 758 | let static_directories = vec!["/static".to_string(), "/assets".to_string()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/test/server_test.rs:821:9 [INFO] [stdout] | [INFO] [stdout] 821 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/test/server_test.rs:887:9 [INFO] [stdout] | [INFO] [stdout] 887 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/test/server_test.rs:953:9 [INFO] [stdout] | [INFO] [stdout] 953 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/test/server_test.rs:1019:9 [INFO] [stdout] | [INFO] [stdout] 1019 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/test/server_test.rs:1085:9 [INFO] [stdout] | [INFO] [stdout] 1085 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_of_first_range` [INFO] [stdout] --> src/test/server_test.rs:1124:9 [INFO] [stdout] | [INFO] [stdout] 1124 | let end_of_first_range = mid; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_of_first_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_of_second_range` [INFO] [stdout] --> src/test/server_test.rs:1125:9 [INFO] [stdout] | [INFO] [stdout] 1125 | let start_of_second_range = length + 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_of_second_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not_proper_end_of_second_range` [INFO] [stdout] --> src/test/server_test.rs:1126:9 [INFO] [stdout] | [INFO] [stdout] 1126 | let not_proper_end_of_second_range = mid; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_not_proper_end_of_second_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/test/server_test.rs:1151:9 [INFO] [stdout] | [INFO] [stdout] 1151 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_filepath` [INFO] [stdout] --> src/test/cors_test.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | let response_filepath = &request.request_uri; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/request.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut content_length: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/request.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut iteration_number : usize = 0; [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/response.rs:65:61 [INFO] [stdout] | [INFO] [stdout] 65 | pub(crate) fn generate_response(mut response: Response, mut request: Request) -> Vec { [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/response.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let mut body = Response::generate_body(response.content_range_list); [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/response.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let mut content_length: usize = 0; [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/response.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | let mut iteration_number : usize = 0; [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/response.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | let mut header_parts: Vec<&str> = header_string.split(CONSTANTS.HEADER_NAME_VALUE_SEPARATOR).collect(); [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/response.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let mut raw_header_name = header_parts[0].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/response.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | let mut header_name = Server::truncate_new_line_carriage_return(&raw_header_name); [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/response.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | let mut raw_header_value = header_parts[1].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/response.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | let mut header_value = Server::truncate_new_line_carriage_return(&raw_header_value); [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/response.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | let mut content_range_list : Vec = vec![]; [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/server.rs:11:35 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) fn process_request(mut s: impl Read + Write + Unpin) -> Vec { [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/app.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut contents = file_content; [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/app.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let mut contents = file_content; [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/range.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let mut buff_length = (range.end - range.start) + 1; [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/range.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | let mut file = File::open(filepath).unwrap(); [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/range.rs:325:39 [INFO] [stdout] | [INFO] [stdout] 325 | pub(crate) fn parse_line_as_bytes(mut cursor: &mut Cursor<&[u8]>) -> Vec { [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/range.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | let mut b : &[u8] = &buffer; [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/test/range_test.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut first_body = first_range.body.clone(); [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/test/range_test.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let mut second_body = second_range.body.clone(); [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/test/range_test.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | let mut response_result_body : Vec = vec![]; [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/test/range_test.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | let mut first_body = first_range.body.clone(); [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/test/range_test.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | let mut first_body = first_range.body.clone(); [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/test/range_test.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 499 | let mut second_body = second_range.body.clone(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `CONTENT_RANGE_REGEX` [INFO] [stdout] --> src/header.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) const CONTENT_RANGE_REGEX: &'static str = "bytes\\s(?P\\d{1,})-(?P\\d{1,})/(?P\\d{1,})"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `workers` [INFO] [stdout] --> src/thread_pool.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | workers: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/thread_pool.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | id: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `thread` [INFO] [stdout] --> src/thread_pool.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | thread: thread::JoinHandle<()>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `NEW_LINE` [INFO] [stdout] --> src/constant.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) NEW_LINE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `CHARSET` [INFO] [stdout] --> src/constant.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) CHARSET: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `UTF_8` [INFO] [stdout] --> src/constant.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) UTF_8: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `NONE` [INFO] [stdout] --> src/constant.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) NONE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `DELETE` [INFO] [stdout] --> src/constant.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) DELETE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `CONNECT` [INFO] [stdout] --> src/constant.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) CONNECT: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `TRACE` [INFO] [stdout] --> src/constant.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) TRACE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `HTTP_VERSION_0_9` [INFO] [stdout] --> src/constant.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) HTTP_VERSION_0_9: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `HTTP_VERSION_1_0` [INFO] [stdout] --> src/constant.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub(crate) HTTP_VERSION_1_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `HTTP_VERSION_2_0` [INFO] [stdout] --> src/constant.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | pub(crate) HTTP_VERSION_2_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | create_tcp_listener(ip.as_str(), port); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/request.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | Request::cursor_read(cursor, iteration_number, request, content_length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ONE` should have a snake case name [INFO] [stdout] --> src/response.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let ONE = 1; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `one` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/response.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | cursor.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NEW_LINE_SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | pub(crate) NEW_LINE_SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_line_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NEW_LINE` should have a snake case name [INFO] [stdout] --> src/constant.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) NEW_LINE: &'static str, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `new_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `EMPTY_STRING` should have a snake case name [INFO] [stdout] --> src/constant.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) EMPTY_STRING: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `WHITESPACE` should have a snake case name [INFO] [stdout] --> src/constant.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) WHITESPACE: &'static str, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `whitespace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `EQUALS` should have a snake case name [INFO] [stdout] --> src/constant.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) EQUALS: &'static str, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `equals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `COMMA` should have a snake case name [INFO] [stdout] --> src/constant.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) COMMA: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `comma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HYPHEN` should have a snake case name [INFO] [stdout] --> src/constant.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) HYPHEN: &'static str, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `hyphen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HEADER_NAME_VALUE_SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) HEADER_NAME_VALUE_SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `header_name_value_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SLASH` should have a snake case name [INFO] [stdout] --> src/constant.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) SLASH: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `slash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `CHARSET` should have a snake case name [INFO] [stdout] --> src/constant.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub(crate) CHARSET: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `charset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `UTF_8` should have a snake case name [INFO] [stdout] --> src/constant.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) UTF_8: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `utf_8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NOSNIFF` should have a snake case name [INFO] [stdout] --> src/constant.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) NOSNIFF: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `nosniff` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BYTES` should have a snake case name [INFO] [stdout] --> src/constant.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) BYTES: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NONE` should have a snake case name [INFO] [stdout] --> src/constant.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) NONE: &'static str, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `none` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `MULTIPART` should have a snake case name [INFO] [stdout] --> src/constant.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) MULTIPART: &'static str, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `multipart` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BYTERANGES` should have a snake case name [INFO] [stdout] --> src/constant.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) BYTERANGES: &'static str, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byteranges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SEMICOLON` should have a snake case name [INFO] [stdout] --> src/constant.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) SEMICOLON: &'static str, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `semicolon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BOUNDARY` should have a snake case name [INFO] [stdout] --> src/constant.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) BOUNDARY: &'static str, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `boundary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STRING_SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) STRING_SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `string_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SEPARATOR` should have a snake case name [INFO] [stdout] --> src/constant.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) SEPARATOR: &'static str, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `GET` should have a snake case name [INFO] [stdout] --> src/constant.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) GET: &'static str, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `get` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HEAD` should have a snake case name [INFO] [stdout] --> src/constant.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | pub(crate) HEAD: &'static str, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `head` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `POST` should have a snake case name [INFO] [stdout] --> src/constant.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) POST: &'static str, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PUT` should have a snake case name [INFO] [stdout] --> src/constant.rs:52:16 [INFO] [stdout] | [INFO] [stdout] 52 | pub(crate) PUT: &'static str, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `put` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DELETE` should have a snake case name [INFO] [stdout] --> src/constant.rs:53:16 [INFO] [stdout] | [INFO] [stdout] 53 | pub(crate) DELETE: &'static str, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `delete` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `CONNECT` should have a snake case name [INFO] [stdout] --> src/constant.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) CONNECT: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `connect` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OPTIONS` should have a snake case name [INFO] [stdout] --> src/constant.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | pub(crate) OPTIONS: &'static str, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TRACE` should have a snake case name [INFO] [stdout] --> src/constant.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) TRACE: &'static str, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `trace` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_0_9` should have a snake case name [INFO] [stdout] --> src/constant.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) HTTP_VERSION_0_9: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_0_9` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_1_0` should have a snake case name [INFO] [stdout] --> src/constant.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | pub(crate) HTTP_VERSION_1_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_1_0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_1_1` should have a snake case name [INFO] [stdout] --> src/constant.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | pub(crate) HTTP_VERSION_1_1: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_1_1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HTTP_VERSION_2_0` should have a snake case name [INFO] [stdout] --> src/constant.rs:74:16 [INFO] [stdout] | [INFO] [stdout] 74 | pub(crate) HTTP_VERSION_2_0: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_2_0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STATUS_CODE` should have a snake case name [INFO] [stdout] --> src/constant.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | pub(crate) STATUS_CODE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `status_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `REASON_PHRASE` should have a snake case name [INFO] [stdout] --> src/constant.rs:87:16 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) REASON_PHRASE: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `reason_phrase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N200_OK` should have a snake case name [INFO] [stdout] --> src/constant.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | pub(crate) N200_OK: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `n200_ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N204_NO_CONTENT` should have a snake case name [INFO] [stdout] --> src/constant.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | pub(crate) N204_NO_CONTENT: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n204_no_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N206_PARTIAL_CONTENT` should have a snake case name [INFO] [stdout] --> src/constant.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | pub(crate) N206_PARTIAL_CONTENT: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n206_partial_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N400_BAD_REQUEST` should have a snake case name [INFO] [stdout] --> src/constant.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | pub(crate) N400_BAD_REQUEST: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n400_bad_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N404_NOT_FOUND` should have a snake case name [INFO] [stdout] --> src/constant.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) N404_NOT_FOUND: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n404_not_found` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `N416_RANGE_NOT_SATISFIABLE` should have a snake case name [INFO] [stdout] --> src/constant.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | pub(crate) N416_RANGE_NOT_SATISFIABLE: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n416_range_not_satisfiable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STATUS_CODE_REASON_PHRASE` should have a snake case name [INFO] [stdout] --> src/constant.rs:134:16 [INFO] [stdout] | [INFO] [stdout] 134 | pub(crate) STATUS_CODE_REASON_PHRASE: &'static StatusCodeReasonPhrase, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `status_code_reason_phrase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `MESSAGE` should have a snake case name [INFO] [stdout] --> src/constant.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | pub(crate) MESSAGE: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `HTML_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | let HTML_SUFFIXES = vec![MimeType::HTML_SUFFIX, MimeType::HTM_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `html_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `JS_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | let JS_SUFFIXES = vec![MimeType::MJS_SUFFIX, MimeType::JS_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `js_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `JPEG_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | ... let JPEG_SUFFIXES = vec![MimeType::JPG_SUFFIX, MimeType::JPEG_SUFFIX, MimeType::JPE_SUFFIX, MimeType::JIF_SUFFIX, MimeType::JFIF_SU... [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `jpeg_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ICO_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | let ICO_SUFFIXES = vec![MimeType::ICO_SUFFIX, MimeType::CUR_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ico_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `TIFF_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | let TIFF_SUFFIXES = vec![MimeType::TIF_SUFFIX, MimeType::TIFF_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tiff_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MPEG_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:330:17 [INFO] [stdout] | [INFO] [stdout] 330 | let MPEG_SUFFIXES = vec![MimeType::MPG_SUFFIX, MimeType::MPEG_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mpeg_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MP4_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:343:17 [INFO] [stdout] | [INFO] [stdout] 343 | let MP4_SUFFIXES = vec![MimeType::MP4_SUFFIX, MimeType::M4V_SUFFIX, MimeType::M4P_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mp4_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `OGG_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:356:17 [INFO] [stdout] | [INFO] [stdout] 356 | let OGG_SUFFIXES = vec![MimeType::OGG_SUFFIX, MimeType::OGV_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ogg_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MIDI_SUFFIXES` should have a snake case name [INFO] [stdout] --> src/mime_type.rs:470:17 [INFO] [stdout] | [INFO] [stdout] 470 | let MIDI_SUFFIXES = vec![MimeType::MIDI_SUFFIX, MimeType::MID_SUFFIX]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `midi_suffixes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/range.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | reader.seek(SeekFrom::Start(range.start)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 10.27s [INFO] [stdout] warning: 175 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/rws-cf2cb45729f30bb4) [INFO] running `Command { std: "docker" "inspect" "8b7204ebf19a89ab25057638448a251ac3df4d054b28802b7781f8ca45bf3510", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b7204ebf19a89ab25057638448a251ac3df4d054b28802b7781f8ca45bf3510", kill_on_drop: false }` [INFO] [stdout] 8b7204ebf19a89ab25057638448a251ac3df4d054b28802b7781f8ca45bf3510 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 04c839cd8eb854e1cf6b0fff4236b2bcf421062cf0252f352f19fa03777cdfcb [INFO] running `Command { std: "docker" "start" "-a" "04c839cd8eb854e1cf6b0fff4236b2bcf421062cf0252f352f19fa03777cdfcb", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `Captures` [INFO] [stderr] --> src/request.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use regex::{Captures, Regex}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HTTPError`, `RESPONSE_STATUS_CODE_REASON_PHRASES`, `ResponseStatusCodeReasonPhrase`, `StatusCodeReasonPhrase` [INFO] [stderr] --> src/request.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::constant::{CONSTANTS, HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, ResponseStatusCodeReasonPhrase, StatusCodeReasonPhrase}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::app::App` [INFO] [stderr] --> src/response.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::app::App; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cors::Cors` [INFO] [stderr] --> src/response.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::cors::Cors; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Config` [INFO] [stderr] --> src/server.rs:8:13 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::{Config, CONSTANTS}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Config` [INFO] [stderr] --> src/test/cors_test.rs:5:24 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::{bootstrap, Config, CONSTANTS, Request, Response, Server}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider adding a `#[cfg(test)]` to the containing module [INFO] [stderr] --> src/test.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | mod cors_test; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StatusCodeReasonPhrase` [INFO] [stderr] --> src/range.rs:8:71 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::constant::{HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, StatusCodeReasonPhrase}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/main.rs:19:21 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{self, Error, Read, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::Shutdown` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use std::net::Shutdown; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::from_utf8` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::str::from_utf8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `thread`, `time` [INFO] [stderr] --> src/main.rs:22:11 [INFO] [stderr] | [INFO] [stderr] 22 | use std::{thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HTTPError`, `StatusCodeReasonPhrase` [INFO] [stderr] --> src/main.rs:29:49 [INFO] [stderr] | [INFO] [stderr] 29 | use crate::constant::{CONSTANTS, HTTP_VERSIONS, HTTPError, RESPONSE_STATUS_CODE_REASON_PHRASES, StatusCodeReasonPhrase}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Source` [INFO] [stderr] --> src/main.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | use mio::event::{Event, Source}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `response_as_vector` is never read [INFO] [stderr] --> src/response.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | let mut response_as_vector : Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `range_list` is never read [INFO] [stderr] --> src/range.rs:282:17 [INFO] [stderr] | [INFO] [stderr] 282 | let mut range_list = vec![]; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `response_result_body` is never read [INFO] [stderr] --> src/test/range_test.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | let mut response_result_body : Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_result_body` [INFO] [stderr] --> src/test/range_test.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | let mut response_result_body : Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_result_body` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | let port: usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:296:9 [INFO] [stderr] | [INFO] [stderr] 296 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:309:9 [INFO] [stderr] | [INFO] [stderr] 309 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:370:9 [INFO] [stderr] | [INFO] [stderr] 370 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:381:9 [INFO] [stderr] | [INFO] [stderr] 381 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:382:9 [INFO] [stderr] | [INFO] [stderr] 382 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:383:9 [INFO] [stderr] | [INFO] [stderr] 383 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:444:9 [INFO] [stderr] | [INFO] [stderr] 444 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:455:9 [INFO] [stderr] | [INFO] [stderr] 455 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:518:9 [INFO] [stderr] | [INFO] [stderr] 518 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:528:9 [INFO] [stderr] | [INFO] [stderr] 528 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:529:9 [INFO] [stderr] | [INFO] [stderr] 529 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:530:9 [INFO] [stderr] | [INFO] [stderr] 530 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:592:9 [INFO] [stderr] | [INFO] [stderr] 592 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:602:9 [INFO] [stderr] | [INFO] [stderr] 602 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:603:9 [INFO] [stderr] | [INFO] [stderr] 603 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:604:9 [INFO] [stderr] | [INFO] [stderr] 604 | let static_directories = vec!["/static".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:670:9 [INFO] [stderr] | [INFO] [stderr] 670 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:680:9 [INFO] [stderr] | [INFO] [stderr] 680 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:681:9 [INFO] [stderr] | [INFO] [stderr] 681 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:682:9 [INFO] [stderr] | [INFO] [stderr] 682 | let static_directories = vec!["/static".to_string(), "/assets".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/server_test.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_addr` [INFO] [stderr] --> src/test/server_test.rs:756:9 [INFO] [stderr] | [INFO] [stderr] 756 | let ip_addr= "127.0.0.1".to_string(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_addr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `port` [INFO] [stderr] --> src/test/server_test.rs:757:9 [INFO] [stderr] | [INFO] [stderr] 757 | let port : usize = "8787".parse().unwrap(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `static_directories` [INFO] [stderr] --> src/test/server_test.rs:758:9 [INFO] [stderr] | [INFO] [stderr] 758 | let static_directories = vec!["/static".to_string(), "/assets".to_string()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_directories` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> src/test/server_test.rs:821:9 [INFO] [stderr] | [INFO] [stderr] 821 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> src/test/server_test.rs:887:9 [INFO] [stderr] | [INFO] [stderr] 887 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> src/test/server_test.rs:953:9 [INFO] [stderr] | [INFO] [stderr] 953 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> src/test/server_test.rs:1019:9 [INFO] [stderr] | [INFO] [stderr] 1019 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> src/test/server_test.rs:1085:9 [INFO] [stderr] | [INFO] [stderr] 1085 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end_of_first_range` [INFO] [stderr] --> src/test/server_test.rs:1124:9 [INFO] [stderr] | [INFO] [stderr] 1124 | let end_of_first_range = mid; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_of_first_range` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start_of_second_range` [INFO] [stderr] --> src/test/server_test.rs:1125:9 [INFO] [stderr] | [INFO] [stderr] 1125 | let start_of_second_range = length + 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_of_second_range` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `not_proper_end_of_second_range` [INFO] [stderr] --> src/test/server_test.rs:1126:9 [INFO] [stderr] | [INFO] [stderr] 1126 | let not_proper_end_of_second_range = mid; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_not_proper_end_of_second_range` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `request` [INFO] [stderr] --> src/test/server_test.rs:1151:9 [INFO] [stderr] | [INFO] [stderr] 1151 | let request: Request = Request::parse_request(&raw_request.as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `response_filepath` [INFO] [stderr] --> src/test/cors_test.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | let response_filepath = &request.request_uri; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_filepath` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/request.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let mut content_length: usize = 0; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/request.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | let mut iteration_number : usize = 0; [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/response.rs:65:61 [INFO] [stderr] | [INFO] [stderr] 65 | pub(crate) fn generate_response(mut response: Response, mut request: Request) -> Vec { [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/response.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | let mut body = Response::generate_body(response.content_range_list); [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/response.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let mut content_length: usize = 0; [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/response.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let mut iteration_number : usize = 0; [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/response.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | let mut header_parts: Vec<&str> = header_string.split(CONSTANTS.HEADER_NAME_VALUE_SEPARATOR).collect(); [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/response.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | let mut raw_header_name = header_parts[0].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/response.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | let mut header_name = Server::truncate_new_line_carriage_return(&raw_header_name); [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/response.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | let mut raw_header_value = header_parts[1].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/response.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | let mut header_value = Server::truncate_new_line_carriage_return(&raw_header_value); [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/response.rs:218:21 [INFO] [stderr] | [INFO] [stderr] 218 | let mut content_range_list : Vec = vec![]; [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/server.rs:11:35 [INFO] [stderr] | [INFO] [stderr] 11 | pub(crate) fn process_request(mut s: impl Read + Write + Unpin) -> Vec { [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/app.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | let mut contents = file_content; [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/app.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let mut contents = file_content; [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/range.rs:144:21 [INFO] [stderr] | [INFO] [stderr] 144 | let mut buff_length = (range.end - range.start) + 1; [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/range.rs:146:21 [INFO] [stderr] | [INFO] [stderr] 146 | let mut file = File::open(filepath).unwrap(); [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/range.rs:325:39 [INFO] [stderr] | [INFO] [stderr] 325 | pub(crate) fn parse_line_as_bytes(mut cursor: &mut Cursor<&[u8]>) -> Vec { [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/range.rs:332:13 [INFO] [stderr] | [INFO] [stderr] 332 | let mut b : &[u8] = &buffer; [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/test/range_test.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | let mut first_body = first_range.body.clone(); [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/test/range_test.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | let mut second_body = second_range.body.clone(); [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/test/range_test.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | let mut response_result_body : Vec = vec![]; [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/test/range_test.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | let mut first_body = first_range.body.clone(); [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/test/range_test.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:238:9 [INFO] [stderr] | [INFO] [stderr] 238 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:267:9 [INFO] [stderr] | [INFO] [stderr] 267 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:283:9 [INFO] [stderr] | [INFO] [stderr] 283 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:300:9 [INFO] [stderr] | [INFO] [stderr] 300 | let mut file = File::open(&static_filepath).unwrap(); [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/test/range_test.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | let mut buff_length = (end - start) + 1; [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/test/range_test.rs:491:9 [INFO] [stderr] | [INFO] [stderr] 491 | let mut first_body = first_range.body.clone(); [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/test/range_test.rs:499:9 [INFO] [stderr] | [INFO] [stderr] 499 | let mut second_body = second_range.body.clone(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: associated constant is never used: `CONTENT_RANGE_REGEX` [INFO] [stderr] --> src/header.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub(crate) const CONTENT_RANGE_REGEX: &'static str = "bytes\\s(?P\\d{1,})-(?P\\d{1,})/(?P\\d{1,})"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `workers` [INFO] [stderr] --> src/thread_pool.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | workers: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `id` [INFO] [stderr] --> src/thread_pool.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | id: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `thread` [INFO] [stderr] --> src/thread_pool.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | thread: thread::JoinHandle<()>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `NEW_LINE` [INFO] [stderr] --> src/constant.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | pub(crate) NEW_LINE: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `CHARSET` [INFO] [stderr] --> src/constant.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub(crate) CHARSET: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `UTF_8` [INFO] [stderr] --> src/constant.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) UTF_8: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `NONE` [INFO] [stderr] --> src/constant.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub(crate) NONE: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `DELETE` [INFO] [stderr] --> src/constant.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub(crate) DELETE: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `CONNECT` [INFO] [stderr] --> src/constant.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | pub(crate) CONNECT: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `TRACE` [INFO] [stderr] --> src/constant.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub(crate) TRACE: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `HTTP_VERSION_0_9` [INFO] [stderr] --> src/constant.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub(crate) HTTP_VERSION_0_9: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `HTTP_VERSION_1_0` [INFO] [stderr] --> src/constant.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub(crate) HTTP_VERSION_1_0: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `HTTP_VERSION_2_0` [INFO] [stderr] --> src/constant.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) HTTP_VERSION_2_0: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | create_tcp_listener(ip.as_str(), port); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/request.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | Request::cursor_read(cursor, iteration_number, request, content_length); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `ONE` should have a snake case name [INFO] [stderr] --> src/response.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let ONE = 1; [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `one` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/response.rs:230:17 [INFO] [stderr] | [INFO] [stderr] 230 | cursor.read_to_end(&mut buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `NEW_LINE_SEPARATOR` should have a snake case name [INFO] [stderr] --> src/constant.rs:2:16 [INFO] [stderr] | [INFO] [stderr] 2 | pub(crate) NEW_LINE_SEPARATOR: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_line_separator` [INFO] [stderr] [INFO] [stderr] warning: structure field `NEW_LINE` should have a snake case name [INFO] [stderr] --> src/constant.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | pub(crate) NEW_LINE: &'static str, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `new_line` [INFO] [stderr] [INFO] [stderr] warning: structure field `EMPTY_STRING` should have a snake case name [INFO] [stderr] --> src/constant.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | pub(crate) EMPTY_STRING: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_string` [INFO] [stderr] [INFO] [stderr] warning: structure field `WHITESPACE` should have a snake case name [INFO] [stderr] --> src/constant.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | pub(crate) WHITESPACE: &'static str, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `whitespace` [INFO] [stderr] [INFO] [stderr] warning: structure field `EQUALS` should have a snake case name [INFO] [stderr] --> src/constant.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) EQUALS: &'static str, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `equals` [INFO] [stderr] [INFO] [stderr] warning: structure field `COMMA` should have a snake case name [INFO] [stderr] --> src/constant.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | pub(crate) COMMA: &'static str, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `comma` [INFO] [stderr] [INFO] [stderr] warning: structure field `HYPHEN` should have a snake case name [INFO] [stderr] --> src/constant.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | pub(crate) HYPHEN: &'static str, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `hyphen` [INFO] [stderr] [INFO] [stderr] warning: structure field `HEADER_NAME_VALUE_SEPARATOR` should have a snake case name [INFO] [stderr] --> src/constant.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | pub(crate) HEADER_NAME_VALUE_SEPARATOR: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `header_name_value_separator` [INFO] [stderr] [INFO] [stderr] warning: structure field `SLASH` should have a snake case name [INFO] [stderr] --> src/constant.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | pub(crate) SLASH: &'static str, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `slash` [INFO] [stderr] [INFO] [stderr] warning: structure field `CHARSET` should have a snake case name [INFO] [stderr] --> src/constant.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | pub(crate) CHARSET: &'static str, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `charset` [INFO] [stderr] [INFO] [stderr] warning: structure field `UTF_8` should have a snake case name [INFO] [stderr] --> src/constant.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) UTF_8: &'static str, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `utf_8` [INFO] [stderr] [INFO] [stderr] warning: structure field `NOSNIFF` should have a snake case name [INFO] [stderr] --> src/constant.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | pub(crate) NOSNIFF: &'static str, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `nosniff` [INFO] [stderr] [INFO] [stderr] warning: structure field `BYTES` should have a snake case name [INFO] [stderr] --> src/constant.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | pub(crate) BYTES: &'static str, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `bytes` [INFO] [stderr] [INFO] [stderr] warning: structure field `NONE` should have a snake case name [INFO] [stderr] --> src/constant.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | pub(crate) NONE: &'static str, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `none` [INFO] [stderr] [INFO] [stderr] warning: structure field `MULTIPART` should have a snake case name [INFO] [stderr] --> src/constant.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | pub(crate) MULTIPART: &'static str, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `multipart` [INFO] [stderr] [INFO] [stderr] warning: structure field `BYTERANGES` should have a snake case name [INFO] [stderr] --> src/constant.rs:17:16 [INFO] [stderr] | [INFO] [stderr] 17 | pub(crate) BYTERANGES: &'static str, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `byteranges` [INFO] [stderr] [INFO] [stderr] warning: structure field `SEMICOLON` should have a snake case name [INFO] [stderr] --> src/constant.rs:18:16 [INFO] [stderr] | [INFO] [stderr] 18 | pub(crate) SEMICOLON: &'static str, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `semicolon` [INFO] [stderr] [INFO] [stderr] warning: structure field `BOUNDARY` should have a snake case name [INFO] [stderr] --> src/constant.rs:19:16 [INFO] [stderr] | [INFO] [stderr] 19 | pub(crate) BOUNDARY: &'static str, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `boundary` [INFO] [stderr] [INFO] [stderr] warning: structure field `STRING_SEPARATOR` should have a snake case name [INFO] [stderr] --> src/constant.rs:20:16 [INFO] [stderr] | [INFO] [stderr] 20 | pub(crate) STRING_SEPARATOR: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `string_separator` [INFO] [stderr] [INFO] [stderr] warning: structure field `SEPARATOR` should have a snake case name [INFO] [stderr] --> src/constant.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | pub(crate) SEPARATOR: &'static str, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `separator` [INFO] [stderr] [INFO] [stderr] warning: structure field `GET` should have a snake case name [INFO] [stderr] --> src/constant.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | pub(crate) GET: &'static str, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `get` [INFO] [stderr] [INFO] [stderr] warning: structure field `HEAD` should have a snake case name [INFO] [stderr] --> src/constant.rs:50:16 [INFO] [stderr] | [INFO] [stderr] 50 | pub(crate) HEAD: &'static str, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `head` [INFO] [stderr] [INFO] [stderr] warning: structure field `POST` should have a snake case name [INFO] [stderr] --> src/constant.rs:51:16 [INFO] [stderr] | [INFO] [stderr] 51 | pub(crate) POST: &'static str, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `post` [INFO] [stderr] [INFO] [stderr] warning: structure field `PUT` should have a snake case name [INFO] [stderr] --> src/constant.rs:52:16 [INFO] [stderr] | [INFO] [stderr] 52 | pub(crate) PUT: &'static str, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `put` [INFO] [stderr] [INFO] [stderr] warning: structure field `DELETE` should have a snake case name [INFO] [stderr] --> src/constant.rs:53:16 [INFO] [stderr] | [INFO] [stderr] 53 | pub(crate) DELETE: &'static str, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `delete` [INFO] [stderr] [INFO] [stderr] warning: structure field `CONNECT` should have a snake case name [INFO] [stderr] --> src/constant.rs:54:16 [INFO] [stderr] | [INFO] [stderr] 54 | pub(crate) CONNECT: &'static str, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `connect` [INFO] [stderr] [INFO] [stderr] warning: structure field `OPTIONS` should have a snake case name [INFO] [stderr] --> src/constant.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | pub(crate) OPTIONS: &'static str, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `options` [INFO] [stderr] [INFO] [stderr] warning: structure field `TRACE` should have a snake case name [INFO] [stderr] --> src/constant.rs:56:16 [INFO] [stderr] | [INFO] [stderr] 56 | pub(crate) TRACE: &'static str, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `trace` [INFO] [stderr] [INFO] [stderr] warning: structure field `HTTP_VERSION_0_9` should have a snake case name [INFO] [stderr] --> src/constant.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | pub(crate) HTTP_VERSION_0_9: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_0_9` [INFO] [stderr] [INFO] [stderr] warning: structure field `HTTP_VERSION_1_0` should have a snake case name [INFO] [stderr] --> src/constant.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | pub(crate) HTTP_VERSION_1_0: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_1_0` [INFO] [stderr] [INFO] [stderr] warning: structure field `HTTP_VERSION_1_1` should have a snake case name [INFO] [stderr] --> src/constant.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | pub(crate) HTTP_VERSION_1_1: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_1_1` [INFO] [stderr] [INFO] [stderr] warning: structure field `HTTP_VERSION_2_0` should have a snake case name [INFO] [stderr] --> src/constant.rs:74:16 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) HTTP_VERSION_2_0: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `http_version_2_0` [INFO] [stderr] [INFO] [stderr] warning: structure field `STATUS_CODE` should have a snake case name [INFO] [stderr] --> src/constant.rs:86:16 [INFO] [stderr] | [INFO] [stderr] 86 | pub(crate) STATUS_CODE: &'static str, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `status_code` [INFO] [stderr] [INFO] [stderr] warning: structure field `REASON_PHRASE` should have a snake case name [INFO] [stderr] --> src/constant.rs:87:16 [INFO] [stderr] | [INFO] [stderr] 87 | pub(crate) REASON_PHRASE: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `reason_phrase` [INFO] [stderr] [INFO] [stderr] warning: structure field `N200_OK` should have a snake case name [INFO] [stderr] --> src/constant.rs:91:16 [INFO] [stderr] | [INFO] [stderr] 91 | pub(crate) N200_OK: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `n200_ok` [INFO] [stderr] [INFO] [stderr] warning: structure field `N204_NO_CONTENT` should have a snake case name [INFO] [stderr] --> src/constant.rs:92:16 [INFO] [stderr] | [INFO] [stderr] 92 | pub(crate) N204_NO_CONTENT: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n204_no_content` [INFO] [stderr] [INFO] [stderr] warning: structure field `N206_PARTIAL_CONTENT` should have a snake case name [INFO] [stderr] --> src/constant.rs:93:16 [INFO] [stderr] | [INFO] [stderr] 93 | pub(crate) N206_PARTIAL_CONTENT: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n206_partial_content` [INFO] [stderr] [INFO] [stderr] warning: structure field `N400_BAD_REQUEST` should have a snake case name [INFO] [stderr] --> src/constant.rs:94:16 [INFO] [stderr] | [INFO] [stderr] 94 | pub(crate) N400_BAD_REQUEST: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n400_bad_request` [INFO] [stderr] [INFO] [stderr] warning: structure field `N404_NOT_FOUND` should have a snake case name [INFO] [stderr] --> src/constant.rs:95:16 [INFO] [stderr] | [INFO] [stderr] 95 | pub(crate) N404_NOT_FOUND: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n404_not_found` [INFO] [stderr] [INFO] [stderr] warning: structure field `N416_RANGE_NOT_SATISFIABLE` should have a snake case name [INFO] [stderr] --> src/constant.rs:96:16 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) N416_RANGE_NOT_SATISFIABLE: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `n416_range_not_satisfiable` [INFO] [stderr] [INFO] [stderr] warning: structure field `STATUS_CODE_REASON_PHRASE` should have a snake case name [INFO] [stderr] --> src/constant.rs:134:16 [INFO] [stderr] | [INFO] [stderr] 134 | pub(crate) STATUS_CODE_REASON_PHRASE: &'static StatusCodeReasonPhrase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `status_code_reason_phrase` [INFO] [stderr] [INFO] [stderr] warning: structure field `MESSAGE` should have a snake case name [INFO] [stderr] --> src/constant.rs:135:16 [INFO] [stderr] | [INFO] [stderr] 135 | pub(crate) MESSAGE: String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `message` [INFO] [stderr] [INFO] [stderr] warning: variable `HTML_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | let HTML_SUFFIXES = vec![MimeType::HTML_SUFFIX, MimeType::HTM_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `html_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `JS_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:213:17 [INFO] [stderr] | [INFO] [stderr] 213 | let JS_SUFFIXES = vec![MimeType::MJS_SUFFIX, MimeType::JS_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `js_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `JPEG_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:246:17 [INFO] [stderr] | [INFO] [stderr] 246 | ... let JPEG_SUFFIXES = vec![MimeType::JPG_SUFFIX, MimeType::JPEG_SUFFIX, MimeType::JPE_SUFFIX, MimeType::JIF_SUFFIX, MimeType::JFIF_SU... [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `jpeg_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `ICO_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:274:17 [INFO] [stderr] | [INFO] [stderr] 274 | let ICO_SUFFIXES = vec![MimeType::ICO_SUFFIX, MimeType::CUR_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ico_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `TIFF_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:287:17 [INFO] [stderr] | [INFO] [stderr] 287 | let TIFF_SUFFIXES = vec![MimeType::TIF_SUFFIX, MimeType::TIFF_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `tiff_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `MPEG_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:330:17 [INFO] [stderr] | [INFO] [stderr] 330 | let MPEG_SUFFIXES = vec![MimeType::MPG_SUFFIX, MimeType::MPEG_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mpeg_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `MP4_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:343:17 [INFO] [stderr] | [INFO] [stderr] 343 | let MP4_SUFFIXES = vec![MimeType::MP4_SUFFIX, MimeType::M4V_SUFFIX, MimeType::M4P_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mp4_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `OGG_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:356:17 [INFO] [stderr] | [INFO] [stderr] 356 | let OGG_SUFFIXES = vec![MimeType::OGG_SUFFIX, MimeType::OGV_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ogg_suffixes` [INFO] [stderr] [INFO] [stderr] warning: variable `MIDI_SUFFIXES` should have a snake case name [INFO] [stderr] --> src/mime_type.rs:470:17 [INFO] [stderr] | [INFO] [stderr] 470 | let MIDI_SUFFIXES = vec![MimeType::MIDI_SUFFIX, MimeType::MID_SUFFIX]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `midi_suffixes` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/range.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | reader.seek(SeekFrom::Start(range.start)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `rws` (bin "rws" test) generated 175 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.87s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rws-cf2cb45729f30bb4) [INFO] [stdout] [INFO] [stdout] running 133 tests [INFO] [stdout] test test::cors_test::cors_process ... ok [INFO] [stdout] test test::cors_test::cors_allow_all ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_3g2_file ... ok [INFO] [stdout] test test::cors_test::cors_process_empty_config ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_abiword_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_7z_file ... ok [INFO] [stdout] test test::cors_test::cors_process_default_config ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_audio_aac_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_audio_oga_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_audio_flac_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_audio_wav_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_avi_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_azv_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_bin_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_binary_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_bz_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_bz2_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_cda_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_csh_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_css_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_csv_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_doc_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_docx_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_eot_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_gz_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_htm_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_html_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_ics_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_apng_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_avif_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_bmp_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_cur_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_gif_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_ico_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_jfif_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_jif_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_jpe_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_jpeg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_jpg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_png_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_svg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_tif_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_tiff_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_jar_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_js_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_json_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_jsonld_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_image_webp_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_mjs_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_mid_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_mp3_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_midi_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_mpkg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_mp4_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_odp_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_ods_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_odt_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_php_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_ppt_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_pptx_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_rar_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_rtf_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_sh_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_swf_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_tar_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_text_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_ts_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_ttf_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_3gp_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_m4p_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_mp4_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_m4v_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_mpeg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_ogg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_mpg_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_ogv_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_ogx_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_otf_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_opus_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_pdf_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_quicktime_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_video_webm_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_woff2_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_webm_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_vsd_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_woff_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_xhtml_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_xls_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_xml_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_xul_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_zip_file ... ok [INFO] [stdout] test test::mime_type_test::detect_mime_type_for_xlsx_file ... ok [INFO] [stdout] test test::range_test::parse_range_test ... ok [INFO] [stdout] test test::response_test::check_is_multipart_byteranges_content_type ... ok [INFO] [stdout] test test::range_test::content_range_regex ... ok [INFO] [stdout] test test::request_test::test_request_ok_with_special_characters ... ok [INFO] [stdout] test test::range_test::end_bigger_than_filesize_parse_content_range_header_value ... ok [INFO] [stdout] test test::range_test::malformed_header_parse_content_range_header_value ... ok [INFO] [stdout] test test::request_test::test_request_not_ok ... ok [INFO] [stdout] test test::range_test::start_bigger_than_filesize_parse_content_range_header_value ... ok [INFO] [stdout] test test::request_test::test_request_not_ok_dummy_not_valid_request ... ok [INFO] [stdout] test test::range_test::parse_content_range_header_value ... ok [INFO] [stdout] test test::request_test::test_request_ok ... ok [INFO] [stdout] test test::request_test::method_and_request_uri_and_http_version_regex ... ok [INFO] [stdout] test test::thread_pool_test::thread_pool_test ... ok [INFO] [stdout] test test::request_test::test_request_not_ok_empty_request ... ok [INFO] [stdout] test test::request_test::test_request_ok_with_ukrainian_characters ... ok [INFO] [stdout] test test::range_test::no_empty_string_between_header_and_body_in_parse_multipart_body ... ok [INFO] [stdout] test test::range_test::parse_multipart_body ... ok [INFO] [stdout] test test::range_test::start_after_end_parse_content_range_header_value ... ok [INFO] [stdout] test test::server_test::check_range_response_for_not_proper_range_header_malformed ... ok [INFO] [stdout] test test::range_test::check_range_response_is_ok_two_part ... ok [INFO] [stdout] test test::cors_test::actual_request_after_preflight ... ok [INFO] [stdout] test test::cors_test::cors_options_preflight_request ... ok [INFO] [stdout] test test::server_test::check_range_response_for_not_proper_range_header ... ok [INFO] [stdout] test test::server_test::it_generates_successful_response_with_index_html ... ok [INFO] [stdout] test test::range_test::get_right_content_range_of_a_file ... ok [INFO] [stdout] test test::server_test::it_generates_successful_response_with_static_file_in_subdirectory ... ok [INFO] [stdout] test test::server_test::check_range_response_for_not_proper_range_header_range_end_bigger_than_filesize ... ok [INFO] [stdout] test test::range_test::check_range_response_is_ok_single_part ... ok [INFO] [stdout] test test::server_test::check_range_response_for_not_proper_range_header_range_start_bigger_than_end ... ok [INFO] [stdout] test test::response_test::it_generates_successful_response_with_additional_headers_and_non_utf8_file ... ok [INFO] [stdout] test test::response_test::it_generates_successful_response_with_additional_headers ... ok [INFO] [stdout] test test::server_test::it_generates_not_found_page_for_absent_static_file ... ok [INFO] [stdout] test test::server_test::check_range_response_for_not_proper_range_header_range_start_malformed ... ok [INFO] [stdout] test test::server_test::it_generates_not_found_page_for_absent_route ... ok [INFO] [stdout] test test::server_test::it_generates_not_found_page_for_static_directory ... ok [INFO] [stdout] test test::server_test::it_generates_successful_response_with_static_file_in_subdirectory_to_head_request ... ok [INFO] [stdout] test test::response_test::http_version_and_status_code_and_reason_phrase_regex ... ok [INFO] [stdout] test test::server_test::it_generates_not_found_page_for_static_subdirectory ... ok [INFO] [stdout] test test::server_test::it_generates_successful_response_with_static_file_in_multiple_static_directories ... ok [INFO] [stdout] test test::server_test::check_range_response_for_not_proper_range_header_range_end_malformed ... ok [INFO] [stdout] test test::server_test::it_generates_successful_response_with_static_file ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 133 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.33s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "04c839cd8eb854e1cf6b0fff4236b2bcf421062cf0252f352f19fa03777cdfcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04c839cd8eb854e1cf6b0fff4236b2bcf421062cf0252f352f19fa03777cdfcb", kill_on_drop: false }` [INFO] [stdout] 04c839cd8eb854e1cf6b0fff4236b2bcf421062cf0252f352f19fa03777cdfcb