[INFO] cloning repository https://github.com/Afizullah/rustlings
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Afizullah/rustlings" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAfizullah%2Frustlings", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAfizullah%2Frustlings'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 30d2d7bb7639965c03528ada24a86af0d53c7e68
[INFO] checking Afizullah/rustlings against master#3f6250a7bb79e600d9036bbc7c8f65af43933643 for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAfizullah%2Frustlings" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Afizullah/rustlings
[INFO] finished tweaking git repo https://github.com/Afizullah/rustlings
[INFO] tweaked toml for git repo https://github.com/Afizullah/rustlings written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Afizullah/rustlings on toolchain 3f6250a7bb79e600d9036bbc7c8f65af43933643
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 56b88793c0e8bac0a53c408b63197ff84ac042da769fe1b3c0da7938c176af73
[INFO] running `Command { std: "docker" "start" "-a" "56b88793c0e8bac0a53c408b63197ff84ac042da769fe1b3c0da7938c176af73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56b88793c0e8bac0a53c408b63197ff84ac042da769fe1b3c0da7938c176af73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56b88793c0e8bac0a53c408b63197ff84ac042da769fe1b3c0da7938c176af73", kill_on_drop: false }`
[INFO] [stdout] 56b88793c0e8bac0a53c408b63197ff84ac042da769fe1b3c0da7938c176af73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3f6250a7bb79e600d9036bbc7c8f65af43933643" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c758bd835c36b11cf01c58ff07b3a9a3e11ee44ce4aecb3c30679426586de4f0
[INFO] running `Command { std: "docker" "start" "-a" "c758bd835c36b11cf01c58ff07b3a9a3e11ee44ce4aecb3c30679426586de4f0", kill_on_drop: false }`
[INFO] [stderr]     Checking exercises v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]  --> exercises/22_clippy/clippy2.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     for x in option {
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]   |
[INFO] [stdout] 5 -     for x in option {
[INFO] [stdout] 5 +     while let Some(x) = option {
[INFO] [stdout]   |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]   |
[INFO] [stdout] 5 -     for x in option {
[INFO] [stdout] 5 +     if let Some(x) = option {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0072]: recursive type `List` has infinite size
[INFO] [stdout]   --> exercises/19_smart_pointers/box1.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum List {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout] 15 |     Cons(i32, List),
[INFO] [stdout]    |               ---- recursive without indirection
[INFO] [stdout]    |
[INFO] [stdout] help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Cons(i32, Box<List>),
[INFO] [stdout]    |               ++++    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0391]: cycle detected when computing drop-check constraints for `List`
[INFO] [stdout]   --> exercises/19_smart_pointers/box1.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum List {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ...which immediately requires computing drop-check constraints for `List` again
[INFO] [stdout]    = note: cycle used when computing dropck types for `List`
[INFO] [stdout]    = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0391]: cycle detected when computing when `List` needs drop
[INFO] [stdout]   --> exercises/19_smart_pointers/box1.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum List {
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ...which immediately requires computing when `List` needs drop again
[INFO] [stdout]    = note: cycle used when computing whether `List` needs drop
[INFO] [stdout]    = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0072, E0391.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0072`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "box1") due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]  --> exercises/16_lifetimes/lifetimes1.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn longest(x: &str, y: &str) -> &str {
[INFO] [stdout]   |               ----     ----     ^ expected named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout]   = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `x` or `y`
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]   |           ++++     ++          ++          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide `f64` by `usize`
[INFO] [stdout]  --> exercises/23_conversions/using_as.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 |     total / values.len()
[INFO] [stdout]   |           ^ no implementation for `f64 / usize`
[INFO] [stdout]   |
[INFO] [stdout]   = help: the trait `Div<usize>` is not implemented for `f64`
[INFO] [stdout] help: the following other types implement trait `Div<Rhs>`
[INFO] [stdout]  --> /rustc/3f6250a7bb79e600d9036bbc7c8f65af43933643/library/core/src/ops/arith.rs:513:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `f64` implements `Div`
[INFO] [stdout]  ::: /rustc/3f6250a7bb79e600d9036bbc7c8f65af43933643/library/core/src/ops/arith.rs:526:0
[INFO] [stdout]   |
[INFO] [stdout]   = note: in this macro invocation
[INFO] [stdout]  --> /rustc/3f6250a7bb79e600d9036bbc7c8f65af43933643/library/core/src/internal_macros.rs:22:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `&f64` implements `Div<f64>`
[INFO] [stdout]  ::: /rustc/3f6250a7bb79e600d9036bbc7c8f65af43933643/library/core/src/internal_macros.rs:33:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `f64` implements `Div<&f64>`
[INFO] [stdout]  ::: /rustc/3f6250a7bb79e600d9036bbc7c8f65af43933643/library/core/src/internal_macros.rs:44:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `&f64` implements `Div`
[INFO] [stdout]   = note: this error originates in the macro `div_impl_float` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> exercises/23_conversions/from_str.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn from_str(s: &str) -> Result<Self, Self::Err> {}
[INFO] [stdout]    |        --------             ^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<Person, ParsePersonError>`, found `()`
[INFO] [stdout]    |        |
[INFO] [stdout]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<Person, ParsePersonError>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `string2` does not live long enough
[INFO] [stdout]   --> exercises/16_lifetimes/lifetimes2.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let string2 = String::from("xyz");
[INFO] [stdout]    |             ------- binding `string2` declared here
[INFO] [stdout] 17 |         result = longest(&string1, &string2);
[INFO] [stdout]    |                                    ^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] 18 |     }
[INFO] [stdout]    |     - `string2` dropped here while still borrowed
[INFO] [stdout] 19 |     println!("The longest string is '{result}'");
[INFO] [stdout]    |                                       ------ borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "lifetimes1" test) due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0597`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "using_as" test) due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "lifetimes2") due to 1 previous error
[INFO] [stdout] error: cannot find macro `my_macro` in this scope
[INFO] [stdout]  --> exercises/21_macros/macros2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     my_macro!();
[INFO] [stdout]   |     ^^^^^^^^ consider moving the definition of `my_macro` before this call
[INFO] [stdout]   |
[INFO] [stdout] note: a macro with the same name exists, but it appears later
[INFO] [stdout]  --> exercises/21_macros/macros2.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | macro_rules! my_macro {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `my_macro`
[INFO] [stdout]  --> exercises/21_macros/macros2.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | macro_rules! my_macro {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) 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 `exercises` (bin "macros2" test) due to 1 previous error; 1 warning emitted
[INFO] [stderr] error: could not compile `exercises` (bin "from_str" test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "c758bd835c36b11cf01c58ff07b3a9a3e11ee44ce4aecb3c30679426586de4f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c758bd835c36b11cf01c58ff07b3a9a3e11ee44ce4aecb3c30679426586de4f0", kill_on_drop: false }`
[INFO] [stdout] c758bd835c36b11cf01c58ff07b3a9a3e11ee44ce4aecb3c30679426586de4f0
