[INFO] cloning repository https://github.com/aveltras/adventofcode2020 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aveltras/adventofcode2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faveltras%2Fadventofcode2020", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faveltras%2Fadventofcode2020'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9b7ce766a86911c08e57dd4b7c8329b00244a688 [INFO] checking aveltras/adventofcode2020 against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faveltras%2Fadventofcode2020" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aveltras/adventofcode2020 on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aveltras/adventofcode2020 [INFO] finished tweaking git repo https://github.com/aveltras/adventofcode2020 [INFO] tweaked toml for git repo https://github.com/aveltras/adventofcode2020 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/aveltras/adventofcode2020 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded regex v1.4.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2581d429234fc1f6eb534804e46163b80f6cb23469f98de9302074830a739dcc [INFO] running `Command { std: "docker" "start" "-a" "2581d429234fc1f6eb534804e46163b80f6cb23469f98de9302074830a739dcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2581d429234fc1f6eb534804e46163b80f6cb23469f98de9302074830a739dcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2581d429234fc1f6eb534804e46163b80f6cb23469f98de9302074830a739dcc", kill_on_drop: false }` [INFO] [stdout] 2581d429234fc1f6eb534804e46163b80f6cb23469f98de9302074830a739dcc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 14337eaa3e284c0b8392c05be049f7cd054b7ec63097de43dc72fd7b3bbdf63c [INFO] running `Command { std: "docker" "start" "-a" "14337eaa3e284c0b8392c05be049f7cd054b7ec63097de43dc72fd7b3bbdf63c", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Checking regex-syntax v0.6.23 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking regex v1.4.4 [INFO] [stderr] Checking adventofcode2020 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `regex` is imported redundantly [INFO] [stdout] --> src/day04/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex; [INFO] [stdout] | ^^^^^ the item `regex` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/day04/mod.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `regex` is imported redundantly [INFO] [stdout] --> src/day04/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex; [INFO] [stdout] | ^^^^^ the item `regex` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/day04/mod.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/day04/mod.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/day04/mod.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `birth_year` [INFO] [stdout] --> src/day04/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | let birth_year = passport.birth_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_birth_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `issue_year` [INFO] [stdout] --> src/day04/mod.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let issue_year = passport.issue_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_issue_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exp_year` [INFO] [stdout] --> src/day04/mod.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | let exp_year = passport.expiration_year.parse::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exp_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> src/day04/mod.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | let height = passport.height.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hair_color` [INFO] [stdout] --> src/day04/mod.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | let hair_color = passport.hair_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hair_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eye_color` [INFO] [stdout] --> src/day04/mod.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let eye_color = passport.eye_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `passport_id` [INFO] [stdout] --> src/day04/mod.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | let passport_id = passport.passport_id.parse::()?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_passport_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | let (pointer, acc) = test(&instructions).err().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day08/mod.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | Err((p, _)) => { [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/day08/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [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: unused variable: `birth_year` [INFO] [stdout] --> src/day04/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | let birth_year = passport.birth_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_birth_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day01/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day01/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day01/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min_occurences`, `max_occurences`, `letter`, and `text` are never read [INFO] [stdout] --> src/day02/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Password { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | min_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | max_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | letter: char, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day02/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day02/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day02/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03/mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day03/mod.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn solve_part1(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day03/mod.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_part2(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collisions_per_slope` is never used [INFO] [stdout] --> src/day03/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn collisions_per_slope(tree_area: &TreeArea, (x, y): &(usize, usize)) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `locations` is never read [INFO] [stdout] --> src/day03/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | struct TreeArea { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 45 | locations: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TreeArea` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day04/mod.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/day04/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | struct Passport { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 29 | birth_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | issue_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | expiration_year: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | height: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 33 | hair_color: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 34 | eye_color: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 35 | passport_id: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 36 | country_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidPassport` is never constructed [INFO] [stdout] --> src/day04/mod.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct ValidPassport(Passport); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:100:18 [INFO] [stdout] | [INFO] [stdout] 100 | struct BirthYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 100 | struct BirthYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | struct IssueYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 116 | struct IssueYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | struct ExpirationYear(u32); [INFO] [stdout] | -------------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 132 | struct ExpirationYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Centimeters(u32), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 149 | Centimeters(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | Inches(u32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 150 | Inches(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `issue_year` [INFO] [stdout] --> src/day04/mod.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let issue_year = passport.issue_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_issue_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exp_year` [INFO] [stdout] --> src/day04/mod.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | let exp_year = passport.expiration_year.parse::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exp_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> src/day04/mod.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | let height = passport.height.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hair_color` [INFO] [stdout] --> src/day04/mod.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | let hair_color = passport.hair_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hair_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eye_color` [INFO] [stdout] --> src/day04/mod.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let eye_color = passport.eye_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `passport_id` [INFO] [stdout] --> src/day04/mod.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | let passport_id = passport.passport_id.parse::()?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_passport_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/day04/mod.rs:180:18 [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor(u8, u8, u8); [INFO] [stdout] | --------- ^^ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor((), (), ()); [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:228:19 [INFO] [stdout] | [INFO] [stdout] 228 | struct PassportId(String); [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 228 | struct PassportId(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_passport` is never used [INFO] [stdout] --> src/day04/mod.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | fn validate_passport(passport: Passport) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day05/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_seat_id` is never used [INFO] [stdout] --> src/day05/mod.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn compute_seat_id(seat: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day06/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day07/mod.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_contained` is never used [INFO] [stdout] --> src/day07/mod.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn find_contained(key: String, map: &HashMap>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_container` is never used [INFO] [stdout] --> src/day07/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn find_container(key: String, map: &HashMap>) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day08/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/day08/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn test(instructions: &Vec) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day09/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | let (pointer, acc) = test(&instructions).err().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day08/mod.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | Err((p, _)) => { [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/day08/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [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: function `solve` is never used [INFO] [stdout] --> src/day01/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day01/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day01/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min_occurences`, `max_occurences`, `letter`, and `text` are never read [INFO] [stdout] --> src/day02/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Password { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | min_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | max_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | letter: char, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day02/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day02/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day02/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03/mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day03/mod.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn solve_part1(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day03/mod.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_part2(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collisions_per_slope` is never used [INFO] [stdout] --> src/day03/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn collisions_per_slope(tree_area: &TreeArea, (x, y): &(usize, usize)) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `locations` is never read [INFO] [stdout] --> src/day03/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | struct TreeArea { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 45 | locations: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TreeArea` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day04/mod.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/day04/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | struct Passport { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 29 | birth_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | issue_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | expiration_year: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | height: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 33 | hair_color: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 34 | eye_color: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 35 | passport_id: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 36 | country_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidPassport` is never constructed [INFO] [stdout] --> src/day04/mod.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct ValidPassport(Passport); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:100:18 [INFO] [stdout] | [INFO] [stdout] 100 | struct BirthYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 100 | struct BirthYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | struct IssueYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 116 | struct IssueYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | struct ExpirationYear(u32); [INFO] [stdout] | -------------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 132 | struct ExpirationYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Centimeters(u32), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 149 | Centimeters(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | Inches(u32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 150 | Inches(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/day04/mod.rs:180:18 [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor(u8, u8, u8); [INFO] [stdout] | --------- ^^ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor((), (), ()); [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:228:19 [INFO] [stdout] | [INFO] [stdout] 228 | struct PassportId(String); [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 228 | struct PassportId(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_passport` is never used [INFO] [stdout] --> src/day04/mod.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | fn validate_passport(passport: Passport) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day05/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_seat_id` is never used [INFO] [stdout] --> src/day05/mod.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn compute_seat_id(seat: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day06/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day07/mod.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_contained` is never used [INFO] [stdout] --> src/day07/mod.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn find_contained(key: String, map: &HashMap>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_container` is never used [INFO] [stdout] --> src/day07/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn find_container(key: String, map: &HashMap>) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day08/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/day08/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn test(instructions: &Vec) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day09/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.14s [INFO] running `Command { std: "docker" "inspect" "14337eaa3e284c0b8392c05be049f7cd054b7ec63097de43dc72fd7b3bbdf63c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14337eaa3e284c0b8392c05be049f7cd054b7ec63097de43dc72fd7b3bbdf63c", kill_on_drop: false }` [INFO] [stdout] 14337eaa3e284c0b8392c05be049f7cd054b7ec63097de43dc72fd7b3bbdf63c [INFO] checking aveltras/adventofcode2020 against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faveltras%2Fadventofcode2020" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aveltras/adventofcode2020 on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aveltras/adventofcode2020 [INFO] finished tweaking git repo https://github.com/aveltras/adventofcode2020 [INFO] tweaked toml for git repo https://github.com/aveltras/adventofcode2020 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/aveltras/adventofcode2020 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d1171182ffb775f524e981bfc6a9004e389c5e39b782b924b33fe8fa2c482e8a [INFO] running `Command { std: "docker" "start" "-a" "d1171182ffb775f524e981bfc6a9004e389c5e39b782b924b33fe8fa2c482e8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d1171182ffb775f524e981bfc6a9004e389c5e39b782b924b33fe8fa2c482e8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d1171182ffb775f524e981bfc6a9004e389c5e39b782b924b33fe8fa2c482e8a", kill_on_drop: false }` [INFO] [stdout] d1171182ffb775f524e981bfc6a9004e389c5e39b782b924b33fe8fa2c482e8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce4bf2e0a693a9d9378206f2f7405e3a4cd96c2a420b99259cabd430104acbde [INFO] running `Command { std: "docker" "start" "-a" "ce4bf2e0a693a9d9378206f2f7405e3a4cd96c2a420b99259cabd430104acbde", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Checking regex-syntax v0.6.23 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking regex v1.4.4 [INFO] [stderr] Checking adventofcode2020 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `regex` is imported redundantly [INFO] [stdout] --> src/day04/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex; [INFO] [stdout] | ^^^^^ the item `regex` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/day04/mod.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `regex` is imported redundantly [INFO] [stdout] --> src/day04/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex; [INFO] [stdout] | ^^^^^ the item `regex` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/day04/mod.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{fs, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/day04/mod.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `birth_year` [INFO] [stdout] --> src/day04/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | let birth_year = passport.birth_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_birth_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `issue_year` [INFO] [stdout] --> src/day04/mod.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let issue_year = passport.issue_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_issue_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exp_year` [INFO] [stdout] --> src/day04/mod.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | let exp_year = passport.expiration_year.parse::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exp_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> src/day04/mod.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | let height = passport.height.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hair_color` [INFO] [stdout] --> src/day04/mod.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | let hair_color = passport.hair_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hair_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eye_color` [INFO] [stdout] --> src/day04/mod.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let eye_color = passport.eye_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `passport_id` [INFO] [stdout] --> src/day04/mod.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | let passport_id = passport.passport_id.parse::()?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_passport_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | let (pointer, acc) = test(&instructions).err().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day08/mod.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | Err((p, _)) => { [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/day08/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [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: function `solve` is never used [INFO] [stdout] --> src/day01/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day01/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day01/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min_occurences`, `max_occurences`, `letter`, and `text` are never read [INFO] [stdout] --> src/day02/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Password { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | min_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | max_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | letter: char, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day02/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day02/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day02/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03/mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day03/mod.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn solve_part1(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day03/mod.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_part2(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collisions_per_slope` is never used [INFO] [stdout] --> src/day03/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn collisions_per_slope(tree_area: &TreeArea, (x, y): &(usize, usize)) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `locations` is never read [INFO] [stdout] --> src/day03/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | struct TreeArea { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 45 | locations: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TreeArea` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day04/mod.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/day04/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | struct Passport { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 29 | birth_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | issue_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | expiration_year: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | height: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 33 | hair_color: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 34 | eye_color: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 35 | passport_id: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 36 | country_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidPassport` is never constructed [INFO] [stdout] --> src/day04/mod.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct ValidPassport(Passport); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:100:18 [INFO] [stdout] | [INFO] [stdout] 100 | struct BirthYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 100 | struct BirthYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | struct IssueYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 116 | struct IssueYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | struct ExpirationYear(u32); [INFO] [stdout] | -------------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 132 | struct ExpirationYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Centimeters(u32), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 149 | Centimeters(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | Inches(u32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 150 | Inches(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/day04/mod.rs:180:18 [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor(u8, u8, u8); [INFO] [stdout] | --------- ^^ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor((), (), ()); [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:228:19 [INFO] [stdout] | [INFO] [stdout] 228 | struct PassportId(String); [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 228 | struct PassportId(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_passport` is never used [INFO] [stdout] --> src/day04/mod.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | fn validate_passport(passport: Passport) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day05/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_seat_id` is never used [INFO] [stdout] --> src/day05/mod.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn compute_seat_id(seat: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day06/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day07/mod.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_contained` is never used [INFO] [stdout] --> src/day07/mod.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn find_contained(key: String, map: &HashMap>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_container` is never used [INFO] [stdout] --> src/day07/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn find_container(key: String, map: &HashMap>) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day08/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/day08/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn test(instructions: &Vec) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day09/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/day04/mod.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `birth_year` [INFO] [stdout] --> src/day04/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | let birth_year = passport.birth_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_birth_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `issue_year` [INFO] [stdout] --> src/day04/mod.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let issue_year = passport.issue_year.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_issue_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exp_year` [INFO] [stdout] --> src/day04/mod.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | let exp_year = passport.expiration_year.parse::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exp_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> src/day04/mod.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | let height = passport.height.parse::()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hair_color` [INFO] [stdout] --> src/day04/mod.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | let hair_color = passport.hair_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hair_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eye_color` [INFO] [stdout] --> src/day04/mod.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let eye_color = passport.eye_color.parse::()?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eye_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `passport_id` [INFO] [stdout] --> src/day04/mod.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | let passport_id = passport.passport_id.parse::()?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_passport_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | let (pointer, acc) = test(&instructions).err().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/day08/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/day08/mod.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | Err((p, _)) => { [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/day08/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut pointer = 0; [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: function `solve` is never used [INFO] [stdout] --> src/day01/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day01/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day01/mod.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min_occurences`, `max_occurences`, `letter`, and `text` are never read [INFO] [stdout] --> src/day02/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct Password { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 5 | min_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | max_occurences: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 7 | letter: char, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day02/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day02/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn solve_part1() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day02/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn solve_part2() -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day03/mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part1` is never used [INFO] [stdout] --> src/day03/mod.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn solve_part1(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_part2` is never used [INFO] [stdout] --> src/day03/mod.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn solve_part2(tree_area: &TreeArea) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collisions_per_slope` is never used [INFO] [stdout] --> src/day03/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn collisions_per_slope(tree_area: &TreeArea, (x, y): &(usize, usize)) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `locations` is never read [INFO] [stdout] --> src/day03/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | struct TreeArea { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 45 | locations: Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TreeArea` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day04/mod.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/day04/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | struct Passport { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 29 | birth_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 30 | issue_year: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | expiration_year: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | height: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 33 | hair_color: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 34 | eye_color: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 35 | passport_id: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 36 | country_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidPassport` is never constructed [INFO] [stdout] --> src/day04/mod.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | struct ValidPassport(Passport); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:100:18 [INFO] [stdout] | [INFO] [stdout] 100 | struct BirthYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 100 | struct BirthYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | struct IssueYear(u32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 116 | struct IssueYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | struct ExpirationYear(u32); [INFO] [stdout] | -------------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 132 | struct ExpirationYear(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Centimeters(u32), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 149 | Centimeters(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | Inches(u32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [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] 150 | Inches(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, and `2` are never read [INFO] [stdout] --> src/day04/mod.rs:180:18 [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor(u8, u8, u8); [INFO] [stdout] | --------- ^^ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 180 | struct HairColor((), (), ()); [INFO] [stdout] | ~~ ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/day04/mod.rs:228:19 [INFO] [stdout] | [INFO] [stdout] 228 | struct PassportId(String); [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [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] 228 | struct PassportId(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_passport` is never used [INFO] [stdout] --> src/day04/mod.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | fn validate_passport(passport: Passport) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day05/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_seat_id` is never used [INFO] [stdout] --> src/day05/mod.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn compute_seat_id(seat: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day06/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day07/mod.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_contained` is never used [INFO] [stdout] --> src/day07/mod.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn find_contained(key: String, map: &HashMap>) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_container` is never used [INFO] [stdout] --> src/day07/mod.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn find_container(key: String, map: &HashMap>) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day08/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/day08/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn test(instructions: &Vec) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> src/day09/mod.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn solve() -> (usize, usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.20s [INFO] running `Command { std: "docker" "inspect" "ce4bf2e0a693a9d9378206f2f7405e3a4cd96c2a420b99259cabd430104acbde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce4bf2e0a693a9d9378206f2f7405e3a4cd96c2a420b99259cabd430104acbde", kill_on_drop: false }` [INFO] [stdout] ce4bf2e0a693a9d9378206f2f7405e3a4cd96c2a420b99259cabd430104acbde