[INFO] cloning repository https://github.com/Westonside/rust-testing
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Westonside/rust-testing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWestonside%2Frust-testing", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWestonside%2Frust-testing'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f268c4e847ce486bd93371d1d51d8751c25e758
[INFO] checking Westonside/rust-testing/6f268c4e847ce486bd93371d1d51d8751c25e758 against master#ab1d2444533d829e2d5cff6634cd3c70de6d7103 for pr-147841
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWestonside%2Frust-testing" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Westonside/rust-testing
[INFO] finished tweaking git repo https://github.com/Westonside/rust-testing
[INFO] tweaked toml for git repo https://github.com/Westonside/rust-testing written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Westonside/rust-testing on toolchain ab1d2444533d829e2d5cff6634cd3c70de6d7103
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab1d2444533d829e2d5cff6634cd3c70de6d7103" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Westonside/rust-testing 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" "+ab1d2444533d829e2d5cff6634cd3c70de6d7103" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ab1d2444533d829e2d5cff6634cd3c70de6d7103" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7985cf1e1b37f63872d5fe6ae1913097461ad520c7ef26ba1d55829497d217e5
[INFO] running `Command { std: "docker" "start" "-a" "7985cf1e1b37f63872d5fe6ae1913097461ad520c7ef26ba1d55829497d217e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7985cf1e1b37f63872d5fe6ae1913097461ad520c7ef26ba1d55829497d217e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7985cf1e1b37f63872d5fe6ae1913097461ad520c7ef26ba1d55829497d217e5", kill_on_drop: false }`
[INFO] [stdout] 7985cf1e1b37f63872d5fe6ae1913097461ad520c7ef26ba1d55829497d217e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ab1d2444533d829e2d5cff6634cd3c70de6d7103" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 974d6ab87d47ebed4a5ebb81f7b35083c306123d446004f81cdce28072c50d2a
[INFO] running `Command { std: "docker" "start" "-a" "974d6ab87d47ebed4a5ebb81f7b35083c306123d446004f81cdce28072c50d2a", kill_on_drop: false }`
[INFO] [stderr]     Checking ex2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found `unimplemented`
[INFO] [stdout]   --> src/http/query_string.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |         QueryString {data}
[INFO] [stdout]    |                           ^ help: add `;` here
[INFO] [stdout] 52 |         unimplemented!();
[INFO] [stdout]    |         ------------- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method` and `Request`
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use http::{Request,Method};
[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: `ParseError`
[INFO] [stdout]  --> src/http/mod.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use request::{Request, ParseError};
[INFO] [stdout]   |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryStringValue`
[INFO] [stdout]  --> src/http/request.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{QueryString, QueryStringValue};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[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] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/server.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | /             ///error or ok
[INFO] [stdout] 35 | |             ///this can have a recoverable error
[INFO] [stdout] 36 | |             /// returns value if ok else will terminate the program and log the error
[INFO] [stdout]    | |_____________________________________________________________________________________^
[INFO] [stdout] 37 |               let listener = TcpListener::bind(&self.address).unwrap();
[INFO] [stdout]    |               --------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/server.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             'outer: loop{
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found `unimplemented`
[INFO] [stdout]   --> src/http/query_string.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |         QueryString {data}
[INFO] [stdout]    |                           ^ help: add `;` here
[INFO] [stdout] 52 |         unimplemented!();
[INFO] [stdout]    |         ------------- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ParseError`
[INFO] [stdout]    --> src/http/request.rs:72:45
[INFO] [stdout]     |
[INFO] [stdout]  72 |         let method: Method  = method.parse()?;
[INFO] [stdout]     |                                      -------^ the trait `From<String>` is not implemented for `ParseError`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this can't be annotated with `?` because it has type `Result<_, String>`
[INFO] [stdout]     |
[INFO] [stdout] note: `ParseError` needs to implement `From<String>`
[INFO] [stdout]    --> src/http/request.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum ParseError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `ParseError` implements `From<MethodError>`
[INFO] [stdout]               `ParseError` implements `From<Utf8Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method` and `Request`
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use http::{Request,Method};
[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: `ParseError`
[INFO] [stdout]  --> src/http/mod.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use request::{Request, ParseError};
[INFO] [stdout]   |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryStringValue`
[INFO] [stdout]  --> src/http/request.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{QueryString, QueryStringValue};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[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] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/server.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | /             ///error or ok
[INFO] [stdout] 35 | |             ///this can have a recoverable error
[INFO] [stdout] 36 | |             /// returns value if ok else will terminate the program and log the error
[INFO] [stdout]    | |_____________________________________________________________________________________^
[INFO] [stdout] 37 |               let listener = TcpListener::bind(&self.address).unwrap();
[INFO] [stdout]    |               --------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/server.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             'outer: loop{
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ParseError`
[INFO] [stdout]    --> src/http/request.rs:72:45
[INFO] [stdout]     |
[INFO] [stdout]  72 |         let method: Method  = method.parse()?;
[INFO] [stdout]     |                                      -------^ the trait `From<String>` is not implemented for `ParseError`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this can't be annotated with `?` because it has type `Result<_, String>`
[INFO] [stdout]     |
[INFO] [stdout] note: `ParseError` needs to implement `From<String>`
[INFO] [stdout]    --> src/http/request.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum ParseError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `ParseError` implements `From<MethodError>`
[INFO] [stdout]               `ParseError` implements `From<Utf8Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/method.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | /         match s {
[INFO] [stdout] 26 | |             "GET" => Ok(Self::GET),
[INFO] [stdout] 27 | |             "DELETE" => Ok(Self::DELETE),
[INFO] [stdout] 28 | |             "POST" => Ok(Self::POST),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |         }
[INFO] [stdout]    | |         ^- help: consider using a semicolon here
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |           expected `()`, found `Result<Method, MethodError>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Result<Method, MethodError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/http/method.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | /         match s {
[INFO] [stdout] 26 | |             "GET" => Ok(Self::GET),
[INFO] [stdout] 27 | |             "DELETE" => Ok(Self::DELETE),
[INFO] [stdout] 28 | |             "POST" => Ok(Self::POST),
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |         }
[INFO] [stdout]    | |         ^- help: consider using a semicolon here
[INFO] [stdout]    | |_________|
[INFO] [stdout]    |           expected `()`, found `Result<Method, MethodError>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Result<Method, MethodError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/server.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | /             'outer: loop{
[INFO] [stdout] 40 | |                 //match works on strings too like a switch statement
[INFO] [stdout] 41 | |                 //can  do a || b => {}
[INFO] [stdout] 42 | |                 match listener.accept(){
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |             }
[INFO] [stdout]    | |_____________- any code following this expression is unreachable
[INFO] [stdout] 76 |
[INFO] [stdout] 77 |               let tup = (1,2);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/server.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | /             'outer: loop{
[INFO] [stdout] 40 | |                 //match works on strings too like a switch statement
[INFO] [stdout] 41 | |                 //can  do a || b => {}
[INFO] [stdout] 42 | |                 match listener.accept(){
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |             }
[INFO] [stdout]    | |_____________- any code following this expression is unreachable
[INFO] [stdout] 76 |
[INFO] [stdout] 77 |               let tup = (1,2);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/server.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn arr (a: &[u8]){
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/server.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn arr (a: &[u8]){
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> src/server.rs:56:40
[INFO] [stdout]    |
[INFO] [stdout] 56 | ...                   Ok(request) =>{
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tup`
[INFO] [stdout]   --> src/server.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let tup = (1,2);
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> src/server.rs:56:40
[INFO] [stdout]    |
[INFO] [stdout] 56 | ...                   Ok(request) =>{
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tup`
[INFO] [stdout]   --> src/server.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let tup = (1,2);
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_tup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_port`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let server_port = &string[10..]; //10 to the last byte to get the port get everything after 10thy
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_port`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let server_port = &string[10..]; //10 to the last byte to get the port get everything after 10thy
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ex2` (bin "ex2") due to 3 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ex2` (bin "ex2" test) due to 3 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "974d6ab87d47ebed4a5ebb81f7b35083c306123d446004f81cdce28072c50d2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "974d6ab87d47ebed4a5ebb81f7b35083c306123d446004f81cdce28072c50d2a", kill_on_drop: false }`
[INFO] [stdout] 974d6ab87d47ebed4a5ebb81f7b35083c306123d446004f81cdce28072c50d2a
