[INFO] cloning repository https://github.com/jeraldgan/rust-primer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jeraldgan/rust-primer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeraldgan%2Frust-primer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeraldgan%2Frust-primer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8722a96df067afa7439b1de35ff57b32ad9c3f66 [INFO] checking jeraldgan/rust-primer against master#90384941aae4ea38de00e4702b50757e9b882a19 for pr-138340 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeraldgan%2Frust-primer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jeraldgan/rust-primer on toolchain 90384941aae4ea38de00e4702b50757e9b882a19 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+90384941aae4ea38de00e4702b50757e9b882a19" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jeraldgan/rust-primer [INFO] finished tweaking git repo https://github.com/jeraldgan/rust-primer [INFO] tweaked toml for git repo https://github.com/jeraldgan/rust-primer written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jeraldgan/rust-primer 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" "+90384941aae4ea38de00e4702b50757e9b882a19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+90384941aae4ea38de00e4702b50757e9b882a19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6d17cc12e17a4ebf7fb17d05eead826c211e5eac6d95faef301fc62add1ea3d2 [INFO] running `Command { std: "docker" "start" "-a" "6d17cc12e17a4ebf7fb17d05eead826c211e5eac6d95faef301fc62add1ea3d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6d17cc12e17a4ebf7fb17d05eead826c211e5eac6d95faef301fc62add1ea3d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d17cc12e17a4ebf7fb17d05eead826c211e5eac6d95faef301fc62add1ea3d2", kill_on_drop: false }` [INFO] [stdout] 6d17cc12e17a4ebf7fb17d05eead826c211e5eac6d95faef301fc62add1ea3d2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+90384941aae4ea38de00e4702b50757e9b882a19" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0485b51d7a342392932d993b9b9ddff8aacdc083d2a4bdd69741700fce0c658d [INFO] running `Command { std: "docker" "start" "-a" "0485b51d7a342392932d993b9b9ddff8aacdc083d2a4bdd69741700fce0c658d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.65 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.91 [INFO] [stderr] Compiling serde_derive v1.0.125 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Compiling serde v1.0.125 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking os_str_bytes v2.4.0 [INFO] [stderr] Checking textwrap v0.12.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking demo-strings v0.1.0 (/opt/rustwide/workdir/06-strings/demo) [INFO] [stderr] Checking demo-structs v0.1.0 (/opt/rustwide/workdir/03-structs-lifetimes/demo) [INFO] [stderr] Checking exercise-generics v0.1.0 (/opt/rustwide/workdir/04-generics-traits/exercise) [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> 06-strings/demo/src/main.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let s2: String = String::from_str(s).unwrap(); // s could be invalid bytes for a String [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> 06-strings/demo/src/main.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let s2: String = s.to_owned(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s3` [INFO] [stdout] --> 06-strings/demo/src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let s3: &str = s2.as_str(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found `>` [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:24:39 [INFO] [stdout] | [INFO] [stdout] 24 | let mut map: HashMap<&str, ???> = HashMap::new(); [INFO] [stdout] | - ^ expected identifier [INFO] [stdout] | | [INFO] [stdout] | while parsing the type for the binding [INFO] [stdout] | help: use `=` if you meant to assign [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `,` [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | let mut map: HashMap<&str, ???> = HashMap::new(); [INFO] [stdout] | ^ expected one of 8 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> 03-structs-lifetimes/demo/src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl Rectangle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn new(width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `double_area_rect_reference` is never used [INFO] [stdout] --> 03-structs-lifetimes/demo/src/main.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn double_area_rect_reference(rect: &Rectangle) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_weight` [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 38 | fn get_weight(&self) -> i32; [INFO] [stdout] | ---------------------------- `get_weight` from trait [INFO] [stdout] ... [INFO] [stdout] 52 | impl HasWeight for Cow {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ missing `get_weight` in implementation [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `get_weight` [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 38 | fn get_weight(&self) -> i32; [INFO] [stdout] | ---------------------------- `get_weight` from trait [INFO] [stdout] ... [INFO] [stdout] 54 | impl HasWeight for Cat {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ missing `get_weight` in implementation [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking demo-stuff v0.1.0 (/opt/rustwide/workdir/01-hello/demo) [INFO] [stderr] Checking exercise-match v0.1.0 (/opt/rustwide/workdir/05-match-result/exercise) [INFO] [stderr] Checking exercise-libraries v0.1.0 (/opt/rustwide/workdir/07-external-libraries/exercise) [INFO] [stderr] Checking solution v0.1.0 (/opt/rustwide/workdir/01-hello/solution) [INFO] [stderr] Checking exercise-hello v0.1.0 (/opt/rustwide/workdir/01-hello/exercise) [INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | get_weight(Cow { [INFO] [stdout] | _____________^^^^^^^^^^_- [INFO] [stdout] 61 | | meat_weight: 1, [INFO] [stdout] 62 | | milk_weight: 5 [INFO] [stdout] 63 | | }), [INFO] [stdout] | |_____________- unexpected argument of type `tests::test_generic_function::Cow` [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | fn get_weight() -> i32 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 60 - get_weight(Cow { [INFO] [stdout] 61 - meat_weight: 1, [INFO] [stdout] 62 - milk_weight: 5 [INFO] [stdout] 63 - }), [INFO] [stdout] 60 + get_weight(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking solution-generics v0.1.0 (/opt/rustwide/workdir/04-generics-traits/solution) [INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | assert_eq!(get_weight(Cat { furballs: 3 }), 3); [INFO] [stdout] | ^^^^^^^^^^ ------------------- unexpected argument of type `Cat` [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | fn get_weight() -> i32 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 66 - assert_eq!(get_weight(Cat { furballs: 3 }), 3); [INFO] [stdout] 66 + assert_eq!(get_weight(), 3); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> 04-generics-traits/exercise/src/main.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | fn get_weight() -> i32 {} [INFO] [stdout] | ---------- ^^^ expected `i32`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking structs-exercise v0.1.0 (/opt/rustwide/workdir/02-basics/exercise) [INFO] [stdout] Some errors have detailed explanations: E0046, E0061, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0046`. [INFO] [stdout] [INFO] [stderr] error: could not compile `exercise-generics` (bin "exercise-generics" test) due to 7 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `exercise-libraries` (bin "exercise-libraries" test) due to 1 previous error [INFO] [stdout] error: expected one of `!` or `::`, found `:` [INFO] [stdout] --> 07-external-libraries/exercise/src/main.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | https://docs.serde.rs/serde_json/#parsing-json-as-strongly-typed-data-structures [INFO] [stdout] | ^ expected one of `!` or `::` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> 05-match-result/exercise/src/main.rs:20:42 [INFO] [stdout] | [INFO] [stdout] 20 | assert_eq!(parse_value("bunny"), Some(Sculpture::Bunny)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `Sculpture`, found `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Sculpture` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> 05-match-result/exercise/src/main.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | assert_eq!(parse_value("teapot"), Some(Sculpture::Teapot)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected `Sculpture`, found `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Sculpture` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> 05-match-result/exercise/src/main.rs:22:41 [INFO] [stdout] | [INFO] [stdout] 22 | assert_eq!(parse_value("taco"), None); [INFO] [stdout] | ^^^^ expected `Sculpture`, found `Option<_>` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Sculpture` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> 05-match-result/exercise/src/main.rs:29:27 [INFO] [stdout] | [INFO] [stdout] 29 | assert_eq!(value, "value"); [INFO] [stdout] | ^^^^^^^ expected `Option<&str>`, found `&str` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option<&str>` [INFO] [stdout] found reference `&str` [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 29 | assert_eq!(value, Some("value")); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> 05-match-result/exercise/src/main.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | fn parse_value(input: &str) -> Sculpture { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `exercise-match` (bin "exercise-match" test) due to 4 previous errors; 1 warning emitted [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> 02-basics/exercise/src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let x: u8 = 1; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs` [INFO] [stdout] --> 02-basics/exercise/src/main.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let xs = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> 04-generics-traits/solution/src/main.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> 04-generics-traits/solution/src/main.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | mod tests { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0485b51d7a342392932d993b9b9ddff8aacdc083d2a4bdd69741700fce0c658d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0485b51d7a342392932d993b9b9ddff8aacdc083d2a4bdd69741700fce0c658d", kill_on_drop: false }` [INFO] [stdout] 0485b51d7a342392932d993b9b9ddff8aacdc083d2a4bdd69741700fce0c658d