[INFO] cloning repository https://github.com/terassyi/rushttp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/terassyi/rushttp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fterassyi%2Frushttp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fterassyi%2Frushttp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 700067f5a752ad715f0292ea5a0f4a5971b9cb88
[INFO] checking terassyi/rushttp against master#9e293ae9f8abecb0be5105787d181518c9012a19 for pr-146440-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fterassyi%2Frushttp" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/terassyi/rushttp
[INFO] finished tweaking git repo https://github.com/terassyi/rushttp
[INFO] tweaked toml for git repo https://github.com/terassyi/rushttp written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/terassyi/rushttp on toolchain 9e293ae9f8abecb0be5105787d181518c9012a19
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/terassyi/rushttp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror-impl v1.0.19
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded quote v1.0.6
[INFO] [stderr]   Downloaded thiserror v1.0.19
[INFO] [stderr]   Downloaded thread_local v0.3.6
[INFO] [stderr]   Downloaded utf8-ranges v1.0.4
[INFO] [stderr]   Downloaded memchr v2.3.3
[INFO] [stderr]   Downloaded parse-zoneinfo v0.1.1
[INFO] [stderr]   Downloaded autocfg v1.0.0
[INFO] [stderr]   Downloaded aho-corasick v0.6.10
[INFO] [stderr]   Downloaded num-integer v0.1.42
[INFO] [stderr]   Downloaded time v0.1.43
[INFO] [stderr]   Downloaded ucd-util v0.1.8
[INFO] [stderr]   Downloaded proc-macro2 v1.0.17
[INFO] [stderr]   Downloaded num-traits v0.2.11
[INFO] [stderr]   Downloaded syn v1.0.24
[INFO] [stderr]   Downloaded aho-corasick v0.7.10
[INFO] [stderr]   Downloaded chrono v0.4.11
[INFO] [stderr]   Downloaded regex v0.2.11
[INFO] [stderr]   Downloaded regex v1.3.7
[INFO] [stderr]   Downloaded regex-syntax v0.5.6
[INFO] [stderr]   Downloaded regex-syntax v0.6.17
[INFO] [stderr]   Downloaded libc v0.2.71
[INFO] [stderr]   Downloaded chrono-tz v0.4.1
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7dfad3b91ce30d338c734e121da6fc8c509477223dc7ad154ac8b767c3189b0
[INFO] running `Command { std: "docker" "start" "-a" "b7dfad3b91ce30d338c734e121da6fc8c509477223dc7ad154ac8b767c3189b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7dfad3b91ce30d338c734e121da6fc8c509477223dc7ad154ac8b767c3189b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7dfad3b91ce30d338c734e121da6fc8c509477223dc7ad154ac8b767c3189b0", kill_on_drop: false }`
[INFO] [stdout] b7dfad3b91ce30d338c734e121da6fc8c509477223dc7ad154ac8b767c3189b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5cb8408662751e51717aefaa227d7e837245c473912fcced30b539fb472cbe15
[INFO] running `Command { std: "docker" "start" "-a" "5cb8408662751e51717aefaa227d7e837245c473912fcced30b539fb472cbe15", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling ucd-util v0.1.8
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.17
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling syn v1.0.24
[INFO] [stderr]     Checking regex-syntax v0.6.17
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]     Checking aho-corasick v0.7.10
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]     Checking regex v1.3.7
[INFO] [stderr]    Compiling parse-zoneinfo v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.19
[INFO] [stderr]    Compiling chrono-tz v0.4.1
[INFO] [stderr]     Checking thiserror v1.0.19
[INFO] [stderr]     Checking rushttp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::http::response::Response`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::http::response::Response;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BinaryHeap`
[INFO] [stdout]  --> src/http/header.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, BinaryHeap};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/http/method.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName` and `HeaderValue`
[INFO] [stdout]  --> src/http/request.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::http::header::{Header, HeaderName, HeaderValue};
[INFO] [stdout]   |                                   ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::status::StatusCode`
[INFO] [stdout]  --> src/http/request.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::http::status::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uri::uri::Uri`
[INFO] [stdout]  --> src/http/response.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::uri::uri::Uri;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::method::Method`
[INFO] [stdout]  --> src/http/response.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::http::method::Method;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Builder`
[INFO] [stdout]  --> src/http/parser.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::http::request::{Request, Builder};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InvalidMethod`
[INFO] [stdout]  --> src/http/parser.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::http::method::{InvalidMethod, Method};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/http/parser.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::http::error::{ErrorKind, Error};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/http/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/http/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Parse` and `Status`
[INFO] [stdout]   --> src/http/parser.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::http::error::ErrorKind::{Parse, Status};
[INFO] [stdout]    |                                     ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uri::error::ErrorKind::InvalidPath`
[INFO] [stdout]   --> src/http/parser.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::uri::error::ErrorKind::InvalidPath;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uri::uri`
[INFO] [stdout]  --> src/http/error.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::uri::uri;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `method` and `status`
[INFO] [stdout]  --> src/http/error.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::http::{status, method};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shutdown` and `TcpStream`
[INFO] [stdout]  --> src/server/mod.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::{Ipv4Addr, TcpListener, TcpStream, Shutdown};
[INFO] [stdout]   |                                       ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/server/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]  --> src/server/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::string::ParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/server/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/server/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::parser::Parser`
[INFO] [stdout]  --> src/server/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::http::parser::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/server/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::server::error::Error`
[INFO] [stdout]   --> src/server/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::server::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/server/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/server/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::method::Method`
[INFO] [stdout]   --> src/server/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::http::method::Method;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::server::resource`
[INFO] [stdout]  --> src/server/response.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::server::resource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/server/context.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{PathBuf, Path};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::parser::Parser`
[INFO] [stdout]  --> src/server/context.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::http::parser::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/server/context.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::request::Request`
[INFO] [stdout]  --> src/server/context.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::http::request::Request;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `resource`
[INFO] [stdout]  --> src/server/handler.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::server::{ServerError, resource};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::response::Response`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::http::response::Response;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BinaryHeap`
[INFO] [stdout]  --> src/http/header.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, BinaryHeap};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/http/method.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HeaderValue`
[INFO] [stdout]  --> src/http/request.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::http::header::{Header, HeaderName, HeaderValue};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::status::StatusCode`
[INFO] [stdout]  --> src/http/request.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::http::status::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName` and `HeaderValue`
[INFO] [stdout]    --> src/http/request.rs:191:31
[INFO] [stdout]     |
[INFO] [stdout] 191 |     use crate::http::header::{HeaderName, HeaderValue};
[INFO] [stdout]     |                               ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uri::uri::Uri`
[INFO] [stdout]  --> src/http/response.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::uri::uri::Uri;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::method::Method`
[INFO] [stdout]  --> src/http/response.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::http::method::Method;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Builder`
[INFO] [stdout]  --> src/http/parser.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::http::request::{Request, Builder};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InvalidMethod`
[INFO] [stdout]  --> src/http/parser.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::http::method::{InvalidMethod, Method};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/http/parser.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::http::error::{ErrorKind, Error};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/http/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/http/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Parse` and `Status`
[INFO] [stdout]   --> src/http/parser.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::http::error::ErrorKind::{Parse, Status};
[INFO] [stdout]    |                                     ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uri::error::ErrorKind::InvalidPath`
[INFO] [stdout]   --> src/http/parser.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::uri::error::ErrorKind::InvalidPath;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::header::HeaderValue`
[INFO] [stdout]    --> src/http/parser.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         use crate::http::header::HeaderValue;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::header::HeaderValue`
[INFO] [stdout]    --> src/http/parser.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         use crate::http::header::HeaderValue;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uri::uri`
[INFO] [stdout]  --> src/http/error.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::uri::uri;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `method` and `status`
[INFO] [stdout]  --> src/http/error.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::http::{status, method};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shutdown` and `TcpStream`
[INFO] [stdout]  --> src/server/mod.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::{Ipv4Addr, TcpListener, TcpStream, Shutdown};
[INFO] [stdout]   |                                       ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/server/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]  --> src/server/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::string::ParseError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/server/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/server/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::parser::Parser`
[INFO] [stdout]  --> src/server/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::http::parser::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/server/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::server::error::Error`
[INFO] [stdout]   --> src/server/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::server::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/server/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/server/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::method::Method`
[INFO] [stdout]   --> src/server/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::http::method::Method;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::server::resource`
[INFO] [stdout]  --> src/server/response.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::server::resource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/server/context.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{PathBuf, Path};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::parser::Parser`
[INFO] [stdout]  --> src/server/context.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::http::parser::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/server/context.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::http::request::Request`
[INFO] [stdout]  --> src/server/context.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::http::request::Request;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `resource`
[INFO] [stdout]  --> src/server/handler.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::server::{ServerError, resource};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/uri/uri.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn query(&self) -> Option<HashMap<String, String>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 116 |         self.query()
[INFO] [stdout]     |         ------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/uri/authority.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 let mut h = caps.index(0 as usize);
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/http/parser.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut data = String::from_utf8(buf.to_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/http/parser.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut data = String::from_utf8(buf.to_vec())
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/uri/uri.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn query(&self) -> Option<HashMap<String, String>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 116 |         self.query()
[INFO] [stdout]     |         ------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/uri/authority.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 let mut h = caps.index(0 as usize);
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]  --> src/uri/error.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Error {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 4 |     inner: ErrorKind
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/http/header.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl InvalidHeaderValue {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 205 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_header` is never used
[INFO] [stdout]    --> src/http/response.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Parts {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn push_header(self, key: &str, value: &str) -> Parts {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path` is never used
[INFO] [stdout]  --> src/server/resource.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_path(root: &str, path: &str) -> PathBuf {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate` is never used
[INFO] [stdout]   --> src/server/resource.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn validate(root: &str, path: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read` is never used
[INFO] [stdout]   --> src/server/resource.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn read(path: &str) -> Result<String, Error> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exec` is never used
[INFO] [stdout]   --> src/server/handler.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Handler<String> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn exec(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is` is never used
[INFO] [stdout]   --> src/server/error.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Error {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 23 |     /// Return true if the underlying error has the same type as T.
[INFO] [stdout] 24 |     pub fn is<T: error::Error + 'static>(&self) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/http/parser.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut data = String::from_utf8(buf.to_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/http/parser.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut data = String::from_utf8(buf.to_vec())
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]  --> src/uri/error.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Error {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 4 |     inner: ErrorKind
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/http/header.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl InvalidHeaderValue {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 205 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_header` is never used
[INFO] [stdout]    --> src/http/response.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Parts {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn push_header(self, key: &str, value: &str) -> Parts {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path` is never used
[INFO] [stdout]  --> src/server/resource.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_path(root: &str, path: &str) -> PathBuf {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read` is never used
[INFO] [stdout]   --> src/server/resource.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn read(path: &str) -> Result<String, Error> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exec` is never used
[INFO] [stdout]   --> src/server/handler.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Handler<String> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn exec(&self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is` is never used
[INFO] [stdout]   --> src/server/error.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Error {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 23 |     /// Return true if the underlying error has the same type as T.
[INFO] [stdout] 24 |     pub fn is<T: error::Error + 'static>(&self) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.40s
[INFO] running `Command { std: "docker" "inspect" "5cb8408662751e51717aefaa227d7e837245c473912fcced30b539fb472cbe15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5cb8408662751e51717aefaa227d7e837245c473912fcced30b539fb472cbe15", kill_on_drop: false }`
[INFO] [stdout] 5cb8408662751e51717aefaa227d7e837245c473912fcced30b539fb472cbe15
