[INFO] cloning repository https://github.com/dairyisscary/for-your-reference-part-4 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dairyisscary/for-your-reference-part-4" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdairyisscary%2Ffor-your-reference-part-4", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdairyisscary%2Ffor-your-reference-part-4'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 39fc1303b36056a8c7096d94f867b99911ab0631 [INFO] checking dairyisscary/for-your-reference-part-4 against master#64b185eddaa1d7ddf5e0c024be23b9cbba6c1722 for pr-143929 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdairyisscary%2Ffor-your-reference-part-4" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dairyisscary/for-your-reference-part-4 [INFO] finished tweaking git repo https://github.com/dairyisscary/for-your-reference-part-4 [INFO] tweaked toml for git repo https://github.com/dairyisscary/for-your-reference-part-4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dairyisscary/for-your-reference-part-4 on toolchain 64b185eddaa1d7ddf5e0c024be23b9cbba6c1722 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+64b185eddaa1d7ddf5e0c024be23b9cbba6c1722" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dairyisscary/for-your-reference-part-4 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" "+64b185eddaa1d7ddf5e0c024be23b9cbba6c1722" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+64b185eddaa1d7ddf5e0c024be23b9cbba6c1722" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] abdabcad45e95a02ef84d73688f5210a85508ec888e4de936d455ad40ade4663 [INFO] running `Command { std: "docker" "start" "-a" "abdabcad45e95a02ef84d73688f5210a85508ec888e4de936d455ad40ade4663", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "abdabcad45e95a02ef84d73688f5210a85508ec888e4de936d455ad40ade4663", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abdabcad45e95a02ef84d73688f5210a85508ec888e4de936d455ad40ade4663", kill_on_drop: false }` [INFO] [stdout] abdabcad45e95a02ef84d73688f5210a85508ec888e4de936d455ad40ade4663 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+64b185eddaa1d7ddf5e0c024be23b9cbba6c1722" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 14a00ad0eb7a8c351ef2098718e26f1ecbd067b0a291d5644ca5d044c253a332 [INFO] running `Command { std: "docker" "start" "-a" "14a00ad0eb7a8c351ef2098718e26f1ecbd067b0a291d5644ca5d044c253a332", kill_on_drop: false }` [INFO] [stderr] Checking five v0.1.0 (/opt/rustwide/workdir/five) [INFO] [stderr] Checking two v0.1.0 (/opt/rustwide/workdir/two) [INFO] [stderr] Checking one v0.1.0 (/opt/rustwide/workdir/one) [INFO] [stderr] Checking three v0.1.0 (/opt/rustwide/workdir/three) [INFO] [stderr] Checking four v0.1.0 (/opt/rustwide/workdir/four) [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> three/src/main.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | fn ops_dangle() -> &Vec { [INFO] [stdout] | ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from [INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static` [INFO] [stdout] | [INFO] [stdout] 6 | fn ops_dangle() -> &'static Vec { [INFO] [stdout] | +++++++ [INFO] [stdout] help: instead, you are more likely to want to return an owned value [INFO] [stdout] | [INFO] [stdout] 6 - fn ops_dangle() -> &Vec { [INFO] [stdout] 6 + fn ops_dangle() -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `*borrowed_vec` as mutable, as it is behind a `&` reference [INFO] [stdout] --> two/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | borrowed_vec.push(1); [INFO] [stdout] | ^^^^^^^^^^^^ `borrowed_vec` is a `&` reference, so the data it refers to cannot be borrowed as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be a mutable reference [INFO] [stdout] | [INFO] [stdout] 5 | fn put_a_one_into_it_opps(borrowed_vec: &mut Vec) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `vec` as mutable because it is also borrowed as immutable [INFO] [stdout] --> three/src/main.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 24 | let ref3 = &vec; [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 28 | let ref4 = &mut vec; [INFO] [stdout] | ^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 31 | let my_sum = sum(ref3); // opps alive [INFO] [stdout] | ---- immutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0596`. [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> three/src/main.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | fn ops_dangle() -> &Vec { [INFO] [stdout] | ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from [INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static` [INFO] [stdout] | [INFO] [stdout] 6 | fn ops_dangle() -> &'static Vec { [INFO] [stdout] | +++++++ [INFO] [stdout] help: instead, you are more likely to want to return an owned value [INFO] [stdout] | [INFO] [stdout] 6 - fn ops_dangle() -> &Vec { [INFO] [stdout] 6 + fn ops_dangle() -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0106, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stderr] error: could not compile `two` (bin "two") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `three` (bin "three" test) due to 2 previous errors [INFO] [stdout] error[E0502]: cannot borrow `dynamic_string` as mutable because it is also borrowed as immutable [INFO] [stdout] --> five/src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 31 | let found_o = find_first_char(&dynamic_string, 'o'); [INFO] [stdout] | --------------- immutable borrow occurs here [INFO] [stdout] 32 | dynamic_string.push_str(" -- even more stuff"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] 33 | println!("\nSearching:\n{}", found_o); // oppps ?!?! [INFO] [stdout] | ------- immutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `vec` as mutable because it is also borrowed as immutable [INFO] [stdout] --> three/src/main.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 24 | let ref3 = &vec; [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 28 | let ref4 = &mut vec; [INFO] [stdout] | ^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 31 | let my_sum = sum(ref3); // opps alive [INFO] [stdout] | ---- immutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `accum` [INFO] [stdout] --> four/src/main.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 41 | let mut accum = VecAccumulator::from(&vec![1, 2, 3]); [INFO] [stdout] | --------- move occurs because `accum` has type `VecAccumulator`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 47 | let _final_sum = accum.invalidate_me(); [INFO] [stdout] | --------------- `accum` moved due to this method call [INFO] [stdout] 48 | accum.print(); // opps [INFO] [stdout] | ^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] note: `VecAccumulator::invalidate_me` takes ownership of the receiver `self`, which moves `accum` [INFO] [stdout] --> four/src/main.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | fn invalidate_me(self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0106, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `dynamic_string` as mutable because it is also borrowed as immutable [INFO] [stdout] --> five/src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 31 | let found_o = find_first_char(&dynamic_string, 'o'); [INFO] [stdout] | --------------- immutable borrow occurs here [INFO] [stdout] 32 | dynamic_string.push_str(" -- even more stuff"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] 33 | println!("\nSearching:\n{}", found_o); // oppps ?!?! [INFO] [stdout] | ------- immutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `five` (bin "five") due to 1 previous error [INFO] [stdout] error[E0596]: cannot borrow `*borrowed_vec` as mutable, as it is behind a `&` reference [INFO] [stdout] --> two/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | borrowed_vec.push(1); [INFO] [stdout] | ^^^^^^^^^^^^ `borrowed_vec` is a `&` reference, so the data it refers to cannot be borrowed as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be a mutable reference [INFO] [stdout] | [INFO] [stdout] 5 | fn put_a_one_into_it_opps(borrowed_vec: &mut Vec) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `five` (bin "five" test) due to 1 previous error [INFO] [stdout] For more information about this error, try `rustc --explain E0596`. [INFO] [stdout] [INFO] [stderr] error: could not compile `four` (bin "four") due to 1 previous error [INFO] [stderr] error: could not compile `three` (bin "three") due to 2 previous errors [INFO] [stdout] error[E0382]: borrow of moved value: `accum` [INFO] [stdout] --> four/src/main.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 41 | let mut accum = VecAccumulator::from(&vec![1, 2, 3]); [INFO] [stdout] | --------- move occurs because `accum` has type `VecAccumulator`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 47 | let _final_sum = accum.invalidate_me(); [INFO] [stdout] | --------------- `accum` moved due to this method call [INFO] [stdout] 48 | accum.print(); // opps [INFO] [stdout] | ^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] note: `VecAccumulator::invalidate_me` takes ownership of the receiver `self`, which moves `accum` [INFO] [stdout] --> four/src/main.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | fn invalidate_me(self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `two` (bin "two" test) due to 1 previous error [INFO] [stdout] For more information about this error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stderr] error: could not compile `four` (bin "four" test) due to 1 previous error [INFO] running `Command { std: "docker" "inspect" "14a00ad0eb7a8c351ef2098718e26f1ecbd067b0a291d5644ca5d044c253a332", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14a00ad0eb7a8c351ef2098718e26f1ecbd067b0a291d5644ca5d044c253a332", kill_on_drop: false }` [INFO] [stdout] 14a00ad0eb7a8c351ef2098718e26f1ecbd067b0a291d5644ca5d044c253a332