[INFO] cloning repository https://github.com/tomnis/aoc21 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tomnis/aoc21" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomnis%2Faoc21", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomnis%2Faoc21'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 194831bbc18c1613189ddb288163d7abf77a081b [INFO] testing tomnis/aoc21 against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomnis%2Faoc21" "/workspace/builds/worker-20/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-20/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tomnis/aoc21 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tomnis/aoc21 [INFO] finished tweaking git repo https://github.com/tomnis/aoc21 [INFO] tweaked toml for git repo https://github.com/tomnis/aoc21 written to /workspace/builds/worker-20/source/Cargo.toml [INFO] crate git repo https://github.com/tomnis/aoc21 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 63e990a1fa1684ed5d5544d4622a60859a3d6158646457f83e8865da04052488 [INFO] running `Command { std: "docker" "start" "-a" "63e990a1fa1684ed5d5544d4622a60859a3d6158646457f83e8865da04052488", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "63e990a1fa1684ed5d5544d4622a60859a3d6158646457f83e8865da04052488", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63e990a1fa1684ed5d5544d4622a60859a3d6158646457f83e8865da04052488", kill_on_drop: false }` [INFO] [stdout] 63e990a1fa1684ed5d5544d4622a60859a3d6158646457f83e8865da04052488 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b789cd2272e8a4e5885cd9649bb0a06fdf45cfecc6cb545d50d9ac6877b4f33b [INFO] running `Command { std: "docker" "start" "-a" "b789cd2272e8a4e5885cd9649bb0a06fdf45cfecc6cb545d50d9ac6877b4f33b", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling untitled v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob2.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob2.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/prob2.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | else if cmd.starts_with(("down")) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - else if cmd.starts_with(("down")) { [INFO] [stdout] 29 + else if cmd.starts_with("down") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/prob2.rs:56:22 [INFO] [stdout] | [INFO] [stdout] 56 | depth += (aim * x); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 56 - depth += (aim * x); [INFO] [stdout] 56 + depth += aim * x; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/prob2.rs:64:33 [INFO] [stdout] | [INFO] [stdout] 64 | else if cmd.starts_with(("down")) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 64 - else if cmd.starts_with(("down")) { [INFO] [stdout] 64 + else if cmd.starts_with("down") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Lines`, `Result`, `self` [INFO] [stdout] --> src/util.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader, Lines, Result}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob1.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob1.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob3.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob3.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob4.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/prob7.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/prob12.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/prob12.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | let graph: Graph = edges2graph((parse_edges(lines))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 14 - let graph: Graph = edges2graph((parse_edges(lines))); [INFO] [stdout] 14 + let graph: Graph = edges2graph(parse_edges(lines)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/prob14.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::LinkedList` [INFO] [stdout] --> src/prob14.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::LinkedList; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/prob15.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/prob15.rs:3:45 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BinaryHeap, HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::Chunks` [INFO] [stdout] --> src/prob16.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::slice::Chunks; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/prob16.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Formatter` [INFO] [stdout] --> src/prob16.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::Formatter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/prob16.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | if (type_id == 4) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 85 - if (type_id == 4) { [INFO] [stdout] 85 + if type_id == 4 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/prob16.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/prob16.rs:128:26 [INFO] [stdout] | [INFO] [stdout] 128 | bits_consumed += (new_cursor - cursor); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - bits_consumed += (new_cursor - cursor); [INFO] [stdout] 128 + bits_consumed += new_cursor - cursor; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BorrowMut` [INFO] [stdout] --> src/prob17.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/prob18.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/prob18.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/prob3.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(drain_filter)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/prob5.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(iter_zip)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/prob4.rs:134:58 [INFO] [stdout] | [INFO] [stdout] 134 | return boards.clone().into_iter().enumerate().find(|(u,b)| is_winning(b.clone())); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pt` [INFO] [stdout] --> src/prob5.rs:48:37 [INFO] [stdout] | [INFO] [stdout] 48 | return pts.into_iter().filter(|(pt, cnt)| *cnt >= 2).collect::>().len() as i64; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pt` [INFO] [stdout] --> src/prob5.rs:73:37 [INFO] [stdout] | [INFO] [stdout] 73 | return pts.into_iter().filter(|(pt, cnt)| *cnt >= 2).collect::>().len() as i64; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test_input` [INFO] [stdout] --> src/prob6.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let test_input: String = "3,4,3,1,2".to_string(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/prob6.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | for day in 0..days { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/prob11.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | for step in 0..100 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/prob15.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | let (dist, prev) = dijkstra(cur_pos, goal, new_board.clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/prob16.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | let (packet, cursor) = decode(transmission, 0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/prob16.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let (packet, cursor) = decode(transmission, 0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_line` [INFO] [stdout] --> src/prob17.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let first_line: String = lines.clone().into_iter().nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/prob18.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | fn reduce(p: Pair) -> Pair { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob4.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut b: BingoBoard = parse_board(bd_lines.to_vec()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob6.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut lanternfish: Vec = state.split(",").map(|x| x.parse().unwrap()).collect(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob11.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | fn bfs(mut starting_points: Vec, mut board: OctopusBoard) -> (OctopusBoard, Vec) { [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob14.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut cur_polymer: Polymer = polymer.clone(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `cnts` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/prob14.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 190 | let old_v = cnts.get(&ch).unwrap(); [INFO] [stdout] | ------------- immutable borrow occurs here [INFO] [stdout] 191 | cnts.insert(ch, old_v + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob15.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut cur_pos: Point = Point { row: 0, col: 0 }; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob15.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | let mut new_row: Vec = og_row.clone().into_iter().map(|e| ((e + i) % 9) + 1).collect(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob15.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let mut cur_pos: Point = Point { row: 0, col: 0 }; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob2` [INFO] [stdout] --> src/prob2.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) fn prob2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob2.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn part1(lines: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob2.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn part2(lines: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_binary` [INFO] [stdout] --> src/util.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) fn parse_binary(bits: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_binary_substring` [INFO] [stdout] --> src/util.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) fn parse_binary_substring(bits: String, start: usize, end: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_superset` [INFO] [stdout] --> src/util.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn is_superset(a: String, b: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `all_same_chars` [INFO] [stdout] --> src/util.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn all_same_chars(a: String, b: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob1` [INFO] [stdout] --> src/prob1.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) fn prob1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob1.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(nums: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob1.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn part2(nums: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `count_pairs_greater` [INFO] [stdout] --> src/prob1.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn count_pairs_greater(nums: Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob3` [INFO] [stdout] --> src/prob3.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) fn prob3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob3.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob3.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `oxygen_rating` [INFO] [stdout] --> src/prob3.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn oxygen_rating(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `co2_scrubber_rating` [INFO] [stdout] --> src/prob3.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn co2_scrubber_rating(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gamma` [INFO] [stdout] --> src/prob3.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn gamma(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `epsilon` [INFO] [stdout] --> src/prob3.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn epsilon(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `most_common` [INFO] [stdout] --> src/prob3.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn most_common(col: i32, lines: Vec) -> char { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `least_common` [INFO] [stdout] --> src/prob3.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn least_common(col: i32, lines: Vec) -> char { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `num` [INFO] [stdout] --> src/prob4.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | struct BingoCell { num: i32, is_marked: bool} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `BingoCell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob4.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `is_marked` [INFO] [stdout] --> src/prob4.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | struct BingoCell { num: i32, is_marked: bool} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `BingoCell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob4.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `BingoBoard` [INFO] [stdout] --> src/prob4.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | type BingoBoard = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob4` [INFO] [stdout] --> src/prob4.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn prob4() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob4.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob4.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `call_num` [INFO] [stdout] --> src/prob4.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn call_num(num: i32, boards: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `call_num_board` [INFO] [stdout] --> src/prob4.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn call_num_board(num: i32, board: BingoBoard) -> BingoBoard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `called_nums` [INFO] [stdout] --> src/prob4.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn called_nums(line: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_boards` [INFO] [stdout] --> src/prob4.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn parse_boards(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob4.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn parse_board(lines: Vec) -> BingoBoard { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `winning_board` [INFO] [stdout] --> src/prob4.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn winning_board(boards: Vec) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `winning_board_and_idx` [INFO] [stdout] --> src/prob4.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn winning_board_and_idx(boards: Vec) -> Option<(usize, BingoBoard)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_winning` [INFO] [stdout] --> src/prob4.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn is_winning(board: BingoBoard) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_col_winning` [INFO] [stdout] --> src/prob4.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn is_col_winning(col: i32, board: BingoBoard) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score` [INFO] [stdout] --> src/prob4.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn score(board: BingoBoard) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `start` [INFO] [stdout] --> src/prob5.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | struct LineSegment { start: Point, end: Point } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `LineSegment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob5.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `end` [INFO] [stdout] --> src/prob5.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | struct LineSegment { start: Point, end: Point } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `LineSegment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob5.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob5` [INFO] [stdout] --> src/prob5.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn prob5() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob5.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob5.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_line_segments` [INFO] [stdout] --> src/prob5.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn parse_line_segments(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `points_on_segment` [INFO] [stdout] --> src/prob5.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn points_on_segment(segment: LineSegment) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_horizontal_or_vertical` [INFO] [stdout] --> src/prob5.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn is_horizontal_or_vertical(segment: LineSegment) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob6` [INFO] [stdout] --> src/prob6.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn prob6() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob6.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob6.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simulate_fish` [INFO] [stdout] --> src/prob6.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn simulate_fish(state: String, days: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simulate_fish_fast` [INFO] [stdout] --> src/prob6.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn simulate_fish_fast(state: String, days: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob7` [INFO] [stdout] --> src/prob7.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn prob7() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob7.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob7.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score` [INFO] [stdout] --> src/prob7.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn score(goal: i64, crabs: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score2` [INFO] [stdout] --> src/prob7.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn score2(goal: i64, crabs: Vec) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `signal_patterns` [INFO] [stdout] --> src/prob8.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | struct Entry { signal_patterns: Vec, output_values: Vec } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Entry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob8.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `output_values` [INFO] [stdout] --> src/prob8.rs:6:46 [INFO] [stdout] | [INFO] [stdout] 6 | struct Entry { signal_patterns: Vec, output_values: Vec } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Entry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob8.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob8` [INFO] [stdout] --> src/prob8.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fn prob8() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob8.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn part1(entries: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob8.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn part2(entries: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_entry` [INFO] [stdout] --> src/prob8.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn decode_entry(entry: Entry) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `count_1_4_7_8` [INFO] [stdout] --> src/prob8.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn count_1_4_7_8(output_values: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_entries` [INFO] [stdout] --> src/prob8.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn parse_entries(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_line` [INFO] [stdout] --> src/prob8.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn parse_line(line: String) -> Entry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_1_4_7_8` [INFO] [stdout] --> src/prob8.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn is_1_4_7_8(output_value: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Board` [INFO] [stdout] --> src/prob9.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | type Board = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Basin` [INFO] [stdout] --> src/prob9.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | type Basin = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob9` [INFO] [stdout] --> src/prob9.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) fn prob9() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob9.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn part1(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob9.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn part2(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_basin` [INFO] [stdout] --> src/prob9.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn get_basin(low_point: Point, board: Board) -> Basin { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `neighbors` [INFO] [stdout] --> src/prob9.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn neighbors(p: Point, board: Board) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `low_points` [INFO] [stdout] --> src/prob9.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn low_points(board: Board) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_low_point` [INFO] [stdout] --> src/prob9.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn is_low_point(row: usize, col: usize, board: Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob9.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn parse_board(lines: Vec) -> Board { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_line` [INFO] [stdout] --> src/prob9.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn parse_line(line: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob10` [INFO] [stdout] --> src/prob10.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn prob10() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob10.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob10.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `closing_char` [INFO] [stdout] --> src/prob10.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn closing_char(ch: char) -> char { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `closing_sequence` [INFO] [stdout] --> src/prob10.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn closing_sequence(line: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score_completion_sequence` [INFO] [stdout] --> src/prob10.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn score_completion_sequence(seq: String) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `first_illegal_character` [INFO] [stdout] --> src/prob10.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn first_illegal_character(line: String) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `matches` [INFO] [stdout] --> src/prob10.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn matches(a: char, b: char) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score` [INFO] [stdout] --> src/prob10.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn score(ch: char) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `OctopusBoard` [INFO] [stdout] --> src/prob11.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | type OctopusBoard = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob11` [INFO] [stdout] --> src/prob11.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn prob11() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob11.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn part1(mut board: OctopusBoard) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob11.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn part2(mut board: OctopusBoard) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `neighbors` [INFO] [stdout] --> src/prob11.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn neighbors(p: Point, board: OctopusBoard) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bfs` [INFO] [stdout] --> src/prob11.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn bfs(mut starting_points: Vec, mut board: OctopusBoard) -> (OctopusBoard, Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `greater_than` [INFO] [stdout] --> src/prob11.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn greater_than(target: i64, board: OctopusBoard) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob11.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn parse_board(lines: Vec) -> OctopusBoard { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Path` [INFO] [stdout] --> src/prob12.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | type Path = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Graph` [INFO] [stdout] --> src/prob12.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | type Graph = HashMap>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob12` [INFO] [stdout] --> src/prob12.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) fn prob12() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob12.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part1(graph: Graph) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob12.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn part2(graph: Graph) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `can_visit_lower` [INFO] [stdout] --> src/prob12.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn can_visit_lower(node: String, path: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lower_counts` [INFO] [stdout] --> src/prob12.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn lower_counts(path: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `edges2graph` [INFO] [stdout] --> src/prob12.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn edges2graph(edges: Vec) -> Graph { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_edges` [INFO] [stdout] --> src/prob12.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn parse_edges(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_edge` [INFO] [stdout] --> src/prob12.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn parse_edge(line: String) -> Edge { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Input` [INFO] [stdout] --> src/prob13.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | type Input = (Vec, Vec); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob13` [INFO] [stdout] --> src/prob13.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn prob13() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob13.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part1(input: Input) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob13.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn part2(input: Input) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print_output` [INFO] [stdout] --> src/prob13.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn print_output(paper: HashSet) -> () { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fold` [INFO] [stdout] --> src/prob13.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn fold(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fold_x` [INFO] [stdout] --> src/prob13.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn fold_x(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fold_y` [INFO] [stdout] --> src/prob13.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn fold_y(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_lines` [INFO] [stdout] --> src/prob13.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn parse_lines(lines: Vec) -> Input { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_point` [INFO] [stdout] --> src/prob13.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn parse_point(line: String) -> Point { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_fold` [INFO] [stdout] --> src/prob13.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn parse_fold(line: String) -> Fold { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Polymer` [INFO] [stdout] --> src/prob14.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | type Polymer = String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Input` [INFO] [stdout] --> src/prob14.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | type Input = (Polymer, Vec); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob14` [INFO] [stdout] --> src/prob14.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn prob14() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob14.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn part1(input: Input) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob14.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn part2(input: Input) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `step` [INFO] [stdout] --> src/prob14.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn step(old_polymer: Polymer, rules: Vec) -> Polymer { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pair` [INFO] [stdout] --> src/prob14.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn pair(win: &[char], rules: Vec) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `counts` [INFO] [stdout] --> src/prob14.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn counts(polymer: Polymer) -> HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_input` [INFO] [stdout] --> src/prob14.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn parse_input(lines: Vec) -> Input { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_rules` [INFO] [stdout] --> src/prob14.rs:204:4 [INFO] [stdout] | [INFO] [stdout] 204 | fn parse_rules(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_rule` [INFO] [stdout] --> src/prob14.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn parse_rule(line: String) -> PairInsertionRule { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Board` [INFO] [stdout] --> src/prob15.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | type Board = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob15` [INFO] [stdout] --> src/prob15.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) fn prob15() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob15.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn part1(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob15.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn part2(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dijkstra` [INFO] [stdout] --> src/prob15.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn dijkstra(start: Point, goal: Point, graph: Board) -> (HashMap, HashMap) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_min_risk_value` [INFO] [stdout] --> src/prob15.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn find_min_risk_value(cur_pos: Point, goal: Point, board: Board, mut cache: &mut HashMap) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `neighbors` [INFO] [stdout] --> src/prob15.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn neighbors(p: Point, b: Board) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob15.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn parse_board(lines: Vec) -> Board { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_row` [INFO] [stdout] --> src/prob15.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn parse_row(line: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Packet` [INFO] [stdout] --> src/prob16.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Packet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob16` [INFO] [stdout] --> src/prob16.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn prob16() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob16.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn part1(s: String) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob16.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn part2(s: String) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `value_of` [INFO] [stdout] --> src/prob16.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn value_of(packet: Packet) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cursor_test` [INFO] [stdout] --> src/prob16.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn cursor_test(mut cursor: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sum_versions` [INFO] [stdout] --> src/prob16.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn sum_versions(packet: Packet) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode` [INFO] [stdout] --> src/prob16.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn decode(transmission: String, mut cursor: usize) -> (Packet, usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_literal` [INFO] [stdout] --> src/prob16.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn decode_literal(transmission: String, mut cursor: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_subpackets_fixed_bits` [INFO] [stdout] --> src/prob16.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn decode_subpackets_fixed_bits(transmission: String, mut cursor: usize) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_subpackets_fixed_num` [INFO] [stdout] --> src/prob16.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn decode_subpackets_fixed_num(transmission: String, mut cursor: usize) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print_packet` [INFO] [stdout] --> src/prob16.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn print_packet(packet: Packet) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `expand_hex` [INFO] [stdout] --> src/prob16.rs:161:4 [INFO] [stdout] | [INFO] [stdout] 161 | fn expand_hex(ch: char) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Velocity` [INFO] [stdout] --> src/prob17.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | type Velocity = Pair2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Position` [INFO] [stdout] --> src/prob17.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | type Position = Pair2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob17` [INFO] [stdout] --> src/prob17.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) fn prob17() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob17.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn part1(area: TargetArea) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob17.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn part2(area: TargetArea) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shoot` [INFO] [stdout] --> src/prob17.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn shoot(init_pos: Position, init_v: Velocity, area: TargetArea) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `step` [INFO] [stdout] --> src/prob17.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn step(pos: &mut Position, v: &mut Velocity) -> () { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_within_area` [INFO] [stdout] --> src/prob17.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn is_within_area(pos: Position, area: TargetArea) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `missed` [INFO] [stdout] --> src/prob17.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn missed(pos: Position, area: TargetArea) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 204 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.56s [INFO] running `Command { std: "docker" "inspect" "b789cd2272e8a4e5885cd9649bb0a06fdf45cfecc6cb545d50d9ac6877b4f33b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b789cd2272e8a4e5885cd9649bb0a06fdf45cfecc6cb545d50d9ac6877b4f33b", kill_on_drop: false }` [INFO] [stdout] b789cd2272e8a4e5885cd9649bb0a06fdf45cfecc6cb545d50d9ac6877b4f33b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8cb1818eecff330cc6cfd472f65f1c4edaf20298f081fa14aa9a7c2ab65ba59e [INFO] running `Command { std: "docker" "start" "-a" "8cb1818eecff330cc6cfd472f65f1c4edaf20298f081fa14aa9a7c2ab65ba59e", kill_on_drop: false }` [INFO] [stderr] Compiling untitled v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob2.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob2.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/prob2.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | else if cmd.starts_with(("down")) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 29 - else if cmd.starts_with(("down")) { [INFO] [stdout] 29 + else if cmd.starts_with("down") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/prob2.rs:56:22 [INFO] [stdout] | [INFO] [stdout] 56 | depth += (aim * x); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 56 - depth += (aim * x); [INFO] [stdout] 56 + depth += aim * x; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/prob2.rs:64:33 [INFO] [stdout] | [INFO] [stdout] 64 | else if cmd.starts_with(("down")) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 64 - else if cmd.starts_with(("down")) { [INFO] [stdout] 64 + else if cmd.starts_with("down") { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Lines`, `Result`, `self` [INFO] [stdout] --> src/util.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader, Lines, Result}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob1.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob1.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob3.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob3.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/prob4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Lines` [INFO] [stdout] --> src/prob4.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, Lines}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/prob7.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/prob12.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/prob12.rs:14:36 [INFO] [stdout] | [INFO] [stdout] 14 | let graph: Graph = edges2graph((parse_edges(lines))); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 14 - let graph: Graph = edges2graph((parse_edges(lines))); [INFO] [stdout] 14 + let graph: Graph = edges2graph(parse_edges(lines)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/prob14.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::LinkedList` [INFO] [stdout] --> src/prob14.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::LinkedList; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/prob15.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/prob15.rs:3:45 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BinaryHeap, HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::Chunks` [INFO] [stdout] --> src/prob16.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::slice::Chunks; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/prob16.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Formatter` [INFO] [stdout] --> src/prob16.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::Formatter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/prob16.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | if (type_id == 4) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 85 - if (type_id == 4) { [INFO] [stdout] 85 + if type_id == 4 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/prob16.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/prob16.rs:128:26 [INFO] [stdout] | [INFO] [stdout] 128 | bits_consumed += (new_cursor - cursor); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - bits_consumed += (new_cursor - cursor); [INFO] [stdout] 128 + bits_consumed += new_cursor - cursor; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BorrowMut` [INFO] [stdout] --> src/prob17.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/prob18.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/prob18.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/prob3.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(drain_filter)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/prob5.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(iter_zip)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/prob4.rs:134:58 [INFO] [stdout] | [INFO] [stdout] 134 | return boards.clone().into_iter().enumerate().find(|(u,b)| is_winning(b.clone())); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pt` [INFO] [stdout] --> src/prob5.rs:48:37 [INFO] [stdout] | [INFO] [stdout] 48 | return pts.into_iter().filter(|(pt, cnt)| *cnt >= 2).collect::>().len() as i64; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pt` [INFO] [stdout] --> src/prob5.rs:73:37 [INFO] [stdout] | [INFO] [stdout] 73 | return pts.into_iter().filter(|(pt, cnt)| *cnt >= 2).collect::>().len() as i64; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test_input` [INFO] [stdout] --> src/prob6.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let test_input: String = "3,4,3,1,2".to_string(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/prob6.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | for day in 0..days { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/prob11.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | for step in 0..100 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/prob15.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | let (dist, prev) = dijkstra(cur_pos, goal, new_board.clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/prob16.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | let (packet, cursor) = decode(transmission, 0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/prob16.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | let (packet, cursor) = decode(transmission, 0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_line` [INFO] [stdout] --> src/prob17.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let first_line: String = lines.clone().into_iter().nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_line` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/prob18.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | fn reduce(p: Pair) -> Pair { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob4.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut b: BingoBoard = parse_board(bd_lines.to_vec()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob6.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut lanternfish: Vec = state.split(",").map(|x| x.parse().unwrap()).collect(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob11.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | fn bfs(mut starting_points: Vec, mut board: OctopusBoard) -> (OctopusBoard, Vec) { [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob14.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let mut cur_polymer: Polymer = polymer.clone(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `cnts` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/prob14.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 190 | let old_v = cnts.get(&ch).unwrap(); [INFO] [stdout] | ------------- immutable borrow occurs here [INFO] [stdout] 191 | cnts.insert(ch, old_v + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used here [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob15.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let mut cur_pos: Point = Point { row: 0, col: 0 }; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob15.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | let mut new_row: Vec = og_row.clone().into_iter().map(|e| ((e + i) % 9) + 1).collect(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/prob15.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let mut cur_pos: Point = Point { row: 0, col: 0 }; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob2` [INFO] [stdout] --> src/prob2.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) fn prob2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob2.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn part1(lines: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob2.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn part2(lines: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_binary` [INFO] [stdout] --> src/util.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) fn parse_binary(bits: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_binary_substring` [INFO] [stdout] --> src/util.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) fn parse_binary_substring(bits: String, start: usize, end: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_superset` [INFO] [stdout] --> src/util.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn is_superset(a: String, b: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `all_same_chars` [INFO] [stdout] --> src/util.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn all_same_chars(a: String, b: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob1` [INFO] [stdout] --> src/prob1.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) fn prob1() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob1.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(nums: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob1.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn part2(nums: Vec) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `count_pairs_greater` [INFO] [stdout] --> src/prob1.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn count_pairs_greater(nums: Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob3` [INFO] [stdout] --> src/prob3.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) fn prob3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob3.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob3.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `oxygen_rating` [INFO] [stdout] --> src/prob3.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn oxygen_rating(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `co2_scrubber_rating` [INFO] [stdout] --> src/prob3.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn co2_scrubber_rating(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gamma` [INFO] [stdout] --> src/prob3.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn gamma(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `epsilon` [INFO] [stdout] --> src/prob3.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn epsilon(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `most_common` [INFO] [stdout] --> src/prob3.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn most_common(col: i32, lines: Vec) -> char { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `least_common` [INFO] [stdout] --> src/prob3.rs:138:4 [INFO] [stdout] | [INFO] [stdout] 138 | fn least_common(col: i32, lines: Vec) -> char { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `num` [INFO] [stdout] --> src/prob4.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | struct BingoCell { num: i32, is_marked: bool} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `BingoCell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob4.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `is_marked` [INFO] [stdout] --> src/prob4.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | struct BingoCell { num: i32, is_marked: bool} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `BingoCell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob4.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `BingoBoard` [INFO] [stdout] --> src/prob4.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | type BingoBoard = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob4` [INFO] [stdout] --> src/prob4.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn prob4() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob4.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob4.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `call_num` [INFO] [stdout] --> src/prob4.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn call_num(num: i32, boards: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `call_num_board` [INFO] [stdout] --> src/prob4.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn call_num_board(num: i32, board: BingoBoard) -> BingoBoard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `called_nums` [INFO] [stdout] --> src/prob4.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn called_nums(line: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_boards` [INFO] [stdout] --> src/prob4.rs:92:4 [INFO] [stdout] | [INFO] [stdout] 92 | fn parse_boards(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob4.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn parse_board(lines: Vec) -> BingoBoard { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `winning_board` [INFO] [stdout] --> src/prob4.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn winning_board(boards: Vec) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `winning_board_and_idx` [INFO] [stdout] --> src/prob4.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn winning_board_and_idx(boards: Vec) -> Option<(usize, BingoBoard)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_winning` [INFO] [stdout] --> src/prob4.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn is_winning(board: BingoBoard) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_col_winning` [INFO] [stdout] --> src/prob4.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn is_col_winning(col: i32, board: BingoBoard) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score` [INFO] [stdout] --> src/prob4.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn score(board: BingoBoard) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `start` [INFO] [stdout] --> src/prob5.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | struct LineSegment { start: Point, end: Point } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `LineSegment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob5.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `end` [INFO] [stdout] --> src/prob5.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | struct LineSegment { start: Point, end: Point } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `LineSegment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob5.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob5` [INFO] [stdout] --> src/prob5.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn prob5() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob5.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob5.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_line_segments` [INFO] [stdout] --> src/prob5.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn parse_line_segments(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `points_on_segment` [INFO] [stdout] --> src/prob5.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn points_on_segment(segment: LineSegment) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_horizontal_or_vertical` [INFO] [stdout] --> src/prob5.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn is_horizontal_or_vertical(segment: LineSegment) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob6` [INFO] [stdout] --> src/prob6.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn prob6() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob6.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob6.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simulate_fish` [INFO] [stdout] --> src/prob6.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn simulate_fish(state: String, days: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simulate_fish_fast` [INFO] [stdout] --> src/prob6.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn simulate_fish_fast(state: String, days: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob7` [INFO] [stdout] --> src/prob7.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn prob7() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob7.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob7.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score` [INFO] [stdout] --> src/prob7.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn score(goal: i64, crabs: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score2` [INFO] [stdout] --> src/prob7.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn score2(goal: i64, crabs: Vec) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `signal_patterns` [INFO] [stdout] --> src/prob8.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | struct Entry { signal_patterns: Vec, output_values: Vec } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Entry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob8.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `output_values` [INFO] [stdout] --> src/prob8.rs:6:46 [INFO] [stdout] | [INFO] [stdout] 6 | struct Entry { signal_patterns: Vec, output_values: Vec } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Entry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/prob8.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob8` [INFO] [stdout] --> src/prob8.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) fn prob8() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob8.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn part1(entries: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob8.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn part2(entries: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_entry` [INFO] [stdout] --> src/prob8.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn decode_entry(entry: Entry) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `count_1_4_7_8` [INFO] [stdout] --> src/prob8.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn count_1_4_7_8(output_values: Vec) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_entries` [INFO] [stdout] --> src/prob8.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn parse_entries(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_line` [INFO] [stdout] --> src/prob8.rs:136:4 [INFO] [stdout] | [INFO] [stdout] 136 | fn parse_line(line: String) -> Entry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_1_4_7_8` [INFO] [stdout] --> src/prob8.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn is_1_4_7_8(output_value: String) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Board` [INFO] [stdout] --> src/prob9.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | type Board = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Basin` [INFO] [stdout] --> src/prob9.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | type Basin = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob9` [INFO] [stdout] --> src/prob9.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) fn prob9() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob9.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn part1(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob9.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn part2(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_basin` [INFO] [stdout] --> src/prob9.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn get_basin(low_point: Point, board: Board) -> Basin { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `neighbors` [INFO] [stdout] --> src/prob9.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn neighbors(p: Point, board: Board) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `low_points` [INFO] [stdout] --> src/prob9.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn low_points(board: Board) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_low_point` [INFO] [stdout] --> src/prob9.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn is_low_point(row: usize, col: usize, board: Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob9.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn parse_board(lines: Vec) -> Board { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_line` [INFO] [stdout] --> src/prob9.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn parse_line(line: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob10` [INFO] [stdout] --> src/prob10.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn prob10() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob10.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob10.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `closing_char` [INFO] [stdout] --> src/prob10.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn closing_char(ch: char) -> char { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `closing_sequence` [INFO] [stdout] --> src/prob10.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn closing_sequence(line: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score_completion_sequence` [INFO] [stdout] --> src/prob10.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn score_completion_sequence(seq: String) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `first_illegal_character` [INFO] [stdout] --> src/prob10.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn first_illegal_character(line: String) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `matches` [INFO] [stdout] --> src/prob10.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn matches(a: char, b: char) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score` [INFO] [stdout] --> src/prob10.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn score(ch: char) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `OctopusBoard` [INFO] [stdout] --> src/prob11.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | type OctopusBoard = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob11` [INFO] [stdout] --> src/prob11.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn prob11() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob11.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn part1(mut board: OctopusBoard) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob11.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn part2(mut board: OctopusBoard) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `neighbors` [INFO] [stdout] --> src/prob11.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn neighbors(p: Point, board: OctopusBoard) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bfs` [INFO] [stdout] --> src/prob11.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn bfs(mut starting_points: Vec, mut board: OctopusBoard) -> (OctopusBoard, Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `greater_than` [INFO] [stdout] --> src/prob11.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn greater_than(target: i64, board: OctopusBoard) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob11.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn parse_board(lines: Vec) -> OctopusBoard { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Path` [INFO] [stdout] --> src/prob12.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | type Path = Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Graph` [INFO] [stdout] --> src/prob12.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | type Graph = HashMap>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob12` [INFO] [stdout] --> src/prob12.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) fn prob12() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob12.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn part1(graph: Graph) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob12.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn part2(graph: Graph) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `can_visit_lower` [INFO] [stdout] --> src/prob12.rs:79:4 [INFO] [stdout] | [INFO] [stdout] 79 | fn can_visit_lower(node: String, path: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lower_counts` [INFO] [stdout] --> src/prob12.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn lower_counts(path: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `edges2graph` [INFO] [stdout] --> src/prob12.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn edges2graph(edges: Vec) -> Graph { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_edges` [INFO] [stdout] --> src/prob12.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn parse_edges(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_edge` [INFO] [stdout] --> src/prob12.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn parse_edge(line: String) -> Edge { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Input` [INFO] [stdout] --> src/prob13.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | type Input = (Vec, Vec); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob13` [INFO] [stdout] --> src/prob13.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn prob13() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob13.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn part1(input: Input) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob13.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn part2(input: Input) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print_output` [INFO] [stdout] --> src/prob13.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn print_output(paper: HashSet) -> () { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fold` [INFO] [stdout] --> src/prob13.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn fold(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fold_x` [INFO] [stdout] --> src/prob13.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn fold_x(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fold_y` [INFO] [stdout] --> src/prob13.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn fold_y(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_lines` [INFO] [stdout] --> src/prob13.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn parse_lines(lines: Vec) -> Input { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_point` [INFO] [stdout] --> src/prob13.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn parse_point(line: String) -> Point { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_fold` [INFO] [stdout] --> src/prob13.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn parse_fold(line: String) -> Fold { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Polymer` [INFO] [stdout] --> src/prob14.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | type Polymer = String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Input` [INFO] [stdout] --> src/prob14.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | type Input = (Polymer, Vec); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob14` [INFO] [stdout] --> src/prob14.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn prob14() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob14.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn part1(input: Input) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob14.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn part2(input: Input) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `step` [INFO] [stdout] --> src/prob14.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn step(old_polymer: Polymer, rules: Vec) -> Polymer { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pair` [INFO] [stdout] --> src/prob14.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn pair(win: &[char], rules: Vec) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `counts` [INFO] [stdout] --> src/prob14.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn counts(polymer: Polymer) -> HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_input` [INFO] [stdout] --> src/prob14.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn parse_input(lines: Vec) -> Input { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_rules` [INFO] [stdout] --> src/prob14.rs:204:4 [INFO] [stdout] | [INFO] [stdout] 204 | fn parse_rules(lines: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_rule` [INFO] [stdout] --> src/prob14.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn parse_rule(line: String) -> PairInsertionRule { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Board` [INFO] [stdout] --> src/prob15.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | type Board = Vec>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob15` [INFO] [stdout] --> src/prob15.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) fn prob15() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob15.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn part1(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob15.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn part2(board: Board) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dijkstra` [INFO] [stdout] --> src/prob15.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn dijkstra(start: Point, goal: Point, graph: Board) -> (HashMap, HashMap) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_min_risk_value` [INFO] [stdout] --> src/prob15.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn find_min_risk_value(cur_pos: Point, goal: Point, board: Board, mut cache: &mut HashMap) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `neighbors` [INFO] [stdout] --> src/prob15.rs:156:4 [INFO] [stdout] | [INFO] [stdout] 156 | fn neighbors(p: Point, b: Board) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_board` [INFO] [stdout] --> src/prob15.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn parse_board(lines: Vec) -> Board { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_row` [INFO] [stdout] --> src/prob15.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn parse_row(line: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Packet` [INFO] [stdout] --> src/prob16.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Packet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob16` [INFO] [stdout] --> src/prob16.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn prob16() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob16.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn part1(s: String) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob16.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn part2(s: String) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `value_of` [INFO] [stdout] --> src/prob16.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn value_of(packet: Packet) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cursor_test` [INFO] [stdout] --> src/prob16.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn cursor_test(mut cursor: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sum_versions` [INFO] [stdout] --> src/prob16.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn sum_versions(packet: Packet) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode` [INFO] [stdout] --> src/prob16.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn decode(transmission: String, mut cursor: usize) -> (Packet, usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_literal` [INFO] [stdout] --> src/prob16.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn decode_literal(transmission: String, mut cursor: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_subpackets_fixed_bits` [INFO] [stdout] --> src/prob16.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn decode_subpackets_fixed_bits(transmission: String, mut cursor: usize) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_subpackets_fixed_num` [INFO] [stdout] --> src/prob16.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn decode_subpackets_fixed_num(transmission: String, mut cursor: usize) -> (Vec, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print_packet` [INFO] [stdout] --> src/prob16.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn print_packet(packet: Packet) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `expand_hex` [INFO] [stdout] --> src/prob16.rs:161:4 [INFO] [stdout] | [INFO] [stdout] 161 | fn expand_hex(ch: char) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Velocity` [INFO] [stdout] --> src/prob17.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | type Velocity = Pair2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Position` [INFO] [stdout] --> src/prob17.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | type Position = Pair2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prob17` [INFO] [stdout] --> src/prob17.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) fn prob17() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part1` [INFO] [stdout] --> src/prob17.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn part1(area: TargetArea) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `part2` [INFO] [stdout] --> src/prob17.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn part2(area: TargetArea) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shoot` [INFO] [stdout] --> src/prob17.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn shoot(init_pos: Position, init_v: Velocity, area: TargetArea) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `step` [INFO] [stdout] --> src/prob17.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn step(pos: &mut Position, v: &mut Velocity) -> () { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_within_area` [INFO] [stdout] --> src/prob17.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn is_within_area(pos: Position, area: TargetArea) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `missed` [INFO] [stdout] --> src/prob17.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn missed(pos: Position, area: TargetArea) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 204 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.59s [INFO] running `Command { std: "docker" "inspect" "8cb1818eecff330cc6cfd472f65f1c4edaf20298f081fa14aa9a7c2ab65ba59e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8cb1818eecff330cc6cfd472f65f1c4edaf20298f081fa14aa9a7c2ab65ba59e", kill_on_drop: false }` [INFO] [stdout] 8cb1818eecff330cc6cfd472f65f1c4edaf20298f081fa14aa9a7c2ab65ba59e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] dedca738b982f661bf4374ad13e6bd486738f375017aec9ede6e66d25abcdb8b [INFO] running `Command { std: "docker" "start" "-a" "dedca738b982f661bf4374ad13e6bd486738f375017aec9ede6e66d25abcdb8b", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/prob2.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Lines` [INFO] [stderr] --> src/prob2.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{BufReader, Lines}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/prob2.rs:29:33 [INFO] [stderr] | [INFO] [stderr] 29 | else if cmd.starts_with(("down")) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 29 - else if cmd.starts_with(("down")) { [INFO] [stderr] 29 + else if cmd.starts_with("down") { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/prob2.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | depth += (aim * x); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 56 - depth += (aim * x); [INFO] [stderr] 56 + depth += aim * x; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/prob2.rs:64:33 [INFO] [stderr] | [INFO] [stderr] 64 | else if cmd.starts_with(("down")) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 64 - else if cmd.starts_with(("down")) { [INFO] [stderr] 64 + else if cmd.starts_with("down") { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Lines`, `Result`, `self` [INFO] [stderr] --> src/util.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{self, BufRead, BufReader, Lines, Result}; [INFO] [stderr] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/prob1.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Lines` [INFO] [stderr] --> src/prob1.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{BufReader, Lines}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/prob3.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Lines` [INFO] [stderr] --> src/prob3.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{BufReader, Lines}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/prob4.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Lines` [INFO] [stderr] --> src/prob4.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::{BufReader, Lines}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::min` [INFO] [stderr] --> src/prob7.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cmp::min; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/prob12.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/prob12.rs:14:36 [INFO] [stderr] | [INFO] [stderr] 14 | let graph: Graph = edges2graph((parse_edges(lines))); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 14 - let graph: Graph = edges2graph((parse_edges(lines))); [INFO] [stderr] 14 + let graph: Graph = edges2graph(parse_edges(lines)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/prob14.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::LinkedList` [INFO] [stderr] --> src/prob14.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::LinkedList; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/prob15.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/prob15.rs:3:45 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::{BinaryHeap, HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::slice::Chunks` [INFO] [stderr] --> src/prob16.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::slice::Chunks; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/prob16.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Formatter` [INFO] [stderr] --> src/prob16.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt::Formatter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/prob16.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | if (type_id == 4) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 85 - if (type_id == 4) { [INFO] [stderr] 85 + if type_id == 4 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/prob16.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/prob16.rs:128:26 [INFO] [stderr] | [INFO] [stderr] 128 | bits_consumed += (new_cursor - cursor); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 128 - bits_consumed += (new_cursor - cursor); [INFO] [stderr] 128 + bits_consumed += new_cursor - cursor; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `BorrowMut` [INFO] [stderr] --> src/prob17.rs:1:27 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::{Borrow, BorrowMut}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/prob18.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/prob18.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/prob3.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(drain_filter)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/prob5.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(iter_zip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `u` [INFO] [stderr] --> src/prob4.rs:134:58 [INFO] [stderr] | [INFO] [stderr] 134 | return boards.clone().into_iter().enumerate().find(|(u,b)| is_winning(b.clone())); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pt` [INFO] [stderr] --> src/prob5.rs:48:37 [INFO] [stderr] | [INFO] [stderr] 48 | return pts.into_iter().filter(|(pt, cnt)| *cnt >= 2).collect::>().len() as i64; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_pt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pt` [INFO] [stderr] --> src/prob5.rs:73:37 [INFO] [stderr] | [INFO] [stderr] 73 | return pts.into_iter().filter(|(pt, cnt)| *cnt >= 2).collect::>().len() as i64; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_pt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test_input` [INFO] [stderr] --> src/prob6.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let test_input: String = "3,4,3,1,2".to_string(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `day` [INFO] [stderr] --> src/prob6.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | for day in 0..days { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `step` [INFO] [stderr] --> src/prob11.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | for step in 0..100 { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev` [INFO] [stderr] --> src/prob15.rs:83:16 [INFO] [stderr] | [INFO] [stderr] 83 | let (dist, prev) = dijkstra(cur_pos, goal, new_board.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cursor` [INFO] [stderr] --> src/prob16.rs:29:18 [INFO] [stderr] | [INFO] [stderr] 29 | let (packet, cursor) = decode(transmission, 0); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cursor` [INFO] [stderr] --> src/prob16.rs:37:18 [INFO] [stderr] | [INFO] [stderr] 37 | let (packet, cursor) = decode(transmission, 0); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first_line` [INFO] [stderr] --> src/prob17.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let first_line: String = lines.clone().into_iter().nth(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_line` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p` [INFO] [stderr] --> src/prob18.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | fn reduce(p: Pair) -> Pair { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob4.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let mut b: BingoBoard = parse_board(bd_lines.to_vec()); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob6.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut lanternfish: Vec = state.split(",").map(|x| x.parse().unwrap()).collect(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob11.rs:103:8 [INFO] [stderr] | [INFO] [stderr] 103 | fn bfs(mut starting_points: Vec, mut board: OctopusBoard) -> (OctopusBoard, Vec) { [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob14.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | let mut cur_polymer: Polymer = polymer.clone(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `cnts` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/prob14.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 190 | let old_v = cnts.get(&ch).unwrap(); [INFO] [stderr] | ------------- immutable borrow occurs here [INFO] [stderr] 191 | cnts.insert(ch, old_v + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^-----^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow later used here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob15.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let mut cur_pos: Point = Point { row: 0, col: 0 }; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob15.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | let mut new_row: Vec = og_row.clone().into_iter().map(|e| ((e + i) % 9) + 1).collect(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/prob15.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | let mut cur_pos: Point = Point { row: 0, col: 0 }; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob2` [INFO] [stderr] --> src/prob2.rs:6:15 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) fn prob2() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob2.rs:14:4 [INFO] [stderr] | [INFO] [stderr] 14 | fn part1(lines: Vec) -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob2.rs:42:4 [INFO] [stderr] | [INFO] [stderr] 42 | fn part2(lines: Vec) -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_binary` [INFO] [stderr] --> src/util.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | pub(crate) fn parse_binary(bits: String) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_binary_substring` [INFO] [stderr] --> src/util.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) fn parse_binary_substring(bits: String, start: usize, end: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_superset` [INFO] [stderr] --> src/util.rs:31:15 [INFO] [stderr] | [INFO] [stderr] 31 | pub(crate) fn is_superset(a: String, b: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `all_same_chars` [INFO] [stderr] --> src/util.rs:35:15 [INFO] [stderr] | [INFO] [stderr] 35 | pub(crate) fn all_same_chars(a: String, b: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob1` [INFO] [stderr] --> src/prob1.rs:6:15 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) fn prob1() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob1.rs:13:4 [INFO] [stderr] | [INFO] [stderr] 13 | fn part1(nums: Vec) -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob1.rs:17:4 [INFO] [stderr] | [INFO] [stderr] 17 | fn part2(nums: Vec) -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `count_pairs_greater` [INFO] [stderr] --> src/prob1.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn count_pairs_greater(nums: Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob3` [INFO] [stderr] --> src/prob3.rs:7:15 [INFO] [stderr] | [INFO] [stderr] 7 | pub(crate) fn prob3() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob3.rs:13:4 [INFO] [stderr] | [INFO] [stderr] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob3.rs:19:4 [INFO] [stderr] | [INFO] [stderr] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `oxygen_rating` [INFO] [stderr] --> src/prob3.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | fn oxygen_rating(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `co2_scrubber_rating` [INFO] [stderr] --> src/prob3.rs:53:4 [INFO] [stderr] | [INFO] [stderr] 53 | fn co2_scrubber_rating(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gamma` [INFO] [stderr] --> src/prob3.rs:77:4 [INFO] [stderr] | [INFO] [stderr] 77 | fn gamma(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `epsilon` [INFO] [stderr] --> src/prob3.rs:94:4 [INFO] [stderr] | [INFO] [stderr] 94 | fn epsilon(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `most_common` [INFO] [stderr] --> src/prob3.rs:109:4 [INFO] [stderr] | [INFO] [stderr] 109 | fn most_common(col: i32, lines: Vec) -> char { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `least_common` [INFO] [stderr] --> src/prob3.rs:138:4 [INFO] [stderr] | [INFO] [stderr] 138 | fn least_common(col: i32, lines: Vec) -> char { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `num` [INFO] [stderr] --> src/prob4.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | struct BingoCell { num: i32, is_marked: bool} [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `BingoCell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/prob4.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `is_marked` [INFO] [stderr] --> src/prob4.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | struct BingoCell { num: i32, is_marked: bool} [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `BingoCell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/prob4.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `BingoBoard` [INFO] [stderr] --> src/prob4.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | type BingoBoard = Vec>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob4` [INFO] [stderr] --> src/prob4.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | pub(crate) fn prob4() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob4.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | fn part1(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob4.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | fn part2(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `call_num` [INFO] [stderr] --> src/prob4.rs:68:4 [INFO] [stderr] | [INFO] [stderr] 68 | fn call_num(num: i32, boards: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `call_num_board` [INFO] [stderr] --> src/prob4.rs:73:4 [INFO] [stderr] | [INFO] [stderr] 73 | fn call_num_board(num: i32, board: BingoBoard) -> BingoBoard { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `called_nums` [INFO] [stderr] --> src/prob4.rs:88:4 [INFO] [stderr] | [INFO] [stderr] 88 | fn called_nums(line: String) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_boards` [INFO] [stderr] --> src/prob4.rs:92:4 [INFO] [stderr] | [INFO] [stderr] 92 | fn parse_boards(lines: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_board` [INFO] [stderr] --> src/prob4.rs:109:4 [INFO] [stderr] | [INFO] [stderr] 109 | fn parse_board(lines: Vec) -> BingoBoard { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `winning_board` [INFO] [stderr] --> src/prob4.rs:129:4 [INFO] [stderr] | [INFO] [stderr] 129 | fn winning_board(boards: Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `winning_board_and_idx` [INFO] [stderr] --> src/prob4.rs:133:4 [INFO] [stderr] | [INFO] [stderr] 133 | fn winning_board_and_idx(boards: Vec) -> Option<(usize, BingoBoard)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_winning` [INFO] [stderr] --> src/prob4.rs:137:4 [INFO] [stderr] | [INFO] [stderr] 137 | fn is_winning(board: BingoBoard) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_col_winning` [INFO] [stderr] --> src/prob4.rs:156:4 [INFO] [stderr] | [INFO] [stderr] 156 | fn is_col_winning(col: i32, board: BingoBoard) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score` [INFO] [stderr] --> src/prob4.rs:169:4 [INFO] [stderr] | [INFO] [stderr] 169 | fn score(board: BingoBoard) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `start` [INFO] [stderr] --> src/prob5.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | struct LineSegment { start: Point, end: Point } [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `LineSegment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/prob5.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `end` [INFO] [stderr] --> src/prob5.rs:11:36 [INFO] [stderr] | [INFO] [stderr] 11 | struct LineSegment { start: Point, end: Point } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `LineSegment` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/prob5.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob5` [INFO] [stderr] --> src/prob5.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 14 | pub(crate) fn prob5() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob5.rs:22:4 [INFO] [stderr] | [INFO] [stderr] 22 | fn part1(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob5.rs:52:4 [INFO] [stderr] | [INFO] [stderr] 52 | fn part2(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_line_segments` [INFO] [stderr] --> src/prob5.rs:77:4 [INFO] [stderr] | [INFO] [stderr] 77 | fn parse_line_segments(lines: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `points_on_segment` [INFO] [stderr] --> src/prob5.rs:95:4 [INFO] [stderr] | [INFO] [stderr] 95 | fn points_on_segment(segment: LineSegment) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_horizontal_or_vertical` [INFO] [stderr] --> src/prob5.rs:156:4 [INFO] [stderr] | [INFO] [stderr] 156 | fn is_horizontal_or_vertical(segment: LineSegment) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob6` [INFO] [stderr] --> src/prob6.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | pub(crate) fn prob6() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob6.rs:13:4 [INFO] [stderr] | [INFO] [stderr] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob6.rs:19:4 [INFO] [stderr] | [INFO] [stderr] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulate_fish` [INFO] [stderr] --> src/prob6.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | fn simulate_fish(state: String, days: i64) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulate_fish_fast` [INFO] [stderr] --> src/prob6.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | fn simulate_fish_fast(state: String, days: i64) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob7` [INFO] [stderr] --> src/prob7.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | pub(crate) fn prob7() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob7.rs:14:4 [INFO] [stderr] | [INFO] [stderr] 14 | fn part1(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob7.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | fn part2(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score` [INFO] [stderr] --> src/prob7.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | fn score(goal: i64, crabs: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score2` [INFO] [stderr] --> src/prob7.rs:39:4 [INFO] [stderr] | [INFO] [stderr] 39 | fn score2(goal: i64, crabs: Vec) -> i64 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `signal_patterns` [INFO] [stderr] --> src/prob8.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | struct Entry { signal_patterns: Vec, output_values: Vec } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Entry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/prob8.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `output_values` [INFO] [stderr] --> src/prob8.rs:6:46 [INFO] [stderr] | [INFO] [stderr] 6 | struct Entry { signal_patterns: Vec, output_values: Vec } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Entry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/prob8.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob8` [INFO] [stderr] --> src/prob8.rs:8:15 [INFO] [stderr] | [INFO] [stderr] 8 | pub(crate) fn prob8() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob8.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | fn part1(entries: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob8.rs:36:4 [INFO] [stderr] | [INFO] [stderr] 36 | fn part2(entries: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_entry` [INFO] [stderr] --> src/prob8.rs:40:4 [INFO] [stderr] | [INFO] [stderr] 40 | fn decode_entry(entry: Entry) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `count_1_4_7_8` [INFO] [stderr] --> src/prob8.rs:128:4 [INFO] [stderr] | [INFO] [stderr] 128 | fn count_1_4_7_8(output_values: Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_entries` [INFO] [stderr] --> src/prob8.rs:132:4 [INFO] [stderr] | [INFO] [stderr] 132 | fn parse_entries(lines: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_line` [INFO] [stderr] --> src/prob8.rs:136:4 [INFO] [stderr] | [INFO] [stderr] 136 | fn parse_line(line: String) -> Entry { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_1_4_7_8` [INFO] [stderr] --> src/prob8.rs:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | fn is_1_4_7_8(output_value: String) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Board` [INFO] [stderr] --> src/prob9.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | type Board = Vec>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Basin` [INFO] [stderr] --> src/prob9.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | type Basin = Vec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob9` [INFO] [stderr] --> src/prob9.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn prob9() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob9.rs:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | fn part1(board: Board) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob9.rs:53:4 [INFO] [stderr] | [INFO] [stderr] 53 | fn part2(board: Board) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_basin` [INFO] [stderr] --> src/prob9.rs:66:4 [INFO] [stderr] | [INFO] [stderr] 66 | fn get_basin(low_point: Point, board: Board) -> Basin { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `neighbors` [INFO] [stderr] --> src/prob9.rs:91:4 [INFO] [stderr] | [INFO] [stderr] 91 | fn neighbors(p: Point, board: Board) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `low_points` [INFO] [stderr] --> src/prob9.rs:100:4 [INFO] [stderr] | [INFO] [stderr] 100 | fn low_points(board: Board) -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_low_point` [INFO] [stderr] --> src/prob9.rs:115:4 [INFO] [stderr] | [INFO] [stderr] 115 | fn is_low_point(row: usize, col: usize, board: Board) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_board` [INFO] [stderr] --> src/prob9.rs:125:4 [INFO] [stderr] | [INFO] [stderr] 125 | fn parse_board(lines: Vec) -> Board { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_line` [INFO] [stderr] --> src/prob9.rs:129:4 [INFO] [stderr] | [INFO] [stderr] 129 | fn parse_line(line: String) -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob10` [INFO] [stderr] --> src/prob10.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | pub(crate) fn prob10() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob10.rs:13:4 [INFO] [stderr] | [INFO] [stderr] 13 | fn part1(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob10.rs:19:4 [INFO] [stderr] | [INFO] [stderr] 19 | fn part2(lines: Vec) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closing_char` [INFO] [stderr] --> src/prob10.rs:29:4 [INFO] [stderr] | [INFO] [stderr] 29 | fn closing_char(ch: char) -> char { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closing_sequence` [INFO] [stderr] --> src/prob10.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | fn closing_sequence(line: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score_completion_sequence` [INFO] [stderr] --> src/prob10.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | fn score_completion_sequence(seq: String) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `first_illegal_character` [INFO] [stderr] --> src/prob10.rs:94:4 [INFO] [stderr] | [INFO] [stderr] 94 | fn first_illegal_character(line: String) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `matches` [INFO] [stderr] --> src/prob10.rs:113:4 [INFO] [stderr] | [INFO] [stderr] 113 | fn matches(a: char, b: char) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `score` [INFO] [stderr] --> src/prob10.rs:139:4 [INFO] [stderr] | [INFO] [stderr] 139 | fn score(ch: char) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `OctopusBoard` [INFO] [stderr] --> src/prob11.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | type OctopusBoard = Vec>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob11` [INFO] [stderr] --> src/prob11.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | pub(crate) fn prob11() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob11.rs:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | fn part1(mut board: OctopusBoard) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob11.rs:57:4 [INFO] [stderr] | [INFO] [stderr] 57 | fn part2(mut board: OctopusBoard) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `neighbors` [INFO] [stderr] --> src/prob11.rs:89:4 [INFO] [stderr] | [INFO] [stderr] 89 | fn neighbors(p: Point, board: OctopusBoard) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bfs` [INFO] [stderr] --> src/prob11.rs:103:4 [INFO] [stderr] | [INFO] [stderr] 103 | fn bfs(mut starting_points: Vec, mut board: OctopusBoard) -> (OctopusBoard, Vec) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `greater_than` [INFO] [stderr] --> src/prob11.rs:129:4 [INFO] [stderr] | [INFO] [stderr] 129 | fn greater_than(target: i64, board: OctopusBoard) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_board` [INFO] [stderr] --> src/prob11.rs:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | fn parse_board(lines: Vec) -> OctopusBoard { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Path` [INFO] [stderr] --> src/prob12.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Path = Vec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Graph` [INFO] [stderr] --> src/prob12.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | type Graph = HashMap>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob12` [INFO] [stderr] --> src/prob12.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) fn prob12() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob12.rs:19:4 [INFO] [stderr] | [INFO] [stderr] 19 | fn part1(graph: Graph) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob12.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | fn part2(graph: Graph) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `can_visit_lower` [INFO] [stderr] --> src/prob12.rs:79:4 [INFO] [stderr] | [INFO] [stderr] 79 | fn can_visit_lower(node: String, path: Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `lower_counts` [INFO] [stderr] --> src/prob12.rs:84:4 [INFO] [stderr] | [INFO] [stderr] 84 | fn lower_counts(path: Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `edges2graph` [INFO] [stderr] --> src/prob12.rs:102:4 [INFO] [stderr] | [INFO] [stderr] 102 | fn edges2graph(edges: Vec) -> Graph { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_edges` [INFO] [stderr] --> src/prob12.rs:124:4 [INFO] [stderr] | [INFO] [stderr] 124 | fn parse_edges(lines: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_edge` [INFO] [stderr] --> src/prob12.rs:128:4 [INFO] [stderr] | [INFO] [stderr] 128 | fn parse_edge(line: String) -> Edge { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Input` [INFO] [stderr] --> src/prob13.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | type Input = (Vec, Vec); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob13` [INFO] [stderr] --> src/prob13.rs:16:15 [INFO] [stderr] | [INFO] [stderr] 16 | pub(crate) fn prob13() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob13.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | fn part1(input: Input) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob13.rs:37:4 [INFO] [stderr] | [INFO] [stderr] 37 | fn part2(input: Input) -> String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_output` [INFO] [stderr] --> src/prob13.rs:58:4 [INFO] [stderr] | [INFO] [stderr] 58 | fn print_output(paper: HashSet) -> () { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fold` [INFO] [stderr] --> src/prob13.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | fn fold(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fold_x` [INFO] [stderr] --> src/prob13.rs:84:4 [INFO] [stderr] | [INFO] [stderr] 84 | fn fold_x(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fold_y` [INFO] [stderr] --> src/prob13.rs:116:4 [INFO] [stderr] | [INFO] [stderr] 116 | fn fold_y(paper: HashSet, fold: Fold) -> HashSet { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_lines` [INFO] [stderr] --> src/prob13.rs:135:4 [INFO] [stderr] | [INFO] [stderr] 135 | fn parse_lines(lines: Vec) -> Input { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_point` [INFO] [stderr] --> src/prob13.rs:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | fn parse_point(line: String) -> Point { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_fold` [INFO] [stderr] --> src/prob13.rs:148:4 [INFO] [stderr] | [INFO] [stderr] 148 | fn parse_fold(line: String) -> Fold { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Polymer` [INFO] [stderr] --> src/prob14.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | type Polymer = String; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Input` [INFO] [stderr] --> src/prob14.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | type Input = (Polymer, Vec); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob14` [INFO] [stderr] --> src/prob14.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | pub(crate) fn prob14() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob14.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | fn part1(input: Input) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob14.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | fn part2(input: Input) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `step` [INFO] [stderr] --> src/prob14.rs:135:4 [INFO] [stderr] | [INFO] [stderr] 135 | fn step(old_polymer: Polymer, rules: Vec) -> Polymer { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pair` [INFO] [stderr] --> src/prob14.rs:164:4 [INFO] [stderr] | [INFO] [stderr] 164 | fn pair(win: &[char], rules: Vec) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `counts` [INFO] [stderr] --> src/prob14.rs:183:4 [INFO] [stderr] | [INFO] [stderr] 183 | fn counts(polymer: Polymer) -> HashMap { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_input` [INFO] [stderr] --> src/prob14.rs:197:4 [INFO] [stderr] | [INFO] [stderr] 197 | fn parse_input(lines: Vec) -> Input { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_rules` [INFO] [stderr] --> src/prob14.rs:204:4 [INFO] [stderr] | [INFO] [stderr] 204 | fn parse_rules(lines: Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_rule` [INFO] [stderr] --> src/prob14.rs:208:4 [INFO] [stderr] | [INFO] [stderr] 208 | fn parse_rule(line: String) -> PairInsertionRule { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Board` [INFO] [stderr] --> src/prob15.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | type Board = Vec>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob15` [INFO] [stderr] --> src/prob15.rs:38:15 [INFO] [stderr] | [INFO] [stderr] 38 | pub(crate) fn prob15() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob15.rs:45:4 [INFO] [stderr] | [INFO] [stderr] 45 | fn part1(board: Board) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob15.rs:56:4 [INFO] [stderr] | [INFO] [stderr] 56 | fn part2(board: Board) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dijkstra` [INFO] [stderr] --> src/prob15.rs:89:4 [INFO] [stderr] | [INFO] [stderr] 89 | fn dijkstra(start: Point, goal: Point, graph: Board) -> (HashMap, HashMap) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_min_risk_value` [INFO] [stderr] --> src/prob15.rs:133:4 [INFO] [stderr] | [INFO] [stderr] 133 | fn find_min_risk_value(cur_pos: Point, goal: Point, board: Board, mut cache: &mut HashMap) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `neighbors` [INFO] [stderr] --> src/prob15.rs:156:4 [INFO] [stderr] | [INFO] [stderr] 156 | fn neighbors(p: Point, b: Board) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_board` [INFO] [stderr] --> src/prob15.rs:165:4 [INFO] [stderr] | [INFO] [stderr] 165 | fn parse_board(lines: Vec) -> Board { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `parse_row` [INFO] [stderr] --> src/prob15.rs:169:4 [INFO] [stderr] | [INFO] [stderr] 169 | fn parse_row(line: String) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Packet` [INFO] [stderr] --> src/prob16.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | struct Packet { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob16` [INFO] [stderr] --> src/prob16.rs:16:15 [INFO] [stderr] | [INFO] [stderr] 16 | pub(crate) fn prob16() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob16.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | fn part1(s: String) -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob16.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | fn part2(s: String) -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `value_of` [INFO] [stderr] --> src/prob16.rs:42:4 [INFO] [stderr] | [INFO] [stderr] 42 | fn value_of(packet: Packet) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cursor_test` [INFO] [stderr] --> src/prob16.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | fn cursor_test(mut cursor: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sum_versions` [INFO] [stderr] --> src/prob16.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | fn sum_versions(packet: Packet) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode` [INFO] [stderr] --> src/prob16.rs:78:4 [INFO] [stderr] | [INFO] [stderr] 78 | fn decode(transmission: String, mut cursor: usize) -> (Packet, usize) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_literal` [INFO] [stderr] --> src/prob16.rs:105:4 [INFO] [stderr] | [INFO] [stderr] 105 | fn decode_literal(transmission: String, mut cursor: usize) -> (usize, usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_subpackets_fixed_bits` [INFO] [stderr] --> src/prob16.rs:120:4 [INFO] [stderr] | [INFO] [stderr] 120 | fn decode_subpackets_fixed_bits(transmission: String, mut cursor: usize) -> (Vec, usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_subpackets_fixed_num` [INFO] [stderr] --> src/prob16.rs:135:4 [INFO] [stderr] | [INFO] [stderr] 135 | fn decode_subpackets_fixed_num(transmission: String, mut cursor: usize) -> (Vec, usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_packet` [INFO] [stderr] --> src/prob16.rs:150:4 [INFO] [stderr] | [INFO] [stderr] 150 | fn print_packet(packet: Packet) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `expand_hex` [INFO] [stderr] --> src/prob16.rs:161:4 [INFO] [stderr] | [INFO] [stderr] 161 | fn expand_hex(ch: char) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Velocity` [INFO] [stderr] --> src/prob17.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | type Velocity = Pair2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Position` [INFO] [stderr] --> src/prob17.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | type Position = Pair2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prob17` [INFO] [stderr] --> src/prob17.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | pub(crate) fn prob17() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part1` [INFO] [stderr] --> src/prob17.rs:36:4 [INFO] [stderr] | [INFO] [stderr] 36 | fn part1(area: TargetArea) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `part2` [INFO] [stderr] --> src/prob17.rs:57:4 [INFO] [stderr] | [INFO] [stderr] 57 | fn part2(area: TargetArea) -> i64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shoot` [INFO] [stderr] --> src/prob17.rs:80:4 [INFO] [stderr] | [INFO] [stderr] 80 | fn shoot(init_pos: Position, init_v: Velocity, area: TargetArea) -> Option { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `step` [INFO] [stderr] --> src/prob17.rs:103:4 [INFO] [stderr] | [INFO] [stderr] 103 | fn step(pos: &mut Position, v: &mut Velocity) -> () { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_within_area` [INFO] [stderr] --> src/prob17.rs:117:4 [INFO] [stderr] | [INFO] [stderr] 117 | fn is_within_area(pos: Position, area: TargetArea) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `missed` [INFO] [stderr] --> src/prob17.rs:121:4 [INFO] [stderr] | [INFO] [stderr] 121 | fn missed(pos: Position, area: TargetArea) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `untitled` (bin "untitled" test) generated 204 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/untitled-d18dec64611e4bfd) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "dedca738b982f661bf4374ad13e6bd486738f375017aec9ede6e66d25abcdb8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dedca738b982f661bf4374ad13e6bd486738f375017aec9ede6e66d25abcdb8b", kill_on_drop: false }` [INFO] [stdout] dedca738b982f661bf4374ad13e6bd486738f375017aec9ede6e66d25abcdb8b