[INFO] cloning repository https://github.com/3digitdev/aoc2015
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/3digitdev/aoc2015" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F3digitdev%2Faoc2015", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F3digitdev%2Faoc2015'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e464f8942465c02783a737994e60e90a38283220
[INFO] checking 3digitdev/aoc2015 against master#46424fb5054f211ec836c5c03159f92e46bb35ac for pr-139042
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F3digitdev%2Faoc2015" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/3digitdev/aoc2015 on toolchain 46424fb5054f211ec836c5c03159f92e46bb35ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/3digitdev/aoc2015
[INFO] finished tweaking git repo https://github.com/3digitdev/aoc2015
[INFO] tweaked toml for git repo https://github.com/3digitdev/aoc2015 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/3digitdev/aoc2015 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" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded md5 v0.7.0
[INFO] [stderr]   Downloaded bit-vec v0.6.2
[INFO] [stderr]   Downloaded bit-set v0.5.2
[INFO] [stderr]   Downloaded fancy-regex v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c4bf4dddb22f21522981bc2760a8e33914943ee20bf204604be0d434be6715a7
[INFO] running `Command { std: "docker" "start" "-a" "c4bf4dddb22f21522981bc2760a8e33914943ee20bf204604be0d434be6715a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4bf4dddb22f21522981bc2760a8e33914943ee20bf204604be0d434be6715a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4bf4dddb22f21522981bc2760a8e33914943ee20bf204604be0d434be6715a7", kill_on_drop: false }`
[INFO] [stdout] c4bf4dddb22f21522981bc2760a8e33914943ee20bf204604be0d434be6715a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 769013c4dca579bf9dfb70a865cc4c0d3360d7764877f92250e8de282eba57a5
[INFO] running `Command { std: "docker" "start" "-a" "769013c4dca579bf9dfb70a865cc4c0d3360d7764877f92250e8de282eba57a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]     Checking bit-vec v0.6.2
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking bit-set v0.5.2
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking fancy-regex v0.4.1
[INFO] [stderr]     Checking aoc2015 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/floor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/instructions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/delivery.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp` and `fmt`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{fs, fmt, cmp};
[INFO] [stdout]   |               ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/floor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Chars`
[INFO] [stdout]  --> src/instructions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::Chars;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/delivery.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp` and `fmt`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{fs, fmt, cmp};
[INFO] [stdout]   |               ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     for i in 0..zeroes {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_5` is never used
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn day_5() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_4` is never used
[INFO] [stdout]    --> src/main.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn day_4() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_digest` is never used
[INFO] [stdout]    --> src/main.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn find_digest(zeroes: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_3` is never used
[INFO] [stdout]    --> src/main.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn day_3() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_2` is never used
[INFO] [stdout]    --> src/main.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn day_2() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1` is never used
[INFO] [stdout]    --> src/main.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn day_1() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     for i in 0..zeroes {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Floor` is never constructed
[INFO] [stdout]  --> src/floor.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Floor {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `print`, `up`, `down`, `parse_char`, and `parse_instructions` are never used
[INFO] [stdout]   --> src/floor.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Floor {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Floor { Floor { value: 0 }}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     pub fn print(&self) { println!("Floor {}", self.value); }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     fn up(&mut self) { self.value += 1; }
[INFO] [stdout]    |        ^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     fn down(&mut self) { self.value -= 1; }
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 16 |
[INFO] [stdout] 17 |     fn parse_char(&mut self, c: char) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn parse_instructions(&mut self, instructions: &mut Instructions) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `parse_file` are never used
[INFO] [stdout]   --> src/instructions.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Instructions {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Instructions{ Instructions { position: 0, text: vec![] } }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn parse_file(&mut self, path: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Present` is never constructed
[INFO] [stdout]  --> src/present.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Present {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `smallest_sides`, `surface_area`, and `ribbon` are never used
[INFO] [stdout]   --> src/present.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl Present {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 8  |     pub fn new((l, w, h): (i32, i32, i32)) -> Present { Present { l, w, h} }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 9  |
[INFO] [stdout] 10 |     fn smallest_sides(&self) -> (i32, i32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn surface_area(&self) -> i32  {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn ribbon(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Santa` is never constructed
[INFO] [stdout]  --> src/delivery.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Santa {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_if_new`, `parse_instruction`, `parse_instructions`, `houses_found`, and `unique_against` are never used
[INFO] [stdout]   --> src/delivery.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Santa {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Santa {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn add_if_new(&mut self, coords: (i32, i32)) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn parse_instruction(&mut self, instruction: char) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn parse_instructions(&mut self, instructions: Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn houses_found(&self) -> usize { self.delivered_to.len() }
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     pub fn unique_against(&mut self, other: &Santa) -> Vec<(i32, i32)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_5` is never used
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn day_5() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_4` is never used
[INFO] [stdout]    --> src/main.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn day_4() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_digest` is never used
[INFO] [stdout]    --> src/main.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn find_digest(zeroes: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_3` is never used
[INFO] [stdout]    --> src/main.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn day_3() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_2` is never used
[INFO] [stdout]    --> src/main.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn day_2() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_1` is never used
[INFO] [stdout]    --> src/main.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn day_1() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Floor` is never constructed
[INFO] [stdout]  --> src/floor.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Floor {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `print`, `up`, `down`, `parse_char`, and `parse_instructions` are never used
[INFO] [stdout]   --> src/floor.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Floor {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Floor { Floor { value: 0 }}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     pub fn print(&self) { println!("Floor {}", self.value); }
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     fn up(&mut self) { self.value += 1; }
[INFO] [stdout]    |        ^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     fn down(&mut self) { self.value -= 1; }
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 16 |
[INFO] [stdout] 17 |     fn parse_char(&mut self, c: char) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn parse_instructions(&mut self, instructions: &mut Instructions) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `parse_file` are never used
[INFO] [stdout]   --> src/instructions.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Instructions {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Instructions{ Instructions { position: 0, text: vec![] } }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn parse_file(&mut self, path: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Present` is never constructed
[INFO] [stdout]  --> src/present.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Present {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `smallest_sides`, `surface_area`, and `ribbon` are never used
[INFO] [stdout]   --> src/present.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl Present {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 8  |     pub fn new((l, w, h): (i32, i32, i32)) -> Present { Present { l, w, h} }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 9  |
[INFO] [stdout] 10 |     fn smallest_sides(&self) -> (i32, i32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn surface_area(&self) -> i32  {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn ribbon(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Santa` is never constructed
[INFO] [stdout]  --> src/delivery.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Santa {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_if_new`, `parse_instruction`, `parse_instructions`, `houses_found`, and `unique_against` are never used
[INFO] [stdout]   --> src/delivery.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Santa {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Santa {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn add_if_new(&mut self, coords: (i32, i32)) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn parse_instruction(&mut self, instruction: char) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn parse_instructions(&mut self, instructions: Vec<char>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn houses_found(&self) -> usize { self.delivered_to.len() }
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     pub fn unique_against(&mut self, other: &Santa) -> Vec<(i32, i32)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.63s
[INFO] running `Command { std: "docker" "inspect" "769013c4dca579bf9dfb70a865cc4c0d3360d7764877f92250e8de282eba57a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "769013c4dca579bf9dfb70a865cc4c0d3360d7764877f92250e8de282eba57a5", kill_on_drop: false }`
[INFO] [stdout] 769013c4dca579bf9dfb70a865cc4c0d3360d7764877f92250e8de282eba57a5
