[INFO] cloning repository https://github.com/tStreichenberger/aoc_23 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tStreichenberger/aoc_23" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FtStreichenberger%2Faoc_23", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FtStreichenberger%2Faoc_23'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d4868a41e6e61d4735c42c712f212732821c54cc [INFO] checking tStreichenberger/aoc_23 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FtStreichenberger%2Faoc_23" "/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/tStreichenberger/aoc_23 [INFO] finished tweaking git repo https://github.com/tStreichenberger/aoc_23 [INFO] tweaked toml for git repo https://github.com/tStreichenberger/aoc_23 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tStreichenberger/aoc_23 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tStreichenberger/aoc_23 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3d24ba70d335a4a0e8d3feecf8d22a297a1a88b923a3105cfd5ef94c13346cab [INFO] running `Command { std: "docker" "start" "-a" "3d24ba70d335a4a0e8d3feecf8d22a297a1a88b923a3105cfd5ef94c13346cab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d24ba70d335a4a0e8d3feecf8d22a297a1a88b923a3105cfd5ef94c13346cab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d24ba70d335a4a0e8d3feecf8d22a297a1a88b923a3105cfd5ef94c13346cab", kill_on_drop: false }` [INFO] [stdout] 3d24ba70d335a4a0e8d3feecf8d22a297a1a88b923a3105cfd5ef94c13346cab [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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cb3ae88e6ff24d78fe7045a7dbbb17b5208dbaf2282a892fa7c41b1d9dddbfd8 [INFO] running `Command { std: "docker" "start" "-a" "cb3ae88e6ff24d78fe7045a7dbbb17b5208dbaf2282a892fa7c41b1d9dddbfd8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.70 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling rustix v0.38.25 [INFO] [stderr] Checking anstyle v1.0.4 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking linux-raw-sys v0.4.11 [INFO] [stderr] Checking anstyle-parse v0.2.2 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking clap_lex v0.6.0 [INFO] [stderr] Checking index_list v0.2.11 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking itertools v0.12.0 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking anstream v0.6.4 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking clap_builder v4.4.9 [INFO] [stderr] Compiling syn v2.0.39 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking colored v2.0.4 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking chrono v0.4.31 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Compiling clap_derive v4.4.7 [INFO] [stderr] Compiling macros v0.1.0 (/opt/rustwide/workdir/macros) [INFO] [stderr] Checking clap v4.4.10 [INFO] [stderr] Checking aoc_23 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/days/day05.rs:33:38 [INFO] [stdout] | [INFO] [stdout] 33 | .flat_map(|(start, len)| (*start..*start + len)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - .flat_map(|(start, len)| (*start..*start + len)) [INFO] [stdout] 33 + .flat_map(|(start, len)| *start..*start + len ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/days/day05.rs:33:38 [INFO] [stdout] | [INFO] [stdout] 33 | .flat_map(|(start, len)| (*start..*start + len)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - .flat_map(|(start, len)| (*start..*start + len)) [INFO] [stdout] 33 + .flat_map(|(start, len)| *start..*start + len ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/collections.rs:75:53 [INFO] [stdout] | [INFO] [stdout] 75 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 76 | | Ok(Self { [INFO] [stdout] 77 | | data: s [INFO] [stdout] 78 | | .lines() [INFO] [stdout] ... | [INFO] [stdout] 81 | | }) [INFO] [stdout] 82 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/collections.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | / Ok(Self { [INFO] [stdout] 77 | | data: s [INFO] [stdout] 78 | | .lines() [INFO] [stdout] 79 | | .map(|line| line.chars().map(T::from).collect()) [INFO] [stdout] 80 | | .collect(), [INFO] [stdout] 81 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day01.rs:27:53 [INFO] [stdout] | [INFO] [stdout] 27 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 28 | | let mut first = true; [INFO] [stdout] 29 | | let mut val = 0; [INFO] [stdout] 30 | | let mut last = 0; [INFO] [stdout] ... | [INFO] [stdout] 41 | | Ok(Self(val)) [INFO] [stdout] 42 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day01.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | Ok(Self(val)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day01.rs:56:53 [INFO] [stdout] | [INFO] [stdout] 56 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 57 | | let first = parse_maybe_written_number(NUMBERS_REGEX.find(s).unwrap().as_str()); [INFO] [stdout] 58 | | let last = SREBMUN_REGEX [INFO] [stdout] 59 | | .find(&s.chars().rev().collect::()) [INFO] [stdout] ... | [INFO] [stdout] 62 | | Ok(Self(first * 10 + last)) [INFO] [stdout] 63 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day01.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | Ok(Self(first * 10 + last)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day02.rs:38:53 [INFO] [stdout] | [INFO] [stdout] 38 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 39 | | let (game_header, subsets) = s.split_once(": ").unwrap(); [INFO] [stdout] 40 | | [INFO] [stdout] 41 | | let id = game_header[5..].parse().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 45 | | Ok(Self { id, subsets }) [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day02.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | Ok(Self { id, subsets }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day02.rs:85:53 [INFO] [stdout] | [INFO] [stdout] 85 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 86 | | let mut subset = Subset::empty(); [INFO] [stdout] 87 | | for handful in s.split(", ") { [INFO] [stdout] 88 | | let (num, color) = handful.split_once(' ').unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 97 | | Ok(subset) [INFO] [stdout] 98 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day02.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Ok(subset) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day03.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | let mut engine: Engine = input.parse().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day03.rs:23:34 [INFO] [stdout] | [INFO] [stdout] 23 | let mut engine: Engine = input.parse().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day03.rs:42:53 [INFO] [stdout] | [INFO] [stdout] 42 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 43 | | let raw_data = s [INFO] [stdout] 44 | | .lines() [INFO] [stdout] 45 | | .map(|line| line.chars().collect_vec()) [INFO] [stdout] ... | [INFO] [stdout] 54 | | }) [INFO] [stdout] 55 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day03.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | / Ok(Self { [INFO] [stdout] 52 | | raw_data, [INFO] [stdout] 53 | | found_parts, [INFO] [stdout] 54 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day04.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | input.parse::().unwrap().score().to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day04.rs:35:53 [INFO] [stdout] | [INFO] [stdout] 35 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 36 | | let (_, nums) = s.split_once(": ").unwrap(); [INFO] [stdout] 37 | | let (winning, numbers) = nums.split_once(" | ").unwrap(); [INFO] [stdout] 38 | | let numbers = numbers.split_ascii_whitespace().parse_each().collect(); [INFO] [stdout] ... | [INFO] [stdout] 43 | | }) [INFO] [stdout] 44 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day04.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | / Ok(Self { [INFO] [stdout] 41 | | winning_numbers, [INFO] [stdout] 42 | | numbers, [INFO] [stdout] 43 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day04.rs:72:53 [INFO] [stdout] | [INFO] [stdout] 72 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 73 | | let cards = s.parsed_lines().collect_vec(); [INFO] [stdout] 74 | | Ok(Self { [INFO] [stdout] 75 | | card_scores: vec![None; cards.len()], [INFO] [stdout] 76 | | cards, [INFO] [stdout] 77 | | }) [INFO] [stdout] 78 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day04.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | / Ok(Self { [INFO] [stdout] 75 | | card_scores: vec![None; cards.len()], [INFO] [stdout] 76 | | cards, [INFO] [stdout] 77 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day05.rs:255:53 [INFO] [stdout] | [INFO] [stdout] 255 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 256 | | let mut split = s.split_ascii_whitespace(); [INFO] [stdout] 257 | | let dest_start: usize = split.next().unwrap().parse().unwrap(); [INFO] [stdout] 258 | | let src_start: usize = split.next().unwrap().parse().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 261 | | Ok(Self { range, dest_start }) [INFO] [stdout] 262 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day05.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | Ok(Self { range, dest_start }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day06.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | / input [INFO] [stdout] 15 | | .parse::() [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day06.rs:38:53 [INFO] [stdout] | [INFO] [stdout] 38 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 39 | | let mut lines = s.lines(); [INFO] [stdout] 40 | | let time = lines [INFO] [stdout] 41 | | .next() [INFO] [stdout] ... | [INFO] [stdout] 58 | | Ok(Self { time, record }) [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day06.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | Ok(Self { time, record }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day07.rs:35:53 [INFO] [stdout] | [INFO] [stdout] 35 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 36 | | let (cards, bid) = s.split_once(' ').unwrap(); [INFO] [stdout] 37 | | let cards = cards.chars().map(Card::from).collect_vec(); [INFO] [stdout] 38 | | let bid = bid.parse().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 44 | | }) [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day07.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | / Ok(Self { [INFO] [stdout] 41 | | cards, [INFO] [stdout] 42 | | bid, [INFO] [stdout] 43 | | hand_type, [INFO] [stdout] 44 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day09.rs:28:53 [INFO] [stdout] | [INFO] [stdout] 28 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 29 | | Ok(Self { [INFO] [stdout] 30 | | values: s.split_ascii_whitespace().parse_each().collect(), [INFO] [stdout] 31 | | }) [INFO] [stdout] 32 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day09.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | / Ok(Self { [INFO] [stdout] 30 | | values: s.split_ascii_whitespace().parse_each().collect(), [INFO] [stdout] 31 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | (input.parse::().unwrap().loop_length() / 2).to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | / input [INFO] [stdout] 13 | | .parse::() [INFO] [stdout] | |________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:33:53 [INFO] [stdout] | [INFO] [stdout] 33 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 34 | | let data = s [INFO] [stdout] 35 | | .lines() [INFO] [stdout] 36 | | .map(|line| line.chars().collect_vec()) [INFO] [stdout] ... | [INFO] [stdout] 47 | | }) [INFO] [stdout] 48 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | / Ok(Self { [INFO] [stdout] 43 | | loop_pipes: bools.clone(), [INFO] [stdout] 44 | | found_inside: bools, [INFO] [stdout] 45 | | data, [INFO] [stdout] 46 | | num_found: 0, [INFO] [stdout] 47 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | / input [INFO] [stdout] 7 | | .parse::() [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | let e2 = input [INFO] [stdout] | __________________^ [INFO] [stdout] 18 | | .parse::() [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 26 | let e3 = input [INFO] [stdout] | __________________^ [INFO] [stdout] 27 | | .parse::() [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:45:53 [INFO] [stdout] | [INFO] [stdout] 45 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 46 | | Ok(Self { [INFO] [stdout] 47 | | data: s.parse().unwrap(), [INFO] [stdout] 48 | | }) [INFO] [stdout] 49 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / Ok(Self { [INFO] [stdout] 47 | | data: s.parse().unwrap(), [INFO] [stdout] 48 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/days/day11.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | data: s.parse().unwrap(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day12.rs:56:53 [INFO] [stdout] | [INFO] [stdout] 56 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 57 | | let (parts_str, broken_parts_str) = s.split_once(' ').unwrap(); [INFO] [stdout] 58 | | let parts = parts_str.chars().map(Part::from).collect(); [INFO] [stdout] 59 | | let broken_parts = broken_parts_str.split(',').parse_each().collect(); [INFO] [stdout] ... | [INFO] [stdout] 63 | | }) [INFO] [stdout] 64 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day12.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | / Ok(Self { [INFO] [stdout] 61 | | parts, [INFO] [stdout] 62 | | broken_parts, [INFO] [stdout] 63 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 31 | | let grid: Grid = s.parse()?; [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | Ok(Self { grid }) [INFO] [stdout] 34 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, collections::Grid> [INFO] [stdout] --> src/days/day13.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | let grid: Grid = s.parse()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/days/day13.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | let grid: Grid = s.parse()?; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | let grid: Grid = s.parse()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | Ok(Self { grid }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | / input [INFO] [stdout] 8 | | .parse::() [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | let mut lens: Lens = input.parse().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:106:53 [INFO] [stdout] | [INFO] [stdout] 106 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 107 | | Ok(Self { [INFO] [stdout] 108 | | grid: s.parse()?, [INFO] [stdout] 109 | | cache: HashMap::new(), [INFO] [stdout] 110 | | cycle_num: 0, [INFO] [stdout] 111 | | }) [INFO] [stdout] 112 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / Ok(Self { [INFO] [stdout] 108 | | grid: s.parse()?, [INFO] [stdout] 109 | | cache: HashMap::new(), [INFO] [stdout] 110 | | cycle_num: 0, [INFO] [stdout] 111 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, collections::Grid> [INFO] [stdout] --> src/days/day14.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | grid: s.parse()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/days/day14.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | grid: s.parse()?, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | grid: s.parse()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 47 | | let mut split = s.split(['=', '-']); [INFO] [stdout] 48 | | let label = split.next().unwrap(); [INFO] [stdout] 49 | | match split.next().and_then(|maybe_num| maybe_num.parse().ok()) { [INFO] [stdout] ... | [INFO] [stdout] 56 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | / match split.next().and_then(|maybe_num| maybe_num.parse().ok()) { [INFO] [stdout] 50 | | None => Ok(Self::Remove(label.into())), [INFO] [stdout] 51 | | Some(focal_length) => Ok(Self::Insert(LabeledLens { [INFO] [stdout] 52 | | label: label.into(), [INFO] [stdout] 53 | | length: focal_length, [INFO] [stdout] 54 | | })), [INFO] [stdout] 55 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | None => Ok(Self::Remove(label.into())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:51:35 [INFO] [stdout] | [INFO] [stdout] 51 | Some(focal_length) => Ok(Self::Insert(LabeledLens { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 52 | | label: label.into(), [INFO] [stdout] 53 | | length: focal_length, [INFO] [stdout] 54 | | })), [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | / input [INFO] [stdout] 7 | | .parse::() [INFO] [stdout] | |__________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | let maze: MirrorMaze = input.parse().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:56:53 [INFO] [stdout] | [INFO] [stdout] 56 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 57 | | let grid: Grid = s.parse()?; [INFO] [stdout] 58 | | let traversed = grid [INFO] [stdout] 59 | | .rows() [INFO] [stdout] ... | [INFO] [stdout] 62 | | Ok(Self { grid, traversed }) [INFO] [stdout] 63 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, collections::Grid> [INFO] [stdout] --> src/days/day16.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | let grid: Grid = s.parse()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/days/day16.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | let grid: Grid = s.parse()?; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | let grid: Grid = s.parse()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | Ok(Self { grid, traversed }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / input [INFO] [stdout] 11 | | .parse::() [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | / input [INFO] [stdout] 18 | | .parse::() [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:168:53 [INFO] [stdout] | [INFO] [stdout] 168 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 169 | | Ok(Self { [INFO] [stdout] 170 | | streets: s [INFO] [stdout] 171 | | .parse::>()? [INFO] [stdout] ... | [INFO] [stdout] 175 | | }) [INFO] [stdout] 176 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | / Ok(Self { [INFO] [stdout] 170 | | streets: s [INFO] [stdout] 171 | | .parse::>()? [INFO] [stdout] 172 | | .into_iter() [INFO] [stdout] 173 | | .map(|row| row.into_iter().map(|v| v.0).collect()) [INFO] [stdout] 174 | | .collect(), [INFO] [stdout] 175 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, collections::Grid> [INFO] [stdout] --> src/days/day17.rs:170:22 [INFO] [stdout] | [INFO] [stdout] 170 | streets: s [INFO] [stdout] | ______________________^ [INFO] [stdout] 171 | | .parse::>()? [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, std::convert::Infallible> [INFO] [stdout] --> src/days/day17.rs:170:22 [INFO] [stdout] | [INFO] [stdout] 170 | streets: s [INFO] [stdout] | ______________________^ [INFO] [stdout] 171 | | .parse::>()? [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:170:22 [INFO] [stdout] | [INFO] [stdout] 170 | streets: s [INFO] [stdout] | ______________________^ [INFO] [stdout] 171 | | .parse::>()? [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:89:53 [INFO] [stdout] | [INFO] [stdout] 89 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 90 | | let mut split = s.split_ascii_whitespace(); [INFO] [stdout] 91 | | let dir = split.next().unwrap().chars().next().unwrap().into(); [INFO] [stdout] 92 | | let amount = split.next().unwrap().parse().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 107 | | }) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | / Ok(Self { [INFO] [stdout] 103 | | dir, [INFO] [stdout] 104 | | amount, [INFO] [stdout] 105 | | color_dir, [INFO] [stdout] 106 | | color_dist, [INFO] [stdout] 107 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:99:53 [INFO] [stdout] | [INFO] [stdout] 99 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 100 | | // {x=787,m=2655,a=1222,s=2876} [INFO] [stdout] 101 | | let mut nums = s [INFO] [stdout] 102 | | .strip_prefix('{') [INFO] [stdout] ... | [INFO] [stdout] 115 | | }) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | / Ok(Self { [INFO] [stdout] 111 | | x: nums.next().unwrap(), [INFO] [stdout] 112 | | m: nums.next().unwrap(), [INFO] [stdout] 113 | | a: nums.next().unwrap(), [INFO] [stdout] 114 | | s: nums.next().unwrap(), [INFO] [stdout] 115 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/days/day19.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | fn check(&self, part: &Part) -> Option