[INFO] cloning repository https://github.com/Basharkhan7776/rustling
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Basharkhan7776/rustling" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBasharkhan7776%2Frustling", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBasharkhan7776%2Frustling'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] de5f5476ff5785933f93b0e25e5cadd654db888c
[INFO] checking Basharkhan7776/rustling against try#c8085cfed34c45021fc8f66d073f6394b3e35431 for pr-148939
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBasharkhan7776%2Frustling" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Basharkhan7776/rustling
[INFO] finished tweaking git repo https://github.com/Basharkhan7776/rustling
[INFO] tweaked toml for git repo https://github.com/Basharkhan7776/rustling written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Basharkhan7776/rustling on toolchain c8085cfed34c45021fc8f66d073f6394b3e35431
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Basharkhan7776/rustling 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" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6eb6c8185d1e853da14176b12756ce3c910b23ade7b337a412d1ab9e1d702515
[INFO] running `Command { std: "docker" "start" "-a" "6eb6c8185d1e853da14176b12756ce3c910b23ade7b337a412d1ab9e1d702515", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6eb6c8185d1e853da14176b12756ce3c910b23ade7b337a412d1ab9e1d702515", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6eb6c8185d1e853da14176b12756ce3c910b23ade7b337a412d1ab9e1d702515", kill_on_drop: false }`
[INFO] [stdout] 6eb6c8185d1e853da14176b12756ce3c910b23ade7b337a412d1ab9e1d702515
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+c8085cfed34c45021fc8f66d073f6394b3e35431" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f12450fe2c0b9749173c162457663f119a5663f2be6a4db75eaa962d93adc53f
[INFO] running `Command { std: "docker" "start" "-a" "f12450fe2c0b9749173c162457663f119a5663f2be6a4db75eaa962d93adc53f", kill_on_drop: false }`
[INFO] [stderr]     Checking exercises v0.0.0 (/opt/rustwide/workdir)
[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] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of partially moved value: `optional_point`
[INFO] [stdout]   --> exercises/12_options/options3.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Some(p) => println!("Coordinates are {},{}", p.x, p.y),
[INFO] [stdout]    |              - value partially moved here
[INFO] [stdout] ...
[INFO] [stdout] 16 |     println!("{optional_point:?}"); // Don't change this line.
[INFO] [stdout]    |                ^^^^^^^^^^^^^^ value borrowed here after partial move
[INFO] [stdout]    |
[INFO] [stdout]    = note: partial move occurs because value has type `Point`, which does not implement the `Copy` trait
[INFO] [stdout]    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: borrow this binding in the pattern to avoid moving the value
[INFO] [stdout]    |
[INFO] [stdout] 12 |         Some(ref p) => println!("Coordinates are {},{}", p.x, p.y),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "from_str") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0382]: use of moved value: `tx`
[INFO] [stdout]   --> exercises/20_threads/threads3.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn send_tx(q: Queue, tx: mpsc::Sender<u32>) {
[INFO] [stdout]    |                      -- move occurs because `tx` has type `std::sync::mpsc::Sender<u32>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     thread::spawn(move || {
[INFO] [stdout]    |                   ------- value moved into closure here
[INFO] [stdout] 21 |         for val in q.first_half {
[INFO] [stdout]    |         ----------------------- inside of this loop
[INFO] [stdout] 22 |             println!("Sending {val:?}");
[INFO] [stdout] 23 |             tx.send(val).unwrap();
[INFO] [stdout]    |             -- variable moved due to use in closure
[INFO] [stdout] ...
[INFO] [stdout] 28 |     thread::spawn(move || {
[INFO] [stdout]    |                   ^^^^^^^ value used here after move
[INFO] [stdout] ...
[INFO] [stdout] 31 |             tx.send(val).unwrap();
[INFO] [stdout]    |             -- use occurs due to use in closure
[INFO] [stdout]    |
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]    |
[INFO] [stdout] 21 ~         let mut value = tx.send(val);
[INFO] [stdout] 22 ~         for val in q.first_half {
[INFO] [stdout] 23 |             println!("Sending {val:?}");
[INFO] [stdout] 24 ~             value.unwrap();
[INFO] [stdout]    |
[INFO] [stdout] help: consider cloning the value before moving it into the closure
[INFO] [stdout]    |
[INFO] [stdout] 20 ~     let value = tx.clone();
[INFO] [stdout] 21 ~     thread::spawn(move || {
[INFO] [stdout] 22 |         for val in q.first_half {
[INFO] [stdout] 23 |             println!("Sending {val:?}");
[INFO] [stdout] 24 ~             value.send(val).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/12_options/options1.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn maybe_ice_cream(hour_of_day: u16) -> Option<u16> {
[INFO] [stdout]   |    ---------------                      ^^^^^^^^^^^ expected `Option<u16>`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]   |
[INFO] [stdout]   = note:   expected enum `Option<u16>`
[INFO] [stdout]           found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[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] [stderr] error: could not compile `exercises` (bin "options1") due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "threads3" test) due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "options3") due to 1 previous error
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]  --> exercises/16_lifetimes/lifetimes3.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     author: &str,
[INFO] [stdout]   |             ^ expected named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ struct Book<'a> {
[INFO] [stdout] 5 ~     author: &'a str,
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]  --> exercises/16_lifetimes/lifetimes3.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     title: &str,
[INFO] [stdout]   |            ^ expected named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]   |
[INFO] [stdout] 4 ~ struct Book<'a> {
[INFO] [stdout] 5 |     author: &str,
[INFO] [stdout] 6 ~     title: &'a str,
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "lifetimes3" test) due to 2 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> exercises/quizzes/quiz3.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |             grade: "A+",
[INFO] [stdout]    |                    ^^^^ expected `f32`, found `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `basket`
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps2.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn fruit_basket(basket: &mut HashMap<Fruit, u32>) {
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_basket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fruit`
[INFO] [stdout]   --> exercises/11_hashmaps/hashmaps2.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     for fruit in fruit_kinds {
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_fruit`
[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 "quiz3" test) due to 1 previous error
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> exercises/13_error_handling/errors5.rs:53:44
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn main() {
[INFO] [stdout]    | --------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 52 |     let pretend_user_input = "42";
[INFO] [stdout] 53 |     let x: i64 = pretend_user_input.parse()?;
[INFO] [stdout]    |                                            ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |           +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> exercises/13_error_handling/errors5.rs:54:59
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn main() {
[INFO] [stdout]    | --------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 54 |     println!("output={:?}", PositiveNonzeroInteger::new(x)?);
[INFO] [stdout]    |                                                           ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |           +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> exercises/13_error_handling/errors5.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn main() {
[INFO] [stdout]    |          - expected `()` because of default return type
[INFO] [stdout] ...
[INFO] [stdout] 55 |     Ok(())
[INFO] [stdout]    |     ^^^^^^ expected `()`, found `Result<(), _>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                    found enum `Result<(), _>`
[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] error[E0425]: cannot find value `child_numbers` in this scope
[INFO] [stdout]   --> exercises/19_smart_pointers/arc1.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let sum: u32 = child_numbers.iter().filter(|&&n| n % 8 == offset).sum();
[INFO] [stdout]    |                            ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused import: `sync::Arc`
[INFO] [stdout]   --> exercises/19_smart_pointers/arc1.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::{sync::Arc, thread};
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> exercises/19_smart_pointers/arc1.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![forbid(unused_imports)]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "errors5" test) due to 3 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "arc1" test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "f12450fe2c0b9749173c162457663f119a5663f2be6a4db75eaa962d93adc53f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f12450fe2c0b9749173c162457663f119a5663f2be6a4db75eaa962d93adc53f", kill_on_drop: false }`
[INFO] [stdout] f12450fe2c0b9749173c162457663f119a5663f2be6a4db75eaa962d93adc53f
