[INFO] cloning repository https://github.com/Someone1534/RustRayTracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Someone1534/RustRayTracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSomeone1534%2FRustRayTracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSomeone1534%2FRustRayTracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1b0705e75c97aacbf8f4bed20d0c00f73ea140f1
[INFO] checking Someone1534/RustRayTracer against try#8ac0915e346f9a2e49ca3951b642c55bd7d1eaab for pr-158447
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSomeone1534%2FRustRayTracer" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Someone1534/RustRayTracer
[INFO] finished tweaking git repo https://github.com/Someone1534/RustRayTracer
[INFO] tweaked toml for git repo https://github.com/Someone1534/RustRayTracer written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Someone1534/RustRayTracer on toolchain 8ac0915e346f9a2e49ca3951b642c55bd7d1eaab
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Someone1534/RustRayTracer 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" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0
[INFO] running `Command { std: "docker" "start" "54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0" "/opt/rustwide/cargo-home/bin/cargo" "+8ac0915e346f9a2e49ca3951b642c55bd7d1eaab" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]    Compiling cc v1.2.9
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]     Checking miniz_oxide v0.8.2
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling zerocopy v0.8.17
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling built v0.7.5
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking ash v0.38.0+1.3.281
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]    Compiling portable-atomic v1.10.0
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking bitstream-io v2.6.0
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking imgref v1.11.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling winit v0.30.9
[INFO] [stderr]     Checking avif-serialize v0.8.2
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]    Compiling wayland-backend v0.3.8
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking console v0.15.10
[INFO] [stderr]     Checking exr v1.73.0
[INFO] [stderr]     Checking image-webp v0.2.1
[INFO] [stderr]     Checking zune-jpeg v0.4.14
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking gpu-descriptor v0.3.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling bytemuck_derive v1.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking thiserror v2.0.11
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking naga v24.0.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking wayland-client v0.31.8
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking wayland-protocols v0.32.6
[INFO] [stderr]     Checking wayland-cursor v0.31.8
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking ravif v0.11.11
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking wgpu-hal v24.0.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.6
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.6
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking wgpu-core v24.0.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking wgpu v24.0.1
[INFO] [stderr]     Checking untitled v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vec3.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |             if (lsq > 1e-40 && lsq <= 1.0) {
[INFO] [stdout]    |                ^                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             if (lsq > 1e-40 && lsq <= 1.0) {
[INFO] [stdout] 44 +             if lsq > 1e-40 && lsq <= 1.0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vec3.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if (on_unit_sphere.dot(normal) > 0.0) {
[INFO] [stdout]    |            ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         if (on_unit_sphere.dot(normal) > 0.0) {
[INFO] [stdout] 51 +         if on_unit_sphere.dot(normal) > 0.0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/hittable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec3`
[INFO] [stdout]  --> src/sphere.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::vec3::{Point3, Vec3};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/hittable_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]  --> src/camera.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vec3.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |             if (lsq > 1e-40 && lsq <= 1.0) {
[INFO] [stdout]    |                ^                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             if (lsq > 1e-40 && lsq <= 1.0) {
[INFO] [stdout] 44 +             if lsq > 1e-40 && lsq <= 1.0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vec3.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if (on_unit_sphere.dot(normal) > 0.0) {
[INFO] [stdout]    |            ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         if (on_unit_sphere.dot(normal) > 0.0) {
[INFO] [stdout] 51 +         if on_unit_sphere.dot(normal) > 0.0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/hittable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec3`
[INFO] [stdout]  --> src/sphere.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::vec3::{Point3, Vec3};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/hittable_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]  --> src/camera.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude::*`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rayon::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `albedo`
[INFO] [stdout]   --> src/material.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Self::Emissive(albedo) => {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_albedo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/gpu/window.rs:16:62
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, id: WindowId, event: WindowEvent) {
[INFO] [stdout]    |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_center`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let material_center = Lambertian(Color::new(0.1, 0.2, 0.5));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_in`
[INFO] [stdout]   --> src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let material_in = Dielectric(Color::new(1., 1., 1.), 1.0/1.5);
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_tonemap` is never used
[INFO] [stdout]  --> src/color.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn simple_tonemap(color: Color) -> Color {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/hittable_list.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl HittableList {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `degrees_to_radians` is never used
[INFO] [stdout]  --> src/utility.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn degrees_to_radians(degrees: f32) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contains` are never used
[INFO] [stdout]   --> src/interval.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Interval {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn size(&self) -> f32{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn contains(&self, x: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]   --> src/interval.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const EMPTY: Interval = Interval{ min: f32::INFINITY, max: f32::NEG_INFINITY, };
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIVERSE` is never used
[INFO] [stdout]   --> src/interval.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const UNIVERSE: Interval = Interval{ min: f32::NEG_INFINITY, max: f32::INFINITY, };
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_HEIGHT` is never used
[INFO] [stdout]   --> src/camera.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const IMAGE_HEIGHT: u32 = 400;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_WIDTH` is never used
[INFO] [stdout]   --> src/camera.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const IMAGE_WIDTH: u32 = (IMAGE_HEIGHT as f32 * IMAGE_RATIO) as u32;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT_HEIGHT` is never used
[INFO] [stdout]   --> src/camera.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const VIEWPORT_HEIGHT: f32 = 2.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT_WIDTH` is never used
[INFO] [stdout]   --> src/camera.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const VIEWPORT_WIDTH: f32 = 2.0 * (IMAGE_WIDTH as f32 / IMAGE_HEIGHT as f32);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOCAL_LENGTH` is never used
[INFO] [stdout]   --> src/camera.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const FOCAL_LENGTH: f32 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_ORIGIN` is never used
[INFO] [stdout]   --> src/camera.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const CAMERA_ORIGIN: Point3 = Point3{x: 0.0, y:0.0, z:0.0};
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aspect_ratio`, `focal`, and `fov` are never read
[INFO] [stdout]   --> src/camera.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 26 |     aspect_ratio: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     focal: Vec3,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     fov: f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]  --> src/gpu/window.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct App {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `albedo`
[INFO] [stdout]   --> src/material.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Self::Emissive(albedo) => {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_albedo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/gpu/window.rs:16:62
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn window_event(&mut self, event_loop: &ActiveEventLoop, id: WindowId, event: WindowEvent) {
[INFO] [stdout]    |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_center`
[INFO] [stdout]   --> src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let material_center = Lambertian(Color::new(0.1, 0.2, 0.5));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_in`
[INFO] [stdout]   --> src/main.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let material_in = Dielectric(Color::new(1., 1., 1.), 1.0/1.5);
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simple_tonemap` is never used
[INFO] [stdout]  --> src/color.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn simple_tonemap(color: Color) -> Color {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/hittable_list.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl HittableList {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `degrees_to_radians` is never used
[INFO] [stdout]  --> src/utility.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn degrees_to_radians(degrees: f32) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contains` are never used
[INFO] [stdout]   --> src/interval.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Interval {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn size(&self) -> f32{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn contains(&self, x: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]   --> src/interval.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const EMPTY: Interval = Interval{ min: f32::INFINITY, max: f32::NEG_INFINITY, };
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIVERSE` is never used
[INFO] [stdout]   --> src/interval.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const UNIVERSE: Interval = Interval{ min: f32::NEG_INFINITY, max: f32::INFINITY, };
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_HEIGHT` is never used
[INFO] [stdout]   --> src/camera.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const IMAGE_HEIGHT: u32 = 400;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_WIDTH` is never used
[INFO] [stdout]   --> src/camera.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const IMAGE_WIDTH: u32 = (IMAGE_HEIGHT as f32 * IMAGE_RATIO) as u32;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT_HEIGHT` is never used
[INFO] [stdout]   --> src/camera.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const VIEWPORT_HEIGHT: f32 = 2.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT_WIDTH` is never used
[INFO] [stdout]   --> src/camera.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const VIEWPORT_WIDTH: f32 = 2.0 * (IMAGE_WIDTH as f32 / IMAGE_HEIGHT as f32);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FOCAL_LENGTH` is never used
[INFO] [stdout]   --> src/camera.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const FOCAL_LENGTH: f32 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_ORIGIN` is never used
[INFO] [stdout]   --> src/camera.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const CAMERA_ORIGIN: Point3 = Point3{x: 0.0, y:0.0, z:0.0};
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `aspect_ratio`, `focal`, and `fov` are never read
[INFO] [stdout]   --> src/camera.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 26 |     aspect_ratio: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     focal: Vec3,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     fov: f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]  --> src/gpu/window.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct App {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.10s
[INFO] running `Command { std: "docker" "inspect" "54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0", kill_on_drop: false }`
[INFO] [stdout] 54ba369c9455be74334bfd2e699efd0bb86e684d9734f22eb5f6adf13c3de3e0
