[INFO] cloning repository https://github.com/crand6/Aoc2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/crand6/Aoc2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrand6%2FAoc2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrand6%2FAoc2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a786ed08c72af1d30f34bf9657f57c560c73181d [INFO] checking crand6/Aoc2022 against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrand6%2FAoc2022" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/crand6/Aoc2022 [INFO] finished tweaking git repo https://github.com/crand6/Aoc2022 [INFO] tweaked toml for git repo https://github.com/crand6/Aoc2022 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/crand6/Aoc2022 on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/crand6/Aoc2022 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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: toolchain [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded trees v0.4.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0502527d113202a7503d859787ade07b2a3f17beb94c62618c1124abf9343b20 [INFO] running `Command { std: "docker" "start" "-a" "0502527d113202a7503d859787ade07b2a3f17beb94c62618c1124abf9343b20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0502527d113202a7503d859787ade07b2a3f17beb94c62618c1124abf9343b20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0502527d113202a7503d859787ade07b2a3f17beb94c62618c1124abf9343b20", kill_on_drop: false }` [INFO] [stdout] 0502527d113202a7503d859787ade07b2a3f17beb94c62618c1124abf9343b20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 53f66dc7a75f986df7e68b2920670dd40c077f926821f6559438f4855a373d6d [INFO] running `Command { std: "docker" "start" "-a" "53f66dc7a75f986df7e68b2920670dd40c077f926821f6559438f4855a373d6d", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: toolchain [INFO] [stderr] Compiling io-lifetimes v1.0.3 [INFO] [stderr] Compiling rustix v0.36.6 [INFO] [stderr] Checking linux-raw-sys v0.1.4 [INFO] [stderr] Checking os_str_bytes v6.4.1 [INFO] [stderr] Checking trees v0.4.2 [INFO] [stderr] Checking clap_lex v0.3.0 [INFO] [stderr] Checking is-terminal v0.4.2 [INFO] [stderr] Checking clap v4.0.32 [INFO] [stderr] Checking advent_of_code v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/day7.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/day7.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> src/day7.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `get_many_mut` has been stable since 1.86.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(get_many_mut)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/day7.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/day7.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> src/day7.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `get_many_mut` has been stable since 1.86.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(get_many_mut)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day7.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut filesystem = Tree::new(Inode::Dir(Dir::new("/"))); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `filesystem` [INFO] [stdout] --> src/day7.rs:52:53 [INFO] [stdout] | [INFO] [stdout] 38 | let mut filesystem = Tree::new(Inode::Dir(Dir::new("/"))); [INFO] [stdout] | -------------- move occurs because `filesystem` has type `trees::Tree`, which does not implement the `Copy` trait [INFO] [stdout] 39 | // This from() statement will default to the root of the tree [INFO] [stdout] 40 | let mut current_inode = RcNode::from(filesystem); [INFO] [stdout] | ---------- value moved here [INFO] [stdout] ... [INFO] [stdout] 52 | "/" => current_inode = RcNode::from(filesystem), [INFO] [stdout] | ^^^^^^^^^^ value used here after move [INFO] [stdout] | [INFO] [stdout] note: if `Inode` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/day7.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Inode { [INFO] [stdout] | ^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 40 | let mut current_inode = RcNode::from(filesystem); [INFO] [stdout] | ---------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/day7.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | let copy = child.clone().data(); [INFO] [stdout] | ^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] ... [INFO] [stdout] 60 | } [INFO] [stdout] | - borrow might be used here, when `copy` is dropped and runs the destructor for type `Ref<'_, Inode>` [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, Inode>` [INFO] [stdout] --> src/day7.rs:56:52 [INFO] [stdout] | [INFO] [stdout] 56 | if let Inode::Dir(copy ) = *child.clone().data() { [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `copy` has type `day7::Dir`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider removing the dereference here [INFO] [stdout] | [INFO] [stdout] 56 - if let Inode::Dir(copy ) = *child.clone().data() { [INFO] [stdout] 56 + if let Inode::Dir(copy ) = child.clone().data() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subdir` [INFO] [stdout] --> src/day7.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | subdir => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_subdir` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copy` [INFO] [stdout] --> src/day7.rs:55:29 [INFO] [stdout] | [INFO] [stdout] 55 | let copy = child.clone().data(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copy` [INFO] [stdout] --> src/day7.rs:56:43 [INFO] [stdout] | [INFO] [stdout] 56 | if let Inode::Dir(copy ) = *child.clone().data() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/day7.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn b(data: &str) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0382, E0507, E0716. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stderr] error: could not compile `advent_of_code` (bin "advent_of_code") due to 3 previous errors; 9 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day7.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut filesystem = Tree::new(Inode::Dir(Dir::new("/"))); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `filesystem` [INFO] [stdout] --> src/day7.rs:52:53 [INFO] [stdout] | [INFO] [stdout] 38 | let mut filesystem = Tree::new(Inode::Dir(Dir::new("/"))); [INFO] [stdout] | -------------- move occurs because `filesystem` has type `trees::Tree`, which does not implement the `Copy` trait [INFO] [stdout] 39 | // This from() statement will default to the root of the tree [INFO] [stdout] 40 | let mut current_inode = RcNode::from(filesystem); [INFO] [stdout] | ---------- value moved here [INFO] [stdout] ... [INFO] [stdout] 52 | "/" => current_inode = RcNode::from(filesystem), [INFO] [stdout] | ^^^^^^^^^^ value used here after move [INFO] [stdout] | [INFO] [stdout] note: if `Inode` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/day7.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | enum Inode { [INFO] [stdout] | ^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 40 | let mut current_inode = RcNode::from(filesystem); [INFO] [stdout] | ---------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/day7.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | let copy = child.clone().data(); [INFO] [stdout] | ^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] ... [INFO] [stdout] 60 | } [INFO] [stdout] | - borrow might be used here, when `copy` is dropped and runs the destructor for type `Ref<'_, Inode>` [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, Inode>` [INFO] [stdout] --> src/day7.rs:56:52 [INFO] [stdout] | [INFO] [stdout] 56 | if let Inode::Dir(copy ) = *child.clone().data() { [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `copy` has type `day7::Dir`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider removing the dereference here [INFO] [stdout] | [INFO] [stdout] 56 - if let Inode::Dir(copy ) = *child.clone().data() { [INFO] [stdout] 56 + if let Inode::Dir(copy ) = child.clone().data() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subdir` [INFO] [stdout] --> src/day7.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | subdir => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_subdir` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copy` [INFO] [stdout] --> src/day7.rs:55:29 [INFO] [stdout] | [INFO] [stdout] 55 | let copy = child.clone().data(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copy` [INFO] [stdout] --> src/day7.rs:56:43 [INFO] [stdout] | [INFO] [stdout] 56 | if let Inode::Dir(copy ) = *child.clone().data() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_copy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/day7.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn b(data: &str) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0382, E0507, E0716. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stderr] error: could not compile `advent_of_code` (bin "advent_of_code" test) due to 3 previous errors; 9 warnings emitted [INFO] running `Command { std: "docker" "inspect" "53f66dc7a75f986df7e68b2920670dd40c077f926821f6559438f4855a373d6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "53f66dc7a75f986df7e68b2920670dd40c077f926821f6559438f4855a373d6d", kill_on_drop: false }` [INFO] [stdout] 53f66dc7a75f986df7e68b2920670dd40c077f926821f6559438f4855a373d6d