[INFO] cloning repository https://github.com/sumin-world/rustlings-exercises [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sumin-world/rustlings-exercises" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsumin-world%2Frustlings-exercises", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsumin-world%2Frustlings-exercises'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 147f20e0aaf920c989eebcc1046128699160d374 [INFO] checking sumin-world/rustlings-exercises against master#8365fcb2b840c95eeb0bc377af8bd498fad22245 for pr-145605 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsumin-world%2Frustlings-exercises" "/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/sumin-world/rustlings-exercises [INFO] finished tweaking git repo https://github.com/sumin-world/rustlings-exercises [INFO] tweaked toml for git repo https://github.com/sumin-world/rustlings-exercises written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sumin-world/rustlings-exercises on toolchain 8365fcb2b840c95eeb0bc377af8bd498fad22245 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8365fcb2b840c95eeb0bc377af8bd498fad22245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sumin-world/rustlings-exercises 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" "+8365fcb2b840c95eeb0bc377af8bd498fad22245" "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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8365fcb2b840c95eeb0bc377af8bd498fad22245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cca57fc72596f2d6af0864ba407d9192cbf18af86898363dc8a75c09ee705172 [INFO] running `Command { std: "docker" "start" "-a" "cca57fc72596f2d6af0864ba407d9192cbf18af86898363dc8a75c09ee705172", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cca57fc72596f2d6af0864ba407d9192cbf18af86898363dc8a75c09ee705172", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cca57fc72596f2d6af0864ba407d9192cbf18af86898363dc8a75c09ee705172", kill_on_drop: false }` [INFO] [stdout] cca57fc72596f2d6af0864ba407d9192cbf18af86898363dc8a75c09ee705172 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8365fcb2b840c95eeb0bc377af8bd498fad22245" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 583a63715eee37a944c52d21acd1e53bbaaad0de5d3a57ce2109cd3705b75e5a [INFO] running `Command { std: "docker" "start" "-a" "583a63715eee37a944c52d21acd1e53bbaaad0de5d3a57ce2109cd3705b75e5a", kill_on_drop: false }` [INFO] [stderr] Checking exercises v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0382]: borrow of moved value: `vec0` [INFO] [stdout] --> exercises/06_move_semantics/move_semantics2.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 21 | let vec0 = vec![22, 44, 66]; [INFO] [stdout] | ---- move occurs because `vec0` has type `Vec`, which does not implement the `Copy` trait [INFO] [stdout] 22 | [INFO] [stdout] 23 | let vec1 = fill_vec(vec0); [INFO] [stdout] | ---- value moved here [INFO] [stdout] 24 | [INFO] [stdout] 25 | assert_eq!(vec0, [22, 44, 66]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `fill_vec` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> exercises/06_move_semantics/move_semantics2.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | fn fill_vec(vec: Vec) -> Vec { [INFO] [stdout] | -------- ^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this function [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 23 | let vec1 = fill_vec(vec0.clone()); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `basket` in this scope [INFO] [stdout] --> exercises/11_hashmaps/hashmaps1.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | basket.insert(String::from("banana"), 2); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `basket` in this scope [INFO] [stdout] --> exercises/11_hashmaps/hashmaps1.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | basket [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] [INFO] [stderr] error: could not compile `exercises` (bin "hashmaps1") due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `exercises` (bin "move_semantics2" test) due to 1 previous error [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/06_move_semantics/move_semantics5.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | fn string_uppercase(mut data: &String) { [INFO] [stdout] | ------- expected due to this parameter type [INFO] [stdout] 13 | data = data.to_uppercase(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected `&String`, found `String` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to mutate the pointed at value being passed in, instead of changing the reference in the local binding [INFO] [stdout] | [INFO] [stdout] 12 ~ fn string_uppercase(data: &mut String) { [INFO] [stdout] 13 ~ *data = data.to_uppercase(); [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), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found `,` [INFO] [stdout] --> exercises/15_traits/traits4.rs:14:40 [INFO] [stdout] | [INFO] [stdout] 14 | fn compare_license_types(software1: ???, software2: ???) -> bool { [INFO] [stdout] | ^ expected identifier [INFO] [stdout] | [INFO] [stdout] help: remove this comma [INFO] [stdout] | [INFO] [stdout] 14 - fn compare_license_types(software1: ???, software2: ???) -> bool { [INFO] [stdout] 14 + fn compare_license_types(software1: ??? software2: ???) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected a trait, found type [INFO] [stdout] --> exercises/15_traits/traits4.rs:14:39 [INFO] [stdout] | [INFO] [stdout] 14 | fn compare_license_types(software1: ???, software2: ???) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found `)` [INFO] [stdout] --> exercises/15_traits/traits4.rs:14:56 [INFO] [stdout] | [INFO] [stdout] 14 | fn compare_license_types(software1: ???, software2: ???) -> bool { [INFO] [stdout] | ^ expected identifier [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `data` [INFO] [stdout] --> exercises/06_move_semantics/move_semantics5.rs:23:22 [INFO] [stdout] | [INFO] [stdout] 19 | let data = "Rust is great!".to_string(); [INFO] [stdout] | ---- move occurs because `data` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] 20 | [INFO] [stdout] 21 | get_char(data); [INFO] [stdout] | ---- value moved here [INFO] [stdout] 22 | [INFO] [stdout] 23 | string_uppercase(&data); [INFO] [stdout] | ^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `get_char` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> exercises/06_move_semantics/move_semantics5.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | fn get_char(data: String) -> char { [INFO] [stdout] | -------- ^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this function [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 21 | get_char(data.clone()); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0382. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `exercises` (bin "move_semantics5") due to 2 previous errors [INFO] [stdout] error[E0425]: cannot find value `software1` in this scope [INFO] [stdout] --> exercises/15_traits/traits4.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | software1.licensing_info() == software2.licensing_info() [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `software2` in this scope [INFO] [stdout] --> exercises/15_traits/traits4.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | software1.licensing_info() == software2.licensing_info() [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: cannot multiply `Result` by `{integer}` [INFO] [stdout] --> exercises/13_error_handling/errors2.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | Ok(qty * cost_per_item + processing_fee) [INFO] [stdout] | --- ^ ------------- {integer} [INFO] [stdout] | | [INFO] [stdout] | Result [INFO] [stdout] | [INFO] [stdout] note: the foreign item type `Result` doesn't implement `Mul<{integer}>` [INFO] [stdout] --> /rustc/8365fcb2b840c95eeb0bc377af8bd498fad22245/library/core/src/result.rs:549:1 [INFO] [stdout] | [INFO] [stdout] = note: not implement `Mul<{integer}>` [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] For more information about this error, try `rustc --explain E0425`. [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] [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] For more information about this error, try `rustc --explain E0369`. [INFO] [stdout] [INFO] [stderr] error: could not compile `exercises` (bin "traits4") due to 5 previous errors [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `exercises` (bin "errors2" test) due to 1 previous error [INFO] [stderr] error: could not compile `exercises` (bin "box1" test) due to 3 previous errors [INFO] [stderr] error: could not compile `exercises` (bin "quiz3" test) due to 1 previous error [INFO] running `Command { std: "docker" "inspect" "583a63715eee37a944c52d21acd1e53bbaaad0de5d3a57ce2109cd3705b75e5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "583a63715eee37a944c52d21acd1e53bbaaad0de5d3a57ce2109cd3705b75e5a", kill_on_drop: false }` [INFO] [stdout] 583a63715eee37a944c52d21acd1e53bbaaad0de5d3a57ce2109cd3705b75e5a