[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` 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` [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`: [INFO] [stdout] `ParseError` implements `From` [INFO] [stdout] `ParseError` implements `From` [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` 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` [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`: [INFO] [stdout] `ParseError` implements `From` [INFO] [stdout] `ParseError` implements `From` [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` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Result` [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` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Result` [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