[INFO] cloning repository https://github.com/sephirothx/aoc23 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sephirothx/aoc23" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsephirothx%2Faoc23", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsephirothx%2Faoc23'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4feb833b5e22a4568aac7357f051547b1904e91e [INFO] checking sephirothx/aoc23 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%2Fsephirothx%2Faoc23" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/sephirothx/aoc23 [INFO] finished tweaking git repo https://github.com/sephirothx/aoc23 [INFO] tweaked toml for git repo https://github.com/sephirothx/aoc23 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sephirothx/aoc23 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/sephirothx/aoc23 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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] f207c5ed764e1fa9f64e3f4987c31f3c630526ead39d13cc3bf7ff0c43f38fb5 [INFO] running `Command { std: "docker" "start" "-a" "f207c5ed764e1fa9f64e3f4987c31f3c630526ead39d13cc3bf7ff0c43f38fb5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f207c5ed764e1fa9f64e3f4987c31f3c630526ead39d13cc3bf7ff0c43f38fb5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f207c5ed764e1fa9f64e3f4987c31f3c630526ead39d13cc3bf7ff0c43f38fb5", kill_on_drop: false }` [INFO] [stdout] f207c5ed764e1fa9f64e3f4987c31f3c630526ead39d13cc3bf7ff0c43f38fb5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 183aba0c1f1e9fc4f272963f54b85baec8d8ea8b22622eb5cb0aa40e0a690ff1 [INFO] running `Command { std: "docker" "start" "-a" "183aba0c1f1e9fc4f272963f54b85baec8d8ea8b22622eb5cb0aa40e0a690ff1", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-automata v0.4.8 [INFO] [stderr] Checking regex v1.11.0 [INFO] [stderr] Checking aoc-2023-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | let input = Input::from_str(&read_from_file(20)).unwrap(); [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 [INFO] [stdout] --> src/days/day2_fancy.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 18 | | let (id, rounds) = s.split_once(": ").unwrap(); [INFO] [stdout] 19 | | let id = id.split_once(" ").unwrap().1.parse().unwrap(); [INFO] [stdout] 20 | | let rounds = rounds [INFO] [stdout] ... | [INFO] [stdout] 37 | | Ok(Self { id, rounds }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(Self { id, rounds }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:44:53 [INFO] [stdout] | [INFO] [stdout] 44 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 45 | | let games = s [INFO] [stdout] 46 | | .lines() [INFO] [stdout] 47 | | .map(|line| Game::from_str(line).unwrap()) [INFO] [stdout] 48 | | .collect(); [INFO] [stdout] 49 | | Ok(Self { games }) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | .map(|line| Game::from_str(line).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | Ok(Self { games }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:94:30 [INFO] [stdout] | [INFO] [stdout] 94 | assert_eq!(expected, Game::from_str(input).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | assert_eq!(8, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:104:32 [INFO] [stdout] | [INFO] [stdout] 104 | assert_eq!(2286, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day3.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 33 | | let mut numbers = Vec::new(); [INFO] [stdout] 34 | | let mut symbols = Vec::new(); [INFO] [stdout] 35 | | let mut n: i32 = 0; [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(Input { numbers, symbols }) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day3.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | Ok(Input { numbers, symbols }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day3.rs:109:32 [INFO] [stdout] | [INFO] [stdout] 109 | assert_eq!(4361, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day3.rs:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | assert_eq!(467835, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 18 | | let (id, rest) = s.split_once(':').unwrap(); [INFO] [stdout] 19 | | let id = id.split_whitespace().last().unwrap().parse::().unwrap(); [INFO] [stdout] 20 | | let v = rest [INFO] [stdout] ... | [INFO] [stdout] 27 | | Ok(Card { id, score: v[0].intersection(&v[1]).count() as u32}) [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | Ok(Card { id, score: v[0].intersection(&v[1]).count() as u32}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:34:53 [INFO] [stdout] | [INFO] [stdout] 34 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 35 | | let cards = s.lines().map(|line| Card::from_str(line).unwrap()).collect(); [INFO] [stdout] 36 | | Ok(Input { cards }) [INFO] [stdout] 37 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:35:42 [INFO] [stdout] | [INFO] [stdout] 35 | let cards = s.lines().map(|line| Card::from_str(line).unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | Ok(Input { cards }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | assert_eq!(13, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:75:30 [INFO] [stdout] | [INFO] [stdout] 75 | assert_eq!(30, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:28:53 [INFO] [stdout] | [INFO] [stdout] 28 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 29 | | let rules = s [INFO] [stdout] 30 | | .lines() [INFO] [stdout] 31 | | .skip(1) [INFO] [stdout] ... | [INFO] [stdout] 37 | | Ok(Transform { rules }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(Transform { rules }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:44:53 [INFO] [stdout] | [INFO] [stdout] 44 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 45 | | let (seeds, transfoms) = s.split_once("\n\n").unwrap(); [INFO] [stdout] 46 | | let seeds = seeds.split_whitespace().skip(1).map(|n| n.parse::().unwrap()).collect(); [INFO] [stdout] 47 | | let transforms = transfoms.split("\n\n").map(|t| Transform::from_str(t).unwrap()).collect(); [INFO] [stdout] 48 | | Ok(Input { seeds, transforms }) [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/day5.rs:47:58 [INFO] [stdout] | [INFO] [stdout] 47 | let transforms = transfoms.split("\n\n").map(|t| Transform::from_str(t).unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | Ok(Input { seeds, transforms }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:190:30 [INFO] [stdout] | [INFO] [stdout] 190 | assert_eq!(35, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:195:30 [INFO] [stdout] | [INFO] [stdout] 195 | assert_eq!(46, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:19:53 [INFO] [stdout] | [INFO] [stdout] 19 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 20 | | let (cards, value) = s.split_once(' ').unwrap(); [INFO] [stdout] 21 | | let cards = cards.chars().collect(); [INFO] [stdout] 22 | | let value = value.parse().unwrap(); [INFO] [stdout] 23 | | Ok(Hand { cards, value }) [INFO] [stdout] 24 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | Ok(Hand { cards, value }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 31 | | let hands = s.lines().map(|line| line.parse().unwrap()).collect(); [INFO] [stdout] 32 | | Ok(Input { hands }) [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:31:42 [INFO] [stdout] | [INFO] [stdout] 31 | let hands = s.lines().map(|line| line.parse().unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | Ok(Input { hands }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | assert_eq!(6440, part1(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/day7.rs:130:32 [INFO] [stdout] | [INFO] [stdout] 130 | assert_eq!(5905, part2(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/day8.rs:14:53 [INFO] [stdout] | [INFO] [stdout] 14 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 15 | | let re = Regex::new(r"([A-Z]{3}) = \(([A-Z]{3}), ([A-Z]{3})\)").unwrap(); [INFO] [stdout] 16 | | let mut lines = s.lines(); [INFO] [stdout] 17 | | let directions = lines.next().unwrap().to_owned(); [INFO] [stdout] ... | [INFO] [stdout] 26 | | }) [INFO] [stdout] 27 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day8.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | / Ok(Input { [INFO] [stdout] 24 | | directions, [INFO] [stdout] 25 | | network, [INFO] [stdout] 26 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day8.rs:103:30 [INFO] [stdout] | [INFO] [stdout] 103 | assert_eq!(expected, Input::from_str(INPUT1).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day8.rs:108:29 [INFO] [stdout] | [INFO] [stdout] 108 | assert_eq!(6, part1(Input::from_str(INPUT1).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day8.rs:113:29 [INFO] [stdout] | [INFO] [stdout] 113 | assert_eq!(6, part2(Input::from_str(INPUT2).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:11:53 [INFO] [stdout] | [INFO] [stdout] 11 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 12 | | let mut stories = Vec::new(); [INFO] [stdout] 13 | | for line in s.lines() { [INFO] [stdout] 14 | | let v = line [INFO] [stdout] ... | [INFO] [stdout] 20 | | Ok(Input { stories }) [INFO] [stdout] 21 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | Ok(Input { stories }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | assert_eq!(expected, Input::from_str(INPUT).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:88:31 [INFO] [stdout] | [INFO] [stdout] 88 | assert_eq!(114, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | assert_eq!(2, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:39:57 [INFO] [stdout] | [INFO] [stdout] 39 | fn from_str(input: &str) -> Result { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 40 | | let mut map = Vec::new(); [INFO] [stdout] 41 | | let mut start = (0, 0); [INFO] [stdout] 42 | | for (index, line) in input.lines().enumerate() { [INFO] [stdout] ... | [INFO] [stdout] 48 | | Ok(Input { map, start }) [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/day10.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | Ok(Input { map, start }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | assert_eq!(8, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:150:30 [INFO] [stdout] | [INFO] [stdout] 150 | assert_eq!(10, part2(Input::from_str(INPUT2).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:31:53 [INFO] [stdout] | [INFO] [stdout] 31 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 32 | | let mut galaxies = Vec::new(); [INFO] [stdout] 33 | | let size = s.lines().count(); [INFO] [stdout] 34 | | let mut empty = [Vec::new(), Vec::new()]; [INFO] [stdout] ... | [INFO] [stdout] 50 | | Ok(Input { galaxies, empty }) [INFO] [stdout] 51 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | Ok(Input { galaxies, empty }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:56:53 [INFO] [stdout] | [INFO] [stdout] 56 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 57 | | let rows: Vec = s.lines().map(|line| { [INFO] [stdout] 58 | | line.chars().fold(0, |acc, c| (acc << 1) | if c == '#' { 1 } else { 0 }) [INFO] [stdout] 59 | | }).collect(); [INFO] [stdout] ... | [INFO] [stdout] 66 | | Ok(Mirror { size, rows, cols }) [INFO] [stdout] 67 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | Ok(Mirror { size, rows, cols }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:73:53 [INFO] [stdout] | [INFO] [stdout] 73 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 74 | | let mirrors = s.split("\n\n").map(|m| Mirror::from_str(m).unwrap()).collect(); [INFO] [stdout] 75 | | Ok(Input { mirrors }) [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:74:47 [INFO] [stdout] | [INFO] [stdout] 74 | let mirrors = s.split("\n\n").map(|m| Mirror::from_str(m).unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | Ok(Input { mirrors }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:110:31 [INFO] [stdout] | [INFO] [stdout] 110 | assert_eq!(405, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | assert_eq!(400, part2(Input::from_str(INPUT).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:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 60 | | let map: Vec> = s [INFO] [stdout] 61 | | .lines() [INFO] [stdout] 62 | | .map(|line| line.chars().collect()) [INFO] [stdout] ... | [INFO] [stdout] 65 | | Ok(Input { map, size: rows }) [INFO] [stdout] 66 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | Ok(Input { map, size: rows }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | assert_eq!(136, part1(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:117:30 [INFO] [stdout] | [INFO] [stdout] 117 | assert_eq!(64, part2(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/day15.rs:11:57 [INFO] [stdout] | [INFO] [stdout] 11 | fn from_str(input: &str) -> Result { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 12 | | let strings = input.split(",").map(|s| s.to_owned()).collect(); [INFO] [stdout] 13 | | Ok(Input {strings}) [INFO] [stdout] 14 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Ok(Input {strings}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | assert_eq!(1320, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:80:31 [INFO] [stdout] | [INFO] [stdout] 80 | assert_eq!(145, part2(Input::from_str(INPUT).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:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 37 | | let mut map = HashMap::new(); [INFO] [stdout] 38 | | let size = (s.lines().count() as i32, s.lines().last().unwrap().len() as i32); [INFO] [stdout] 39 | | for (i, line) in s.lines().enumerate() { [INFO] [stdout] ... | [INFO] [stdout] 46 | | Ok(Input::new(map, size)) [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/day16.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | Ok(Input::new(map, size)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:141:21 [INFO] [stdout] | [INFO] [stdout] 141 | let input = Input::from_str(INPUT).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:158:30 [INFO] [stdout] | [INFO] [stdout] 158 | assert_eq!(46, part1(Input::from_str(INPUT).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:163:30 [INFO] [stdout] | [INFO] [stdout] 163 | assert_eq!(51, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 33 | | let map = s [INFO] [stdout] 34 | | .lines() [INFO] [stdout] 35 | | .map(|line| line.chars().map(|c| c.to_digit(10).unwrap()).collect::>()) [INFO] [stdout] ... | [INFO] [stdout] 39 | | Ok(Input {map, size}) [INFO] [stdout] 40 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | Ok(Input {map, size}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:180:31 [INFO] [stdout] | [INFO] [stdout] 180 | assert_eq!(102, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:185:30 [INFO] [stdout] | [INFO] [stdout] 185 | assert_eq!(94, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:186:30 [INFO] [stdout] | [INFO] [stdout] 186 | assert_eq!(71, part2(Input::from_str(INPUT2).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:42:53 [INFO] [stdout] | [INFO] [stdout] 42 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 43 | | let entries = s.lines().map(get_entry_part1).collect(); [INFO] [stdout] 44 | | let actual_entries = s.lines().map(get_entry_part2).collect(); [INFO] [stdout] 45 | | Ok(Input {entries, actual_entries}) [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/day18.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | Ok(Input {entries, actual_entries}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:125:45 [INFO] [stdout] | [INFO] [stdout] 125 | assert_eq!(38, calculate_perimeter(&Input::from_str(INPUT).unwrap().entries)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:130:30 [INFO] [stdout] | [INFO] [stdout] 130 | assert_eq!(62, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:135:40 [INFO] [stdout] | [INFO] [stdout] 135 | assert_eq!(952408144115, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:45:53 [INFO] [stdout] | [INFO] [stdout] 45 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 46 | | let mut iter = s [INFO] [stdout] 47 | | .trim_matches(['{', '}']) [INFO] [stdout] 48 | | .split(',') [INFO] [stdout] ... | [INFO] [stdout] 51 | | Ok(Part { ratings }) [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Ok(Part { ratings }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:58:53 [INFO] [stdout] | [INFO] [stdout] 58 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 59 | | let rule = match s.chars().nth(1) { [INFO] [stdout] 60 | | Some(x) if x == '<' || x == '>' => { [INFO] [stdout] 61 | | let i = s.as_bytes()[0]; [INFO] [stdout] ... | [INFO] [stdout] 73 | | Ok(rule) [INFO] [stdout] 74 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | Ok(rule) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:80:53 [INFO] [stdout] | [INFO] [stdout] 80 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 81 | | let (name, rest) = s.split_once('{').unwrap(); [INFO] [stdout] 82 | | let rules = rest [INFO] [stdout] 83 | | .trim_end_matches('}') [INFO] [stdout] ... | [INFO] [stdout] 87 | | Ok(RuleSet { name: name.to_owned(), rules}) [INFO] [stdout] 88 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:85:25 [INFO] [stdout] | [INFO] [stdout] 85 | .map(|rule| Rule::from_str(rule).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | Ok(RuleSet { name: name.to_owned(), rules}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:94:53 [INFO] [stdout] | [INFO] [stdout] 94 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 95 | | let (rulesets, parts) = s.split_once("\n\n").unwrap(); [INFO] [stdout] 96 | | let rulesets = rulesets [INFO] [stdout] 97 | | .lines() [INFO] [stdout] ... | [INFO] [stdout] 107 | | Ok(Input { rulesets, parts }) [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/day19.rs:99:31 [INFO] [stdout] | [INFO] [stdout] 99 | let ruleset = RuleSet::from_str(rs).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | .map(|part| Part::from_str(part).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Ok(Input { rulesets, parts }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:213:66 [INFO] [stdout] | [INFO] [stdout] 213 | assert_eq!(Rule::LessThan(2, 2006, String::from("qkq")), Rule::from_str("a<2006:qkq").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:214:67 [INFO] [stdout] | [INFO] [stdout] 214 | assert_eq!(Rule::GreaterThan(1, 2090, String::from("A")), Rule::from_str("m>2090:A").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:215:53 [INFO] [stdout] | [INFO] [stdout] 215 | assert_eq!(Rule::Goto(String::from("rfg")), Rule::from_str("rfg").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:220:63 [INFO] [stdout] | [INFO] [stdout] 220 | assert_eq!(Part { ratings: [787, 2655, 1222, 2876] }, Part::from_str("{x=787,m=2655,a=1222,s=2876}").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:225:23 [INFO] [stdout] | [INFO] [stdout] 225 | let ruleset = RuleSet::from_str("in{s<1351:px,qqz}").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:226:21 [INFO] [stdout] | [INFO] [stdout] 226 | let part1 = Part::from_str("{x=787,m=2655,a=1222,s=2876}").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | let part2 = Part::from_str("{x=1679,m=44,a=2067,s=496}").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | assert_eq!(19114, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:253:43 [INFO] [stdout] | [INFO] [stdout] 253 | assert_eq!(167409079868000, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:68:53 [INFO] [stdout] | [INFO] [stdout] 68 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 69 | | let (module, next) = s.split_once(" -> ").unwrap(); [INFO] [stdout] 70 | | let (t, name) = match module.as_bytes() { [INFO] [stdout] 71 | | [b'%', rest @ ..] => (ModuleType::FlipFlop, String::from_utf8_lossy(rest).into_owned()), [INFO] [stdout] ... | [INFO] [stdout] 79 | | Ok(Module { t, name, next, on: false, previous: HashMap::new() }) [INFO] [stdout] 80 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Ok(Module { t, name, next, on: false, previous: HashMap::new() }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:86:53 [INFO] [stdout] | [INFO] [stdout] 86 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 87 | | let mut modules: HashMap<_,_> = s.lines() [INFO] [stdout] 88 | | .map(|line| Module::from_str(line).unwrap()) [INFO] [stdout] 89 | | .map(|m| (m.name.clone(), m)) [INFO] [stdout] ... | [INFO] [stdout] 100 | | Ok(Input { modules }) [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:88:25 [INFO] [stdout] | [INFO] [stdout] 88 | .map(|line| Module::from_str(line).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | Ok(Input { modules }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:149:36 [INFO] [stdout] | [INFO] [stdout] 149 | assert_eq!(32000000, part1(INPUT1.parse().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:150:36 [INFO] [stdout] | [INFO] [stdout] 150 | assert_eq!(11687500, part1(INPUT2.parse().unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day21.rs:28:53 [INFO] [stdout] | [INFO] [stdout] 28 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 29 | | let mut map = Vec::new(); [INFO] [stdout] 30 | | let mut start = (0, 0); [INFO] [stdout] 31 | | for (i, line) in s.lines().enumerate() { [INFO] [stdout] ... | [INFO] [stdout] 43 | | Ok(Input {map, size, start}) [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/day21.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | Ok(Input {map, size, start}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day21.rs:96:30 [INFO] [stdout] | [INFO] [stdout] 96 | assert_eq!(16, part1(Input::from_str(INPUT).unwrap(), 6)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day21.rs:101:21 [INFO] [stdout] | [INFO] [stdout] 101 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:29:53 [INFO] [stdout] | [INFO] [stdout] 29 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 30 | | let bounds = s [INFO] [stdout] 31 | | .split('~') [INFO] [stdout] 32 | | .map(|pos| { [INFO] [stdout] ... | [INFO] [stdout] 37 | | Ok(Brick { bounds }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(Brick { bounds }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:44:53 [INFO] [stdout] | [INFO] [stdout] 44 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 45 | | let mut bound = (0, 0); [INFO] [stdout] 46 | | let bricks = s.lines().map(|line| { [INFO] [stdout] 47 | | let b = Brick::from_str(line).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 52 | | Ok(Input { bricks, bound }) [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:47:21 [INFO] [stdout] | [INFO] [stdout] 47 | let b = Brick::from_str(line).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | Ok(Input { bricks, bound }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | assert_eq!(5, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:148:29 [INFO] [stdout] | [INFO] [stdout] 148 | assert_eq!(7, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:153:62 [INFO] [stdout] | [INFO] [stdout] 153 | assert_eq!(Brick { bounds: vec![(1,0,1), (1,2,1)] }, Brick::from_str("1,0,1~1,2,1").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:154:62 [INFO] [stdout] | [INFO] [stdout] 154 | assert_eq!(Brick { bounds: vec![(0,0,2), (2,0,2)] }, Brick::from_str("0,0,2~2,0,2").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:155:62 [INFO] [stdout] | [INFO] [stdout] 155 | assert_eq!(Brick { bounds: vec![(1,1,8), (1,1,9)] }, Brick::from_str("1,1,8~1,1,9").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day23.rs:97:53 [INFO] [stdout] | [INFO] [stdout] 97 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 98 | | let map = s [INFO] [stdout] 99 | | .lines() [INFO] [stdout] 100 | | .map(|line| line.chars() [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(Input { map, size, start, end }) [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/day23.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | Ok(Input { map, size, start, end }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day23.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day23.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | let input = Input::from_str(INPUT).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day23.rs:206:30 [INFO] [stdout] | [INFO] [stdout] 206 | assert_eq!(94, part1(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day23.rs:211:31 [INFO] [stdout] | [INFO] [stdout] 211 | assert_eq!(154, part2(Input::from_str(INPUT).unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 18 | | let mut parts = s [INFO] [stdout] 19 | | .split("@") [INFO] [stdout] 20 | | .map(|part| part [INFO] [stdout] ... | [INFO] [stdout] 32 | | Ok(Hailstone { pos, vel }) [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | Ok(Hailstone { pos, vel }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 40 | | let hailstones = s [INFO] [stdout] 41 | | .lines() [INFO] [stdout] 42 | | .map(|line| Hailstone::from_str(line).unwrap()) [INFO] [stdout] 43 | | .collect(); [INFO] [stdout] 44 | | Ok(Input { hailstones }) [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/day24.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | .map(|line| Hailstone::from_str(line).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | Ok(Input { hailstones }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | assert_eq!(h, Hailstone::from_str("19, 13, 30 @ -2, 1, -2").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:114:43 [INFO] [stdout] | [INFO] [stdout] 114 | assert_eq!(2, count_intersections(Input::from_str(INPUT).unwrap(), 7.0, 27.0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc-2023-rust` (bin "aoc-2023-rust" test) due to 139 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | let input = Input::from_str(&read_from_file(20)).unwrap(); [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 [INFO] [stdout] --> src/days/day2_fancy.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 18 | | let (id, rounds) = s.split_once(": ").unwrap(); [INFO] [stdout] 19 | | let id = id.split_once(" ").unwrap().1.parse().unwrap(); [INFO] [stdout] 20 | | let rounds = rounds [INFO] [stdout] ... | [INFO] [stdout] 37 | | Ok(Self { id, rounds }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(Self { id, rounds }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:44:53 [INFO] [stdout] | [INFO] [stdout] 44 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 45 | | let games = s [INFO] [stdout] 46 | | .lines() [INFO] [stdout] 47 | | .map(|line| Game::from_str(line).unwrap()) [INFO] [stdout] 48 | | .collect(); [INFO] [stdout] 49 | | Ok(Self { games }) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | .map(|line| Game::from_str(line).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day2_fancy.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | Ok(Self { games }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day3.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 33 | | let mut numbers = Vec::new(); [INFO] [stdout] 34 | | let mut symbols = Vec::new(); [INFO] [stdout] 35 | | let mut n: i32 = 0; [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(Input { numbers, symbols }) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day3.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | Ok(Input { numbers, symbols }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 18 | | let (id, rest) = s.split_once(':').unwrap(); [INFO] [stdout] 19 | | let id = id.split_whitespace().last().unwrap().parse::().unwrap(); [INFO] [stdout] 20 | | let v = rest [INFO] [stdout] ... | [INFO] [stdout] 27 | | Ok(Card { id, score: v[0].intersection(&v[1]).count() as u32}) [INFO] [stdout] 28 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | Ok(Card { id, score: v[0].intersection(&v[1]).count() as u32}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:34:53 [INFO] [stdout] | [INFO] [stdout] 34 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 35 | | let cards = s.lines().map(|line| Card::from_str(line).unwrap()).collect(); [INFO] [stdout] 36 | | Ok(Input { cards }) [INFO] [stdout] 37 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:35:42 [INFO] [stdout] | [INFO] [stdout] 35 | let cards = s.lines().map(|line| Card::from_str(line).unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day4.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | Ok(Input { cards }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:28:53 [INFO] [stdout] | [INFO] [stdout] 28 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 29 | | let rules = s [INFO] [stdout] 30 | | .lines() [INFO] [stdout] 31 | | .skip(1) [INFO] [stdout] ... | [INFO] [stdout] 37 | | Ok(Transform { rules }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(Transform { rules }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:44:53 [INFO] [stdout] | [INFO] [stdout] 44 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 45 | | let (seeds, transfoms) = s.split_once("\n\n").unwrap(); [INFO] [stdout] 46 | | let seeds = seeds.split_whitespace().skip(1).map(|n| n.parse::().unwrap()).collect(); [INFO] [stdout] 47 | | let transforms = transfoms.split("\n\n").map(|t| Transform::from_str(t).unwrap()).collect(); [INFO] [stdout] 48 | | Ok(Input { seeds, transforms }) [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/day5.rs:47:58 [INFO] [stdout] | [INFO] [stdout] 47 | let transforms = transfoms.split("\n\n").map(|t| Transform::from_str(t).unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day5.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | Ok(Input { seeds, transforms }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:19:53 [INFO] [stdout] | [INFO] [stdout] 19 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 20 | | let (cards, value) = s.split_once(' ').unwrap(); [INFO] [stdout] 21 | | let cards = cards.chars().collect(); [INFO] [stdout] 22 | | let value = value.parse().unwrap(); [INFO] [stdout] 23 | | Ok(Hand { cards, value }) [INFO] [stdout] 24 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | Ok(Hand { cards, value }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 31 | | let hands = s.lines().map(|line| line.parse().unwrap()).collect(); [INFO] [stdout] 32 | | Ok(Input { hands }) [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:31:42 [INFO] [stdout] | [INFO] [stdout] 31 | let hands = s.lines().map(|line| line.parse().unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day7.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | Ok(Input { hands }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day8.rs:14:53 [INFO] [stdout] | [INFO] [stdout] 14 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 15 | | let re = Regex::new(r"([A-Z]{3}) = \(([A-Z]{3}), ([A-Z]{3})\)").unwrap(); [INFO] [stdout] 16 | | let mut lines = s.lines(); [INFO] [stdout] 17 | | let directions = lines.next().unwrap().to_owned(); [INFO] [stdout] ... | [INFO] [stdout] 26 | | }) [INFO] [stdout] 27 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day8.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | / Ok(Input { [INFO] [stdout] 24 | | directions, [INFO] [stdout] 25 | | network, [INFO] [stdout] 26 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:11:53 [INFO] [stdout] | [INFO] [stdout] 11 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 12 | | let mut stories = Vec::new(); [INFO] [stdout] 13 | | for line in s.lines() { [INFO] [stdout] 14 | | let v = line [INFO] [stdout] ... | [INFO] [stdout] 20 | | Ok(Input { stories }) [INFO] [stdout] 21 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day9.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | Ok(Input { stories }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day10.rs:39:57 [INFO] [stdout] | [INFO] [stdout] 39 | fn from_str(input: &str) -> Result { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 40 | | let mut map = Vec::new(); [INFO] [stdout] 41 | | let mut start = (0, 0); [INFO] [stdout] 42 | | for (index, line) in input.lines().enumerate() { [INFO] [stdout] ... | [INFO] [stdout] 48 | | Ok(Input { map, start }) [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/day10.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | Ok(Input { map, start }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:31:53 [INFO] [stdout] | [INFO] [stdout] 31 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 32 | | let mut galaxies = Vec::new(); [INFO] [stdout] 33 | | let size = s.lines().count(); [INFO] [stdout] 34 | | let mut empty = [Vec::new(), Vec::new()]; [INFO] [stdout] ... | [INFO] [stdout] 50 | | Ok(Input { galaxies, empty }) [INFO] [stdout] 51 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day11.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | Ok(Input { galaxies, empty }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:56:53 [INFO] [stdout] | [INFO] [stdout] 56 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 57 | | let rows: Vec = s.lines().map(|line| { [INFO] [stdout] 58 | | line.chars().fold(0, |acc, c| (acc << 1) | if c == '#' { 1 } else { 0 }) [INFO] [stdout] 59 | | }).collect(); [INFO] [stdout] ... | [INFO] [stdout] 66 | | Ok(Mirror { size, rows, cols }) [INFO] [stdout] 67 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | Ok(Mirror { size, rows, cols }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:73:53 [INFO] [stdout] | [INFO] [stdout] 73 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 74 | | let mirrors = s.split("\n\n").map(|m| Mirror::from_str(m).unwrap()).collect(); [INFO] [stdout] 75 | | Ok(Input { mirrors }) [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:74:47 [INFO] [stdout] | [INFO] [stdout] 74 | let mirrors = s.split("\n\n").map(|m| Mirror::from_str(m).unwrap()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day13.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | Ok(Input { mirrors }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 60 | | let map: Vec> = s [INFO] [stdout] 61 | | .lines() [INFO] [stdout] 62 | | .map(|line| line.chars().collect()) [INFO] [stdout] ... | [INFO] [stdout] 65 | | Ok(Input { map, size: rows }) [INFO] [stdout] 66 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day14.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | Ok(Input { map, size: rows }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:11:57 [INFO] [stdout] | [INFO] [stdout] 11 | fn from_str(input: &str) -> Result { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 12 | | let strings = input.split(",").map(|s| s.to_owned()).collect(); [INFO] [stdout] 13 | | Ok(Input {strings}) [INFO] [stdout] 14 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day15.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Ok(Input {strings}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day16.rs:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 37 | | let mut map = HashMap::new(); [INFO] [stdout] 38 | | let size = (s.lines().count() as i32, s.lines().last().unwrap().len() as i32); [INFO] [stdout] 39 | | for (i, line) in s.lines().enumerate() { [INFO] [stdout] ... | [INFO] [stdout] 46 | | Ok(Input::new(map, size)) [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/day16.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | Ok(Input::new(map, size)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 33 | | let map = s [INFO] [stdout] 34 | | .lines() [INFO] [stdout] 35 | | .map(|line| line.chars().map(|c| c.to_digit(10).unwrap()).collect::>()) [INFO] [stdout] ... | [INFO] [stdout] 39 | | Ok(Input {map, size}) [INFO] [stdout] 40 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day17.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | Ok(Input {map, size}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day18.rs:42:53 [INFO] [stdout] | [INFO] [stdout] 42 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 43 | | let entries = s.lines().map(get_entry_part1).collect(); [INFO] [stdout] 44 | | let actual_entries = s.lines().map(get_entry_part2).collect(); [INFO] [stdout] 45 | | Ok(Input {entries, actual_entries}) [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/day18.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | Ok(Input {entries, actual_entries}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:45:53 [INFO] [stdout] | [INFO] [stdout] 45 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 46 | | let mut iter = s [INFO] [stdout] 47 | | .trim_matches(['{', '}']) [INFO] [stdout] 48 | | .split(',') [INFO] [stdout] ... | [INFO] [stdout] 51 | | Ok(Part { ratings }) [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | Ok(Part { ratings }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:58:53 [INFO] [stdout] | [INFO] [stdout] 58 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 59 | | let rule = match s.chars().nth(1) { [INFO] [stdout] 60 | | Some(x) if x == '<' || x == '>' => { [INFO] [stdout] 61 | | let i = s.as_bytes()[0]; [INFO] [stdout] ... | [INFO] [stdout] 73 | | Ok(rule) [INFO] [stdout] 74 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | Ok(rule) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:80:53 [INFO] [stdout] | [INFO] [stdout] 80 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 81 | | let (name, rest) = s.split_once('{').unwrap(); [INFO] [stdout] 82 | | let rules = rest [INFO] [stdout] 83 | | .trim_end_matches('}') [INFO] [stdout] ... | [INFO] [stdout] 87 | | Ok(RuleSet { name: name.to_owned(), rules}) [INFO] [stdout] 88 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:85:25 [INFO] [stdout] | [INFO] [stdout] 85 | .map(|rule| Rule::from_str(rule).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | Ok(RuleSet { name: name.to_owned(), rules}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:94:53 [INFO] [stdout] | [INFO] [stdout] 94 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 95 | | let (rulesets, parts) = s.split_once("\n\n").unwrap(); [INFO] [stdout] 96 | | let rulesets = rulesets [INFO] [stdout] 97 | | .lines() [INFO] [stdout] ... | [INFO] [stdout] 107 | | Ok(Input { rulesets, parts }) [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/day19.rs:99:31 [INFO] [stdout] | [INFO] [stdout] 99 | let ruleset = RuleSet::from_str(rs).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:105:25 [INFO] [stdout] | [INFO] [stdout] 105 | .map(|part| Part::from_str(part).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day19.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Ok(Input { rulesets, parts }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:68:53 [INFO] [stdout] | [INFO] [stdout] 68 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 69 | | let (module, next) = s.split_once(" -> ").unwrap(); [INFO] [stdout] 70 | | let (t, name) = match module.as_bytes() { [INFO] [stdout] 71 | | [b'%', rest @ ..] => (ModuleType::FlipFlop, String::from_utf8_lossy(rest).into_owned()), [INFO] [stdout] ... | [INFO] [stdout] 79 | | Ok(Module { t, name, next, on: false, previous: HashMap::new() }) [INFO] [stdout] 80 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | Ok(Module { t, name, next, on: false, previous: HashMap::new() }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:86:53 [INFO] [stdout] | [INFO] [stdout] 86 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 87 | | let mut modules: HashMap<_,_> = s.lines() [INFO] [stdout] 88 | | .map(|line| Module::from_str(line).unwrap()) [INFO] [stdout] 89 | | .map(|m| (m.name.clone(), m)) [INFO] [stdout] ... | [INFO] [stdout] 100 | | Ok(Input { modules }) [INFO] [stdout] 101 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:88:25 [INFO] [stdout] | [INFO] [stdout] 88 | .map(|line| Module::from_str(line).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day20.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | Ok(Input { modules }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day21.rs:28:53 [INFO] [stdout] | [INFO] [stdout] 28 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 29 | | let mut map = Vec::new(); [INFO] [stdout] 30 | | let mut start = (0, 0); [INFO] [stdout] 31 | | for (i, line) in s.lines().enumerate() { [INFO] [stdout] ... | [INFO] [stdout] 43 | | Ok(Input {map, size, start}) [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/day21.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | Ok(Input {map, size, start}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:29:53 [INFO] [stdout] | [INFO] [stdout] 29 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 30 | | let bounds = s [INFO] [stdout] 31 | | .split('~') [INFO] [stdout] 32 | | .map(|pos| { [INFO] [stdout] ... | [INFO] [stdout] 37 | | Ok(Brick { bounds }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | Ok(Brick { bounds }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:44:53 [INFO] [stdout] | [INFO] [stdout] 44 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 45 | | let mut bound = (0, 0); [INFO] [stdout] 46 | | let bricks = s.lines().map(|line| { [INFO] [stdout] 47 | | let b = Brick::from_str(line).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 52 | | Ok(Input { bricks, bound }) [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:47:21 [INFO] [stdout] | [INFO] [stdout] 47 | let b = Brick::from_str(line).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day22.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | Ok(Input { bricks, bound }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day23.rs:97:53 [INFO] [stdout] | [INFO] [stdout] 97 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 98 | | let map = s [INFO] [stdout] 99 | | .lines() [INFO] [stdout] 100 | | .map(|line| line.chars() [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(Input { map, size, start, end }) [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/day23.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | Ok(Input { map, size, start, end }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 18 | | let mut parts = s [INFO] [stdout] 19 | | .split("@") [INFO] [stdout] 20 | | .map(|part| part [INFO] [stdout] ... | [INFO] [stdout] 32 | | Ok(Hailstone { pos, vel }) [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | Ok(Hailstone { pos, vel }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | fn from_str(s: &str) -> Result { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 40 | | let hailstones = s [INFO] [stdout] 41 | | .lines() [INFO] [stdout] 42 | | .map(|line| Hailstone::from_str(line).unwrap()) [INFO] [stdout] 43 | | .collect(); [INFO] [stdout] 44 | | Ok(Input { hailstones }) [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/day24.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | .map(|line| Hailstone::from_str(line).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/days/day24.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | Ok(Input { hailstones }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc-2023-rust` (bin "aoc-2023-rust") due to 76 previous errors [INFO] running `Command { std: "docker" "inspect" "183aba0c1f1e9fc4f272963f54b85baec8d8ea8b22622eb5cb0aa40e0a690ff1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "183aba0c1f1e9fc4f272963f54b85baec8d8ea8b22622eb5cb0aa40e0a690ff1", kill_on_drop: false }` [INFO] [stdout] 183aba0c1f1e9fc4f272963f54b85baec8d8ea8b22622eb5cb0aa40e0a690ff1