[INFO] cloning repository https://github.com/vighneshiyer/learning-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vighneshiyer/learning-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvighneshiyer%2Flearning-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvighneshiyer%2Flearning-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 72a026bd6f561b672739f8d80e157183251baed6
[INFO] checking vighneshiyer/learning-rust against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvighneshiyer%2Flearning-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vighneshiyer/learning-rust
[INFO] finished tweaking git repo https://github.com/vighneshiyer/learning-rust
[INFO] tweaked toml for git repo https://github.com/vighneshiyer/learning-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vighneshiyer/learning-rust on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vighneshiyer/learning-rust 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cc51573b3326e203046a63212a02e4c53d69944a10d79b7607a478fd2694b317
[INFO] running `Command { std: "docker" "start" "-a" "cc51573b3326e203046a63212a02e4c53d69944a10d79b7607a478fd2694b317", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc51573b3326e203046a63212a02e4c53d69944a10d79b7607a478fd2694b317", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc51573b3326e203046a63212a02e4c53d69944a10d79b7607a478fd2694b317", kill_on_drop: false }`
[INFO] [stdout] cc51573b3326e203046a63212a02e4c53d69944a10d79b7607a478fd2694b317
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9591440b78272883c52b2515c9ef9d23c5151294f5793c07caff462fcb97389a
[INFO] running `Command { std: "docker" "start" "-a" "9591440b78272883c52b2515c9ef9d23c5151294f5793c07caff462fcb97389a", kill_on_drop: false }`
[INFO] [stderr]     Checking comprehensive_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/day2.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 _ => panic!(), // oh very cool, it already knows this is unreachable
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/day2.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout]  88 |                 (Result::Ok(left_val), Result::Ok(right_val)) => match op {
[INFO] [stdout]     |                 --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 100 |                 (e @ Err(_), _) => return e,
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 101 |                 (_, e @ Err(_)) => return e,
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 102 |                 _ => panic!(), // oh very cool, it already knows this is unreachable
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Point` is never constructed
[INFO] [stdout]    --> src/day1.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Point(i32, i32);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]     = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/day1.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Point(i32, i32);
[INFO] [stdout]     |            ----- ^^^  ^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoundsOfForce` is never constructed
[INFO] [stdout]    --> src/day1.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | struct PoundsOfForce(f64);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]    --> src/day1.rs:246:6
[INFO] [stdout]     |
[INFO] [stdout] 246 | enum Direction {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PlayerMove` is never used
[INFO] [stdout]    --> src/day1.rs:252:6
[INFO] [stdout]     |
[INFO] [stdout] 252 | enum PlayerMove {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bar` is never used
[INFO] [stdout]    --> src/day1.rs:259:6
[INFO] [stdout]     |
[INFO] [stdout] 259 | enum Bar {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Event` is never used
[INFO] [stdout]    --> src/day1.rs:274:6
[INFO] [stdout]     |
[INFO] [stdout] 274 | enum Event {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ElevatorDirection` is never used
[INFO] [stdout]    --> src/day1.rs:284:6
[INFO] [stdout]     |
[INFO] [stdout] 284 | enum ElevatorDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `car_arrived` is never used
[INFO] [stdout]    --> src/day1.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn car_arrived(floor: i32) -> Event {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `car_door_opened` is never used
[INFO] [stdout]    --> src/day1.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn car_door_opened() -> Event {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `car_door_closed` is never used
[INFO] [stdout]    --> src/day1.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn car_door_closed() -> Event {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lobby_call_button_pressed` is never used
[INFO] [stdout]    --> src/day1.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn lobby_call_button_pressed(floor: i32, dir: ElevatorDirection) -> Event {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `car_floor_button_pressed` is never used
[INFO] [stdout]    --> src/day1.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn car_floor_button_pressed(floor: i32) -> Event {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Foo` is never constructed
[INFO] [stdout]  --> src/day2.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Foo {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RResult` is never used
[INFO] [stdout]  --> src/day2.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum RResult {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divide_in_two` is never used
[INFO] [stdout]   --> src/day2.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn divide_in_two(n: i32) -> RResult {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sleep_for` is never used
[INFO] [stdout]   --> src/day2.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn sleep_for(secs: f32) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/day2.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]   --> src/day2.rs:69:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | enum Expression {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/day2.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn eval(e: Expression) -> Result<i64, String> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Race` is never constructed
[INFO] [stdout]    --> src/day2.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | struct Race {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_lap`, `print_laps`, and `finish` are never used
[INFO] [stdout]    --> src/day2.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl Race {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 169 |     fn new(name: &str) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn add_lap(&mut self, lap: i32) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn print_laps(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn finish(self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Animal` is never used
[INFO] [stdout]    --> src/day2.rs:204:7
[INFO] [stdout]     |
[INFO] [stdout] 204 | trait Animal {
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Pet` is never used
[INFO] [stdout]    --> src/day2.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 | trait Pet: Animal {
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dog` is never constructed
[INFO] [stdout]    --> src/day2.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | struct Dog {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Meters` is never constructed
[INFO] [stdout]    --> src/day2.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | struct Meters(i32);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetersSquared` is never constructed
[INFO] [stdout]    --> src/day2.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct MetersSquared(i32);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Multiply` is never used
[INFO] [stdout]    --> src/day2.rs:247:7
[INFO] [stdout]     |
[INFO] [stdout] 247 | trait Multiply {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Player` is never constructed
[INFO] [stdout]    --> src/day2.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct Player {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StderrLogger` is never constructed
[INFO] [stdout]    --> src/day2.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 285 | struct StderrLogger;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_things` is never used
[INFO] [stdout]    --> src/day2.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn do_things(logger: &impl Logger) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VerbosityFilter` is never constructed
[INFO] [stdout]    --> src/day2.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | struct VerbosityFilter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate` is never used
[INFO] [stdout]    --> src/day2.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn duplicate<T: Clone>(a: T) -> (T, T) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dup2` is never used
[INFO] [stdout]    --> src/day2.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn dup2<T>(a: T) -> (T, T)
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_const` is never used
[INFO] [stdout]    --> src/day2.rs:333:4
[INFO] [stdout]     |
[INFO] [stdout] 333 | fn add_const(x: impl Into<i32>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_of` is never used
[INFO] [stdout]    --> src/day2.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn pair_of(x: u32) -> impl std::fmt::Debug {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generic` is never used
[INFO] [stdout]    --> src/day2.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn generic(pet: &impl Pet) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dynamic` is never used
[INFO] [stdout]    --> src/day2.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn dynamic(pet: &dyn Pet) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Counter` is never constructed
[INFO] [stdout]    --> src/day2.rs:389:8
[INFO] [stdout]     |
[INFO] [stdout] 389 | struct Counter<T: Hash + Eq> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `count`, and `times_seen` are never used
[INFO] [stdout]    --> src/day2.rs:395:8
[INFO] [stdout]     |
[INFO] [stdout] 393 | impl<T: Hash + Eq> Counter<T> {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 394 |     /// Create a new Counter.
[INFO] [stdout] 395 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn count(&mut self, value: T) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     fn times_seen(&self, value: T) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_lines` is never used
[INFO] [stdout]    --> src/day2.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn count_lines<R: Read>(reader: R) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log` is never used
[INFO] [stdout]    --> src/day2.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn log<W: Write>(writer: &mut W, msg: &str) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Derived` is never constructed
[INFO] [stdout]    --> src/day2.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | struct Derived {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `comprehensive_rust` (lib) due to 1 previous error; 48 warnings emitted
[INFO] [stdout] warning: struct `Implemented` is never constructed
[INFO] [stdout]    --> src/day2.rs:519:8
[INFO] [stdout]     |
[INFO] [stdout] 519 | struct Implemented(String);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `apply_with_log` is never used
[INFO] [stdout]    --> src/day2.rs:544:4
[INFO] [stdout]     |
[INFO] [stdout] 544 | fn apply_with_log(func: impl FnOnce(i32) -> i32, input: i32) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotDecoder` is never constructed
[INFO] [stdout]    --> src/day2.rs:567:8
[INFO] [stdout]     |
[INFO] [stdout] 567 | struct RotDecoder<R: Read> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day2.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     writer.write_all(msg.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 |     let _ = writer.write_all(msg.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day2.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     writer.write_all("\n".as_bytes()); // returns Result<()>
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let _ = writer.write_all("\n".as_bytes()); // returns Result<()>
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/day2.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let x = match foo {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/day2.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 |         Foo { x: (1, b), y } => None,
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/day2.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |         Foo { x: (1, b), y } => None,
[INFO] [stdout]    |                          ^ help: try ignoring the field: `y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/day2.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 _ => panic!(), // oh very cool, it already knows this is unreachable
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/day2.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout]  88 |                 (Result::Ok(left_val), Result::Ok(right_val)) => match op {
[INFO] [stdout]     |                 --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 100 |                 (e @ Err(_), _) => return e,
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 101 |                 (_, e @ Err(_)) => return e,
[INFO] [stdout]     |                 --------------- matches some of the same values
[INFO] [stdout] 102 |                 _ => panic!(), // oh very cool, it already knows this is unreachable
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/day2.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut position = name.find('n');
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Point` is never constructed
[INFO] [stdout]    --> src/day1.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Point(i32, i32);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]     = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/day1.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Point(i32, i32);
[INFO] [stdout]     |            ----- ^^^  ^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoundsOfForce` is never constructed
[INFO] [stdout]    --> src/day1.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | struct PoundsOfForce(f64);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]    --> src/day1.rs:246:6
[INFO] [stdout]     |
[INFO] [stdout] 246 | enum Direction {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PlayerMove` is never used
[INFO] [stdout]    --> src/day1.rs:252:6
[INFO] [stdout]     |
[INFO] [stdout] 252 | enum PlayerMove {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dir` and `floor` are never read
[INFO] [stdout]    --> src/day1.rs:275:20
[INFO] [stdout]     |
[INFO] [stdout] 275 |     EnterRequest { dir: ElevatorDirection, floor: i32 },
[INFO] [stdout]     |     ------------   ^^^                     ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `floor` is never read
[INFO] [stdout]    --> src/day1.rs:276:19
[INFO] [stdout]     |
[INFO] [stdout] 276 |     ExitRequest { floor: i32 },
[INFO] [stdout]     |     -----------   ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `floor` is never read
[INFO] [stdout]    --> src/day1.rs:277:18
[INFO] [stdout]     |
[INFO] [stdout] 277 |     CarArrival { floor: i32 },
[INFO] [stdout]     |     ----------   ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Down` is never constructed
[INFO] [stdout]    --> src/day1.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 284 | enum ElevatorDirection {
[INFO] [stdout]     |      ----------------- variant in this enum
[INFO] [stdout] 285 |     Up,
[INFO] [stdout] 286 |     Down,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ElevatorDirection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leg_count` is never used
[INFO] [stdout]    --> src/day2.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | trait Animal {
[INFO] [stdout]     |       ------ method in this trait
[INFO] [stdout] 205 |     fn leg_count(&self) -> u32;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `age` is never read
[INFO] [stdout]    --> src/day2.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 216 | struct Dog {
[INFO] [stdout]     |        --- field in this struct
[INFO] [stdout] 217 |     name: String,
[INFO] [stdout] 218 |     age: i8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day2.rs:245:22
[INFO] [stdout]     |
[INFO] [stdout] 245 | struct MetersSquared(i32);
[INFO] [stdout]     |        ------------- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `MetersSquared` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `strength` and `hit_points` are never read
[INFO] [stdout]    --> src/day2.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 265 | struct Player {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 266 |     name: String,
[INFO] [stdout] 267 |     strength: u8,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 268 |     hit_points: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Player` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate` is never used
[INFO] [stdout]    --> src/day2.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn duplicate<T: Clone>(a: T) -> (T, T) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dup2` is never used
[INFO] [stdout]    --> src/day2.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn dup2<T>(a: T) -> (T, T)
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_const` is never used
[INFO] [stdout]    --> src/day2.rs:333:4
[INFO] [stdout]     |
[INFO] [stdout] 333 | fn add_const(x: impl Into<i32>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pair_of` is never used
[INFO] [stdout]    --> src/day2.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn pair_of(x: u32) -> impl std::fmt::Debug {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generic` is never used
[INFO] [stdout]    --> src/day2.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn generic(pet: &impl Pet) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dynamic` is never used
[INFO] [stdout]    --> src/day2.rs:348:4
[INFO] [stdout]     |
[INFO] [stdout] 348 | fn dynamic(pet: &dyn Pet) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x`, `y`, and `z` are never read
[INFO] [stdout]    --> src/day2.rs:513:5
[INFO] [stdout]     |
[INFO] [stdout] 512 | struct Derived {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 513 |     x: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 514 |     y: String,
[INFO] [stdout]     |     ^
[INFO] [stdout] 515 |     z: Implemented,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Derived` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/day2.rs:519:20
[INFO] [stdout]     |
[INFO] [stdout] 519 | struct Implemented(String);
[INFO] [stdout]     |        ----------- ^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `Implemented` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day2.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     writer.write_all(msg.as_bytes());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 |     let _ = writer.write_all(msg.as_bytes());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/day2.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     writer.write_all("\n".as_bytes()); // returns Result<()>
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let _ = writer.write_all("\n".as_bytes()); // returns Result<()>
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `comprehensive_rust` (lib test) due to 1 previous error; 27 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9591440b78272883c52b2515c9ef9d23c5151294f5793c07caff462fcb97389a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9591440b78272883c52b2515c9ef9d23c5151294f5793c07caff462fcb97389a", kill_on_drop: false }`
[INFO] [stdout] 9591440b78272883c52b2515c9ef9d23c5151294f5793c07caff462fcb97389a
