[INFO] cloning repository https://github.com/geirmundsimonsen/platformerphysics
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/geirmundsimonsen/platformerphysics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeirmundsimonsen%2Fplatformerphysics", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeirmundsimonsen%2Fplatformerphysics'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5b7c0a8f3ed5cda591b20943ffe48413a2f27308
[INFO] checking geirmundsimonsen/platformerphysics against master#3350c1eb3fd8fe1bee1ed4c76944d707bd256876 for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeirmundsimonsen%2Fplatformerphysics" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/geirmundsimonsen/platformerphysics on toolchain 3350c1eb3fd8fe1bee1ed4c76944d707bd256876
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/geirmundsimonsen/platformerphysics
[INFO] finished tweaking git repo https://github.com/geirmundsimonsen/platformerphysics
[INFO] tweaked toml for git repo https://github.com/geirmundsimonsen/platformerphysics written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/geirmundsimonsen/platformerphysics 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" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rapier2d-f64 v0.24.0
[INFO] [stderr]   Downloaded parry2d-f64 v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3f8e093759dbce01effa802b86a7d5c1df7bd53308050b65843542ba62d60f31
[INFO] running `Command { std: "docker" "start" "-a" "3f8e093759dbce01effa802b86a7d5c1df7bd53308050b65843542ba62d60f31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3f8e093759dbce01effa802b86a7d5c1df7bd53308050b65843542ba62d60f31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f8e093759dbce01effa802b86a7d5c1df7bd53308050b65843542ba62d60f31", kill_on_drop: false }`
[INFO] [stdout] 3f8e093759dbce01effa802b86a7d5c1df7bd53308050b65843542ba62d60f31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9cfbe7a6ead9eeb42e99b882f8ef67ac2b2c8390d5e43441a30bb7904255812f
[INFO] running `Command { std: "docker" "start" "-a" "9cfbe7a6ead9eeb42e99b882f8ef67ac2b2c8390d5e43441a30bb7904255812f", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking robust v1.1.0
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking ena v0.14.3
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking downcast-rs v2.0.1
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking spade v2.13.1
[INFO] [stderr]     Checking ordered-float v5.0.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking parry2d-f64 v0.19.0
[INFO] [stderr]     Checking rapier2d-f64 v0.24.0
[INFO] [stderr]     Checking platformerphysics v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ffi::c_void`
[INFO] [stdout]  --> src/event_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod event_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ppm`
[INFO] [stdout]  --> src/event_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ppm;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod event_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::c_void`
[INFO] [stdout]  --> src/event_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ppm`
[INFO] [stdout]  --> src/event_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ppm;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bodies`
[INFO] [stdout]   --> src/event_test.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 |   fn handle_collision_event(&self, bodies: &RigidBodySet, colliders: &ColliderSet, event: CollisionEvent, contact_pair: Option<&ContactPa...
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bodies`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colliders`
[INFO] [stdout]   --> src/event_test.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...f, bodies: &RigidBodySet, colliders: &ColliderSet, event: CollisionEvent, contact_pair: Option<&ContactPair>) {
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_colliders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bodies`
[INFO] [stdout]   --> src/event_test.rs:24:49
[INFO] [stdout]    |
[INFO] [stdout] 24 |   fn handle_contact_force_event(&self, dt: f64, bodies: &RigidBodySet, colliders: &ColliderSet, contact_pair: &ContactPair, total_force_m...
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bodies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colliders`
[INFO] [stdout]   --> src/event_test.rs:24:72
[INFO] [stdout]    |
[INFO] [stdout] 24 | ...4, bodies: &RigidBodySet, colliders: &ColliderSet, contact_pair: &ContactPair, total_force_magnitude: f64) {
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_colliders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/event_test.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut impulse_joint_set = ImpulseJointSet::new();
[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: `bodies`
[INFO] [stdout]   --> src/event_test.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 |   fn handle_collision_event(&self, bodies: &RigidBodySet, colliders: &ColliderSet, event: CollisionEvent, contact_pair: Option<&ContactPa...
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bodies`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_ball_and_ground`, `add_rigid_body_dynamic`, `add_collider_cuboid`, `add_collider_ball`, and `add_collider_ball_with_parent` are never used
[INFO] [stdout]    --> src/test_stream.rs:70:10
[INFO] [stdout]     |
[INFO] [stdout] 18  | impl PhysicsContext {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70  |   pub fn add_ball_and_ground(&mut self) -> RigidBodyHandle {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |   pub fn add_rigid_body_dynamic(&mut self, pos_x: f64, pos_y: f64) -> RigidBodyHandle {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |   pub fn add_collider_cuboid(&mut self, half_extents_x: f64, half_extents_y: f64) -> ColliderHandle {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98  |   pub fn add_collider_ball(&mut self, radius: f64, restitution: f64) -> ColliderHandle {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |   pub fn add_collider_ball_with_parent(&mut self, rigid_body_handle: RigidBodyHandle, radius: f64, restitution: f64) -> ColliderHandle {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colliders`
[INFO] [stdout]   --> src/event_test.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...f, bodies: &RigidBodySet, colliders: &ColliderSet, event: CollisionEvent, contact_pair: Option<&ContactPair>) {
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_colliders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/event_test.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl TestEventHandler {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 10 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventTestContext` is never constructed
[INFO] [stdout]   --> src/event_test.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct EventTestContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `advance` are never used
[INFO] [stdout]   --> src/event_test.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl EventTestContext {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 48 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |   pub fn advance(&mut self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGB` is never constructed
[INFO] [stdout]  --> src/ppm.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RGB {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PPM` is never constructed
[INFO] [stdout]   --> src/ppm.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PPM {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `buffer_size`, `get_offset`, `get_pixel`, `set_pixel`, and `write_file` are never used
[INFO] [stdout]   --> src/ppm.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PPM {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(height: u32, width: u32) -> PPM {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn buffer_size(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn get_offset(&self, x: u32, y: u32) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_pixel(&self, x: u32, y: u32) -> Option<RGB> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn set_pixel(&mut self, x: u32, y: u32, color: RGB) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn write_file(&self, filename: &str) -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bodies`
[INFO] [stdout]   --> src/event_test.rs:24:49
[INFO] [stdout]    |
[INFO] [stdout] 24 |   fn handle_contact_force_event(&self, dt: f64, bodies: &RigidBodySet, colliders: &ColliderSet, contact_pair: &ContactPair, total_force_m...
[INFO] [stdout]    |                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bodies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `colliders`
[INFO] [stdout]   --> src/event_test.rs:24:72
[INFO] [stdout]    |
[INFO] [stdout] 24 | ...4, bodies: &RigidBodySet, colliders: &ColliderSet, contact_pair: &ContactPair, total_force_magnitude: f64) {
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_colliders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/event_test.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let mut impulse_joint_set = ImpulseJointSet::new();
[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: `i`
[INFO] [stdout]    --> src/event_test.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     for i in 0..240 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_ball_and_ground` and `add_collider_ball` are never used
[INFO] [stdout]   --> src/test_stream.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl PhysicsContext {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn add_ball_and_ground(&mut self) -> RigidBodyHandle {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |   pub fn add_collider_ball(&mut self, radius: f64, restitution: f64) -> ColliderHandle {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGB` is never constructed
[INFO] [stdout]  --> src/ppm.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RGB {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `buffer_size`, `get_offset`, `get_pixel`, and `set_pixel` are never used
[INFO] [stdout]   --> src/ppm.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PPM {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn buffer_size(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn get_offset(&self, x: u32, y: u32) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_pixel(&self, x: u32, y: u32) -> Option<RGB> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn set_pixel(&mut self, x: u32, y: u32, color: RGB) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.38s
[INFO] running `Command { std: "docker" "inspect" "9cfbe7a6ead9eeb42e99b882f8ef67ac2b2c8390d5e43441a30bb7904255812f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cfbe7a6ead9eeb42e99b882f8ef67ac2b2c8390d5e43441a30bb7904255812f", kill_on_drop: false }`
[INFO] [stdout] 9cfbe7a6ead9eeb42e99b882f8ef67ac2b2c8390d5e43441a30bb7904255812f
