[INFO] cloning repository https://github.com/yoghurt-x86/aoc2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yoghurt-x86/aoc2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoghurt-x86%2Faoc2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoghurt-x86%2Faoc2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eac76f9cf00037d26416693e14666c20a4cc9a53 [INFO] checking yoghurt-x86/aoc2023 against try#998b6603a58e47f42ccce7a67943234e96b6839e for pr-143170 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoghurt-x86%2Faoc2023" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/yoghurt-x86/aoc2023 [INFO] finished tweaking git repo https://github.com/yoghurt-x86/aoc2023 [INFO] tweaked toml for git repo https://github.com/yoghurt-x86/aoc2023 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yoghurt-x86/aoc2023 on toolchain 998b6603a58e47f42ccce7a67943234e96b6839e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/yoghurt-x86/aoc2023 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" "+998b6603a58e47f42ccce7a67943234e96b6839e" "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-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5f4d1ba790684d164787211224928b2eeeef7efae095d3a845551cbe0b1bc086 [INFO] running `Command { std: "docker" "start" "-a" "5f4d1ba790684d164787211224928b2eeeef7efae095d3a845551cbe0b1bc086", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5f4d1ba790684d164787211224928b2eeeef7efae095d3a845551cbe0b1bc086", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f4d1ba790684d164787211224928b2eeeef7efae095d3a845551cbe0b1bc086", kill_on_drop: false }` [INFO] [stdout] 5f4d1ba790684d164787211224928b2eeeef7efae095d3a845551cbe0b1bc086 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 456334e8cdf4d19cf6608dff70769c1d1598325f76db00cb17f570f4c2a82a14 [INFO] running `Command { std: "docker" "start" "-a" "456334e8cdf4d19cf6608dff70769c1d1598325f76db00cb17f570f4c2a82a14", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking bytes v1.5.0 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking combine v4.6.6 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Checking aoc2023 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque` [INFO] [stdout] --> src/bin/21.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, collections::{VecDeque, HashSet, HashMap}}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/bin/21.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/bin/21.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/bin/06.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `char` [INFO] [stdout] --> src/bin/05_part2.rs:5:52 [INFO] [stdout] | [INFO] [stdout] 5 | use combine::parser::char::{space, spaces, string, char, digit, newline}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/bin/16.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/bin/13.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combine::sep_end_by1` [INFO] [stdout] --> src/bin/13.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use combine::sep_end_by1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `choice` and `many` [INFO] [stdout] --> src/bin/13.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use combine::{many1, Parser, sep_by, choice, many}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `digit` and `spaces` [INFO] [stdout] --> src/bin/13.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use combine::parser::char::{newline, spaces, char, digit}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/bin/14.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/bin/14.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied [INFO] [stdout] --> src/bin/21.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | steps.insert(c); [INFO] [stdout] | ^^^^^^--- argument #2 of type `{integer}` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/998b6603a58e47f42ccce7a67943234e96b6839e/library/std/src/collections/hash/map.rs:1203:12 [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 64 | steps.insert(c, /* v */); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/bin/08_part2.rs:61:42 [INFO] [stdout] | [INFO] [stdout] 61 | let key = if dir == 'L' {left.clone()} else {right.clone()}; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/bin/08_part2.rs:61:63 [INFO] [stdout] | [INFO] [stdout] 61 | let key = if dir == 'L' {left.clone()} else {right.clone()}; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[Vec]` cannot be indexed by `&{integer}` [INFO] [stdout] --> src/bin/21.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | map[s.1][s.0] = 'O'; [INFO] [stdout] | ^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[Vec]>` is not implemented for `&{integer}` [INFO] [stdout] = help: the following other types implement trait `SliceIndex`: [INFO] [stdout] `usize` implements `SliceIndex` [INFO] [stdout] `usize` implements `SliceIndex<[T]>` [INFO] [stdout] = note: required for `Vec>` to implement `Index<&{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc2023` (bin "21") due to 2 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/bin/16.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/bin/15_part2.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/bin/15_part2.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combine::sep_end_by1` [INFO] [stdout] --> src/bin/15_part2.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use combine::sep_end_by1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `many` [INFO] [stdout] --> src/bin/15_part2.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | use combine::{many1, Parser, sep_by, choice, many}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_while` [INFO] [stdout] --> src/bin/15_part2.rs:11:30 [INFO] [stdout] | [INFO] [stdout] 11 | use combine::parser::range::{take_while}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha_num`, `newline`, and `spaces` [INFO] [stdout] --> src/bin/15_part2.rs:12:37 [INFO] [stdout] | [INFO] [stdout] 12 | use combine::parser::char::{letter, newline, spaces, char, digit, alpha_num}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque` [INFO] [stdout] --> src/bin/17.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, collections::{VecDeque, HashSet, BinaryHeap, HashMap}}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `directions` [INFO] [stdout] --> src/bin/17.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | let directions = | (x,y,dir) : (usize, usize, Dir)| { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_directions` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bin/17.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 15 | fn main() { [INFO] [stdout] | --------- move the `impl` block outside of this function `main` [INFO] [stdout] ... [INFO] [stdout] 166 | impl Ord for Pos { [INFO] [stdout] | ^^^^^---^^^^^--- [INFO] [stdout] | | | [INFO] [stdout] | | `Pos` is not local [INFO] [stdout] | `Ord` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bin/17.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 15 | fn main() { [INFO] [stdout] | --------- move the `impl` block outside of this function `main` [INFO] [stdout] ... [INFO] [stdout] 176 | impl PartialOrd for Pos { [INFO] [stdout] | ^^^^^----------^^^^^--- [INFO] [stdout] | | | [INFO] [stdout] | | `Pos` is not local [INFO] [stdout] | `PartialOrd` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `countacc` [INFO] [stdout] --> src/bin/13.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | }).find(|(countacc, toedge, idxacc), | *toedge ) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_countacc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idxacc` [INFO] [stdout] --> src/bin/13.rs:64:41 [INFO] [stdout] | [INFO] [stdout] 64 | }).find(|(countacc, toedge, idxacc), | *toedge ) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_idxacc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `countacc` [INFO] [stdout] --> src/bin/13.rs:106:41 [INFO] [stdout] | [INFO] [stdout] 106 | }).flatten().find(|(countacc, toedge, idxacc), | *toedge ); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_countacc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idxacc` [INFO] [stdout] --> src/bin/13.rs:106:59 [INFO] [stdout] | [INFO] [stdout] 106 | }).flatten().find(|(countacc, toedge, idxacc), | *toedge ); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_idxacc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:52:84 [INFO] [stdout] | [INFO] [stdout] 52 | let keys : Vec<&str> = forks.iter().map(|(left, right)| if dir == 'L' {left.clone()} else {right.clone()}).collect(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:52:105 [INFO] [stdout] | [INFO] [stdout] 52 | let keys : Vec<&str> = forks.iter().map(|(left, right)| if dir == 'L' {left.clone()} else {right.clone()}).collect(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:52:84 [INFO] [stdout] | [INFO] [stdout] 52 | let keys : Vec<&str> = forks.iter().map(|(left, right)| if dir == 'L' {left.clone()} else {right.clone()}).collect(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/bin/08.rs:52:105 [INFO] [stdout] | [INFO] [stdout] 52 | let keys : Vec<&str> = forks.iter().map(|(left, right)| if dir == 'L' {left.clone()} else {right.clone()}).collect(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "456334e8cdf4d19cf6608dff70769c1d1598325f76db00cb17f570f4c2a82a14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "456334e8cdf4d19cf6608dff70769c1d1598325f76db00cb17f570f4c2a82a14", kill_on_drop: false }` [INFO] [stdout] 456334e8cdf4d19cf6608dff70769c1d1598325f76db00cb17f570f4c2a82a14