[INFO] cloning repository https://github.com/abderrahimAMZ/AdventOfcode2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/abderrahimAMZ/AdventOfcode2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FabderrahimAMZ%2FAdventOfcode2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FabderrahimAMZ%2FAdventOfcode2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0d60bbad54ccfb8cea4e158d55948279c915959b [INFO] checking abderrahimAMZ/AdventOfcode2022/0d60bbad54ccfb8cea4e158d55948279c915959b against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FabderrahimAMZ%2FAdventOfcode2022" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/abderrahimAMZ/AdventOfcode2022 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/abderrahimAMZ/AdventOfcode2022 [INFO] finished tweaking git repo https://github.com/abderrahimAMZ/AdventOfcode2022 [INFO] tweaked toml for git repo https://github.com/abderrahimAMZ/AdventOfcode2022 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/abderrahimAMZ/AdventOfcode2022 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "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-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2d9d6de04f9aff7a1605f52eef20ef4b63fcf484b25e7278b841581112de67ff [INFO] running `Command { std: "docker" "start" "-a" "2d9d6de04f9aff7a1605f52eef20ef4b63fcf484b25e7278b841581112de67ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2d9d6de04f9aff7a1605f52eef20ef4b63fcf484b25e7278b841581112de67ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d9d6de04f9aff7a1605f52eef20ef4b63fcf484b25e7278b841581112de67ff", kill_on_drop: false }` [INFO] [stdout] 2d9d6de04f9aff7a1605f52eef20ef4b63fcf484b25e7278b841581112de67ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb942373b94bdf3d28349a60c51f59f32cfe98a8c9f9c259a671906926e2ec57 [INFO] running `Command { std: "docker" "start" "-a" "fb942373b94bdf3d28349a60c51f59f32cfe98a8c9f9c259a671906926e2ec57", kill_on_drop: false }` [INFO] [stderr] Checking advent_of_code_prs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `MissingFirst` and `MissingLast` [INFO] [stdout] --> src/day4/mod.rs:1:54 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::day4::ParseAssignmentError::{MissingDash, MissingFirst, MissingLast}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::day4::ParseAssignmentError` [INFO] [stdout] --> src/day5/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::day4::ParseAssignmentError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::create_dir` [INFO] [stdout] --> src/day5/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::create_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day6/mod.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if (has_multiple) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 16 - if (has_multiple) { [INFO] [stdout] 16 + if has_multiple { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::max` [INFO] [stdout] --> src/day7/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::max; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Lines` [INFO] [stdout] --> src/day7/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::ParseIntError` [INFO] [stdout] --> src/day8/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::num::ParseIntError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/day8/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | 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: unused import: `day4::camp_cleanup` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use day4::camp_cleanup; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `day5::manage_crates` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use day5::manage_crates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `day6::get_marker` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use day6::get_marker; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `day7::create_tree_day7` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use day7::create_tree_day7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MissingFirst` and `MissingLast` [INFO] [stdout] --> src/day4/mod.rs:1:54 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::day4::ParseAssignmentError::{MissingDash, MissingFirst, MissingLast}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::day4::ParseAssignmentError` [INFO] [stdout] --> src/day5/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::day4::ParseAssignmentError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::create_dir` [INFO] [stdout] --> src/day5/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::create_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/day6/mod.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if (has_multiple) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 16 - if (has_multiple) { [INFO] [stdout] 16 + if has_multiple { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::max` [INFO] [stdout] --> src/day7/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::max; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Lines` [INFO] [stdout] --> src/day7/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::Lines; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::ParseIntError` [INFO] [stdout] --> src/day8/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::num::ParseIntError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/day8/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | 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: unused import: `day4::camp_cleanup` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use day4::camp_cleanup; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `day5::manage_crates` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use day5::manage_crates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `day6::get_marker` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use day6::get_marker; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `day7::create_tree_day7` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use day7::create_tree_day7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/day6/mod.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | let (ch, last_part) = last_part.split_at(1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/day6/mod.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | let (ch, last_part) = last_part.split_at(1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day7/mod.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let mut head = Rc::new(RefCell::new(Directory::new("/".to_string()))); [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/day7/mod.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | fn filter_sizes(mut sizes: Vec, head_size: i32) -> i32 { [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/day8/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mut index_row: usize, [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/day8/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | mut index_column: usize, [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `elves_max_calories_day1` is never used [INFO] [stdout] --> src/day1/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn elves_max_calories_day1(input_string: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `it_works` is never used [INFO] [stdout] --> src/day1/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | fn it_works() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score` is never used [INFO] [stdout] --> src/day2/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn score(round: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertChoiceToNumber` is never used [INFO] [stdout] --> src/day2/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn convertChoiceToNumber(choice: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score_2` is never used [INFO] [stdout] --> src/day2/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn score_2(round: &str) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `playing_rock_paper_scissor_1` is never used [INFO] [stdout] --> src/day2/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn playing_rock_paper_scissor_1(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `playing_rock_paper_scissor_2` is never used [INFO] [stdout] --> src/day2/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn playing_rock_paper_scissor_2(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `item_types_day3` is never used [INFO] [stdout] --> src/day3/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn item_types_day3(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `item_types_day3_2` is never used [INFO] [stdout] --> src/day3/mod.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn item_types_day3_2(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first` and `last` are never read [INFO] [stdout] --> src/day4/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Assignment { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | first: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | last: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day4/mod.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | MissingFirst(ParseIntError), [INFO] [stdout] | ------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseAssignmentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 | MissingFirst(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day4/mod.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | MissingLast(ParseIntError), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseAssignmentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 | MissingLast(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `contains` and `overlaps` are never used [INFO] [stdout] --> src/day4/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Assignment { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 33 | pub fn contains(&self, ass: &Assignment) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn overlaps(&self, ass: &Assignment) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `camp_cleanup` is never used [INFO] [stdout] --> src/day4/mod.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn camp_cleanup(input: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `how_many`, `source`, and `destination` are never read [INFO] [stdout] --> src/day5/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Command { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 7 | how_many: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | source: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | destination: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Command` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day5/mod.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | MissingQuantity(ParseIntError), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseCommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 | MissingQuantity(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day5/mod.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | MissingSource(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseCommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 | MissingSource(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day7/mod.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let mut head = Rc::new(RefCell::new(Directory::new("/".to_string()))); [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: field `0` is never read [INFO] [stdout] --> src/day5/mod.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | MissingDestination(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseCommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | MissingDestination(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manage_crates` is never used [INFO] [stdout] --> src/day5/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn manage_crates(input: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_marker` is never used [INFO] [stdout] --> src/day6/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn get_marker(input: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day7/mod.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | fn filter_sizes(mut sizes: Vec, head_size: i32) -> i32 { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_multiple` is never used [INFO] [stdout] --> src/day6/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn has_multiple(chars: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `File` is never constructed [INFO] [stdout] --> src/day7/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct File { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day8/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mut index_row: usize, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/day7/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl File { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 15 | fn new(name: String, size: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Directory` is never constructed [INFO] [stdout] --> src/day7/mod.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct Directory { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day8/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | mut index_column: usize, [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DirectoryRef` is never used [INFO] [stdout] --> src/day7/mod.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | type DirectoryRef = Rc>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_file`, `add_directory`, and `files_size` are never used [INFO] [stdout] --> src/day7/mod.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 29 | impl Directory { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 30 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn add_file(&mut self, file: File) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn add_directory(&mut self, dir: DirectoryRef) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn files_size(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_child` is never used [INFO] [stdout] --> src/day7/mod.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn find_child(parent: DirectoryRef, dir_name: String) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Command` is never used [INFO] [stdout] --> src/day7/mod.rs:58:6 [INFO] [stdout] | [INFO] [stdout] 58 | enum Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_command` is never used [INFO] [stdout] --> src/day7/mod.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn create_command(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tree_day7` is never used [INFO] [stdout] --> src/day7/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn create_tree_day7(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `construct_tree` is never used [INFO] [stdout] --> src/day7/mod.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn construct_tree(commands: Vec) -> Rc> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_sizes` is never used [INFO] [stdout] --> src/day7/mod.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn calculate_sizes(head: DirectoryRef, sizes: &mut Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `filter_sizes` is never used [INFO] [stdout] --> src/day7/mod.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn filter_sizes(mut sizes: Vec, head_size: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertChoiceToNumber` should have a snake case name [INFO] [stdout] --> src/day2/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn convertChoiceToNumber(choice: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `convert_choice_to_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Command` should have a snake case name [INFO] [stdout] --> src/day5/mod.rs:55:20 [INFO] [stdout] | [INFO] [stdout] 55 | .for_each(|Command| { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `elves_max_calories_day1` is never used [INFO] [stdout] --> src/day1/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn elves_max_calories_day1(input_string: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score` is never used [INFO] [stdout] --> src/day2/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn score(round: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertChoiceToNumber` is never used [INFO] [stdout] --> src/day2/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn convertChoiceToNumber(choice: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/day6/mod.rs:13:44 [INFO] [stdout] | [INFO] [stdout] 13 | let (first_part, last_part) = chars.clone().split_at(i); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[char]` does not implement `Clone`, so calling `clone` on `&[char]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score_2` is never used [INFO] [stdout] --> src/day2/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn score_2(round: &str) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `playing_rock_paper_scissor_1` is never used [INFO] [stdout] --> src/day2/mod.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn playing_rock_paper_scissor_1(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `playing_rock_paper_scissor_2` is never used [INFO] [stdout] --> src/day2/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn playing_rock_paper_scissor_2(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `item_types_day3` is never used [INFO] [stdout] --> src/day3/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn item_types_day3(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `item_types_day3_2` is never used [INFO] [stdout] --> src/day3/mod.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn item_types_day3_2(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first` and `last` are never read [INFO] [stdout] --> src/day4/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Assignment { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | first: i16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | last: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Directory` should have a snake case name [INFO] [stdout] --> src/day7/mod.rs:116:43 [INFO] [stdout] | [INFO] [stdout] 116 | DirectoryContentDirectory(mut Directory) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `directory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day4/mod.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | MissingFirst(ParseIntError), [INFO] [stdout] | ------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseAssignmentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 | MissingFirst(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `File` should have a snake case name [INFO] [stdout] --> src/day7/mod.rs:122:34 [INFO] [stdout] | [INFO] [stdout] 122 | DirectoryContentFile(File) => current_directory.borrow_mut().add_file(File), [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day4/mod.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | MissingLast(ParseIntError), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseAssignmentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 | MissingLast(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `contains` and `overlaps` are never used [INFO] [stdout] --> src/day4/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Assignment { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 33 | pub fn contains(&self, ass: &Assignment) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn overlaps(&self, ass: &Assignment) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `camp_cleanup` is never used [INFO] [stdout] --> src/day4/mod.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn camp_cleanup(input: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `how_many`, `source`, and `destination` are never read [INFO] [stdout] --> src/day5/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Command { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 7 | how_many: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | source: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | destination: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Command` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day5/mod.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | MissingQuantity(ParseIntError), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseCommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 | MissingQuantity(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day5/mod.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | MissingSource(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseCommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 | MissingSource(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day5/mod.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | MissingDestination(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseCommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | MissingDestination(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manage_crates` is never used [INFO] [stdout] --> src/day5/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn manage_crates(input: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_marker` is never used [INFO] [stdout] --> src/day6/mod.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn get_marker(input: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_multiple` is never used [INFO] [stdout] --> src/day6/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn has_multiple(chars: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `File` is never constructed [INFO] [stdout] --> src/day7/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct File { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/day7/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl File { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 15 | fn new(name: String, size: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Directory` is never constructed [INFO] [stdout] --> src/day7/mod.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct Directory { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DirectoryRef` is never used [INFO] [stdout] --> src/day7/mod.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | type DirectoryRef = Rc>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_file`, `add_directory`, and `files_size` are never used [INFO] [stdout] --> src/day7/mod.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 29 | impl Directory { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 30 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn add_file(&mut self, file: File) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn add_directory(&mut self, dir: DirectoryRef) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn files_size(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_child` is never used [INFO] [stdout] --> src/day7/mod.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn find_child(parent: DirectoryRef, dir_name: String) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Command` is never used [INFO] [stdout] --> src/day7/mod.rs:58:6 [INFO] [stdout] | [INFO] [stdout] 58 | enum Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_command` is never used [INFO] [stdout] --> src/day7/mod.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn create_command(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tree_day7` is never used [INFO] [stdout] --> src/day7/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn create_tree_day7(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `construct_tree` is never used [INFO] [stdout] --> src/day7/mod.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn construct_tree(commands: Vec) -> Rc> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_sizes` is never used [INFO] [stdout] --> src/day7/mod.rs:129:4 [INFO] [stdout] | [INFO] [stdout] 129 | fn calculate_sizes(head: DirectoryRef, sizes: &mut Vec) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `filter_sizes` is never used [INFO] [stdout] --> src/day7/mod.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn filter_sizes(mut sizes: Vec, head_size: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convertChoiceToNumber` should have a snake case name [INFO] [stdout] --> src/day2/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn convertChoiceToNumber(choice: char) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `convert_choice_to_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Command` should have a snake case name [INFO] [stdout] --> src/day5/mod.rs:55:20 [INFO] [stdout] | [INFO] [stdout] 55 | .for_each(|Command| { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/day6/mod.rs:13:44 [INFO] [stdout] | [INFO] [stdout] 13 | let (first_part, last_part) = chars.clone().split_at(i); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[char]` does not implement `Clone`, so calling `clone` on `&[char]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Directory` should have a snake case name [INFO] [stdout] --> src/day7/mod.rs:116:43 [INFO] [stdout] | [INFO] [stdout] 116 | DirectoryContentDirectory(mut Directory) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `directory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `File` should have a snake case name [INFO] [stdout] --> src/day7/mod.rs:122:34 [INFO] [stdout] | [INFO] [stdout] 122 | DirectoryContentFile(File) => current_directory.borrow_mut().add_file(File), [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 54 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s [INFO] running `Command { std: "docker" "inspect" "fb942373b94bdf3d28349a60c51f59f32cfe98a8c9f9c259a671906926e2ec57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb942373b94bdf3d28349a60c51f59f32cfe98a8c9f9c259a671906926e2ec57", kill_on_drop: false }` [INFO] [stdout] fb942373b94bdf3d28349a60c51f59f32cfe98a8c9f9c259a671906926e2ec57