[INFO] cloning repository https://github.com/Adamwewe/RustyServer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Adamwewe/RustyServer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdamwewe%2FRustyServer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdamwewe%2FRustyServer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c283aa0e7d4f3cce7e41c88a01878fa444e73257
[INFO] testing Adamwewe/RustyServer against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdamwewe%2FRustyServer" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Adamwewe/RustyServer
[INFO] finished tweaking git repo https://github.com/Adamwewe/RustyServer
[INFO] tweaked toml for git repo https://github.com/Adamwewe/RustyServer written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Adamwewe/RustyServer on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Adamwewe/RustyServer 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 631b377a9da24f75395f8d7ed4a7879c99e345187c59357399c7f27bfab6a37b
[INFO] running `Command { std: "docker" "start" "-a" "631b377a9da24f75395f8d7ed4a7879c99e345187c59357399c7f27bfab6a37b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "631b377a9da24f75395f8d7ed4a7879c99e345187c59357399c7f27bfab6a37b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "631b377a9da24f75395f8d7ed4a7879c99e345187c59357399c7f27bfab6a37b", kill_on_drop: false }`
[INFO] [stdout] 631b377a9da24f75395f8d7ed4a7879c99e345187c59357399c7f27bfab6a37b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2344ce3fe1cb8064a92fe455fe06d86abf7cc56af6abd47c9c7fa539d745bd19
[INFO] running `Command { std: "docker" "start" "-a" "2344ce3fe1cb8064a92fe455fe06d86abf7cc56af6abd47c9c7fa539d745bd19", kill_on_drop: false }`
[INFO] [stderr]    Compiling udemy_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/server.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value as QueryStringValue`
[INFO] [stdout]  --> src/http/mod.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use query_string::{QueryString, Value as QueryStringValue};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/http/request.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/http/query_string.rs:42:38
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .or_insert(Value::Single((val)));
[INFO] [stdout]    |                                      ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -             .or_insert(Value::Single((val)));
[INFO] [stdout] 42 +             .or_insert(Value::Single(val));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Formatter`, `Result as FmtResult`, and `net::TcpStream`
[INFO] [stdout]  --> src/http/response.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt::{Display, Formatter, Result as FmtResult}, net::TcpStream};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `http::Request`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use http::Request;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/http/request.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn from_byte_array(buf : &[u8]) -> Result<Self, String> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let get : Method = Method::GET;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `put`
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let put : Method = Method::DELETE;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_put`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `query_string` is never read
[INFO] [stdout]   --> src/http/request.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Request <'buff>{
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 13 |     path : &'buff str,
[INFO] [stdout] 14 |     query_string : Option<QueryString<'buff>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Request` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `query_string` is never used
[INFO] [stdout]   --> src/http/request.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl <'buff> Request<'buff> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn query_string(&self) -> Option<&QueryString> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_byte_array` is never used
[INFO] [stdout]   --> src/http/request.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl <'buff> Request <'buff>{
[INFO] [stdout]    | ---------------------------- associated function in this implementation
[INFO] [stdout] 87 |     pub fn from_byte_array(buf : &[u8]) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/http/query_string.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct QueryString <'buff> {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 6 |     data : HashMap<&'buff str, Value<'buff>>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `QueryString` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/http/query_string.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl <'buf> QueryString<'buf>{
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 15 |     pub fn get(&self, key: &str) -> Option<&Value> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/http/request.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn query_string(&self) -> Option<&QueryString> {
[INFO] [stdout]    |                         ^^^^^            ------------
[INFO] [stdout]    |                         |                ||
[INFO] [stdout]    |                         |                |the lifetimes get resolved as `'_`
[INFO] [stdout]    |                         |                the lifetimes get resolved as `'_`
[INFO] [stdout]    |                         this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn query_string(&self) -> Option<&QueryString<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/http/query_string.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn get(&self, key: &str) -> Option<&Value> {
[INFO] [stdout]    |                ^^^^^                       ------
[INFO] [stdout]    |                |                           ||
[INFO] [stdout]    |                |                           |the lifetimes get resolved as `'_`
[INFO] [stdout]    |                |                           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn get(&self, key: &str) -> Option<&Value<'_>> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.95s
[INFO] running `Command { std: "docker" "inspect" "2344ce3fe1cb8064a92fe455fe06d86abf7cc56af6abd47c9c7fa539d745bd19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2344ce3fe1cb8064a92fe455fe06d86abf7cc56af6abd47c9c7fa539d745bd19", kill_on_drop: false }`
[INFO] [stdout] 2344ce3fe1cb8064a92fe455fe06d86abf7cc56af6abd47c9c7fa539d745bd19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 42f378591430f749f0e86369f539ec52d3bca401a13b00dc5f433ac3d9c2c691
[INFO] running `Command { std: "docker" "start" "-a" "42f378591430f749f0e86369f539ec52d3bca401a13b00dc5f433ac3d9c2c691", kill_on_drop: false }`
[INFO] [stderr]    Compiling udemy_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/server.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Read, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value as QueryStringValue`
[INFO] [stdout]  --> src/http/mod.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use query_string::{QueryString, Value as QueryStringValue};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/http/request.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/http/query_string.rs:42:38
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .or_insert(Value::Single((val)));
[INFO] [stdout]    |                                      ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -             .or_insert(Value::Single((val)));
[INFO] [stdout] 42 +             .or_insert(Value::Single(val));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `Formatter`, `Result as FmtResult`, and `net::TcpStream`
[INFO] [stdout]  --> src/http/response.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt::{Display, Formatter, Result as FmtResult}, net::TcpStream};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `http::Request`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use http::Request;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/http/request.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn from_byte_array(buf : &[u8]) -> Result<Self, String> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let get : Method = Method::GET;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_get`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `put`
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let put : Method = Method::DELETE;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_put`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `query_string` is never read
[INFO] [stdout]   --> src/http/request.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Request <'buff>{
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 13 |     path : &'buff str,
[INFO] [stdout] 14 |     query_string : Option<QueryString<'buff>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Request` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `query_string` is never used
[INFO] [stdout]   --> src/http/request.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl <'buff> Request<'buff> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn query_string(&self) -> Option<&QueryString> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_byte_array` is never used
[INFO] [stdout]   --> src/http/request.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl <'buff> Request <'buff>{
[INFO] [stdout]    | ---------------------------- associated function in this implementation
[INFO] [stdout] 87 |     pub fn from_byte_array(buf : &[u8]) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/http/query_string.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct QueryString <'buff> {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 6 |     data : HashMap<&'buff str, Value<'buff>>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `QueryString` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/http/query_string.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl <'buf> QueryString<'buf>{
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 15 |     pub fn get(&self, key: &str) -> Option<&Value> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/http/request.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn query_string(&self) -> Option<&QueryString> {
[INFO] [stdout]    |                         ^^^^^            ------------
[INFO] [stdout]    |                         |                ||
[INFO] [stdout]    |                         |                |the lifetimes get resolved as `'_`
[INFO] [stdout]    |                         |                the lifetimes get resolved as `'_`
[INFO] [stdout]    |                         this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn query_string(&self) -> Option<&QueryString<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/http/query_string.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn get(&self, key: &str) -> Option<&Value> {
[INFO] [stdout]    |                ^^^^^                       ------
[INFO] [stdout]    |                |                           ||
[INFO] [stdout]    |                |                           |the lifetimes get resolved as `'_`
[INFO] [stdout]    |                |                           the lifetimes get resolved as `'_`
[INFO] [stdout]    |                this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn get(&self, key: &str) -> Option<&Value<'_>> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] running `Command { std: "docker" "inspect" "42f378591430f749f0e86369f539ec52d3bca401a13b00dc5f433ac3d9c2c691", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42f378591430f749f0e86369f539ec52d3bca401a13b00dc5f433ac3d9c2c691", kill_on_drop: false }`
[INFO] [stdout] 42f378591430f749f0e86369f539ec52d3bca401a13b00dc5f433ac3d9c2c691
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5c5e2569e17e0a9534cbef61d419cd04a5d5f2181f24a07a2badab9ffd91af28
[INFO] running `Command { std: "docker" "start" "-a" "5c5e2569e17e0a9534cbef61d419cd04a5d5f2181f24a07a2badab9ffd91af28", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]  --> src/server.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::convert::TryInto;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/server.rs:6:21
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::{Read, Write};
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value as QueryStringValue`
[INFO] [stderr]  --> src/http/mod.rs:4:37
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use query_string::{QueryString, Value as QueryStringValue};
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> src/http/request.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/http/query_string.rs:42:38
[INFO] [stderr]    |
[INFO] [stderr] 42 |             .or_insert(Value::Single((val)));
[INFO] [stderr]    |                                      ^   ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 42 -             .or_insert(Value::Single((val)));
[INFO] [stderr] 42 +             .or_insert(Value::Single(val));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Display`, `Formatter`, `Result as FmtResult`, and `net::TcpStream`
[INFO] [stderr]  --> src/http/response.rs:4:17
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::{fmt::{Display, Formatter, Result as FmtResult}, net::TcpStream};
[INFO] [stderr]   |                 ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `http::Request`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use http::Request;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/http/request.rs:87:28
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn from_byte_array(buf : &[u8]) -> Result<Self, String> {
[INFO] [stderr]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `get`
[INFO] [stderr]   --> src/main.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let get : Method = Method::GET;
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_get`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `put`
[INFO] [stderr]   --> src/main.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |     let put : Method = Method::DELETE;
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_put`
[INFO] [stderr] 
[INFO] [stderr] warning: field `query_string` is never read
[INFO] [stderr]   --> src/http/request.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Request <'buff>{
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 13 |     path : &'buff str,
[INFO] [stderr] 14 |     query_string : Option<QueryString<'buff>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Request` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `query_string` is never used
[INFO] [stderr]   --> src/http/request.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl <'buff> Request<'buff> {
[INFO] [stderr]    | --------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn query_string(&self) -> Option<&QueryString> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_byte_array` is never used
[INFO] [stderr]   --> src/http/request.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 86 | impl <'buff> Request <'buff>{
[INFO] [stderr]    | ---------------------------- associated function in this implementation
[INFO] [stderr] 87 |     pub fn from_byte_array(buf : &[u8]) -> Result<Self, String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]  --> src/http/query_string.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct QueryString <'buff> {
[INFO] [stderr]   |            ----------- field in this struct
[INFO] [stderr] 6 |     data : HashMap<&'buff str, Value<'buff>>
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `QueryString` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get` is never used
[INFO] [stderr]   --> src/http/query_string.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl <'buf> QueryString<'buf>{
[INFO] [stderr]    | ----------------------------- method in this implementation
[INFO] [stderr] 15 |     pub fn get(&self, key: &str) -> Option<&Value> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/http/request.rs:34:25
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn query_string(&self) -> Option<&QueryString> {
[INFO] [stderr]    |                         ^^^^^            ------------
[INFO] [stderr]    |                         |                ||
[INFO] [stderr]    |                         |                |the lifetimes get resolved as `'_`
[INFO] [stderr]    |                         |                the lifetimes get resolved as `'_`
[INFO] [stderr]    |                         this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn query_string(&self) -> Option<&QueryString<'_>> {
[INFO] [stderr]    |                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/http/query_string.rs:15:16
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn get(&self, key: &str) -> Option<&Value> {
[INFO] [stderr]    |                ^^^^^                       ------
[INFO] [stderr]    |                |                           ||
[INFO] [stderr]    |                |                           |the lifetimes get resolved as `'_`
[INFO] [stderr]    |                |                           the lifetimes get resolved as `'_`
[INFO] [stderr]    |                this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn get(&self, key: &str) -> Option<&Value<'_>> {
[INFO] [stderr]    |                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `udemy_server` (bin "udemy_server" test) generated 17 warnings (run `cargo fix --bin "udemy_server" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/udemy_server-4aa3361b21c6774f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5c5e2569e17e0a9534cbef61d419cd04a5d5f2181f24a07a2badab9ffd91af28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c5e2569e17e0a9534cbef61d419cd04a5d5f2181f24a07a2badab9ffd91af28", kill_on_drop: false }`
[INFO] [stdout] 5c5e2569e17e0a9534cbef61d419cd04a5d5f2181f24a07a2badab9ffd91af28
