[INFO] cloning repository https://github.com/cjkent/trcr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cjkent/trcr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjkent%2Ftrcr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjkent%2Ftrcr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5d242b9241cdfa458a67f6c096364631664d688c
[INFO] checking cjkent/trcr against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjkent%2Ftrcr" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/cjkent/trcr on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/cjkent/trcr
[INFO] finished tweaking git repo https://github.com/cjkent/trcr
[INFO] tweaked toml for git repo https://github.com/cjkent/trcr written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/cjkent/trcr 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking cjkent/trcr against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcjkent%2Ftrcr" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/cjkent/trcr on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/cjkent/trcr
[INFO] finished tweaking git repo https://github.com/cjkent/trcr
[INFO] tweaked toml for git repo https://github.com/cjkent/trcr written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/cjkent/trcr 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bmp v0.4.0
[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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8f9017d092d8b249c393683a13e96f249b17a6a5d55f6bf373ca13ccd916c8f0
[INFO] running `Command { std: "docker" "start" "-a" "8f9017d092d8b249c393683a13e96f249b17a6a5d55f6bf373ca13ccd916c8f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8f9017d092d8b249c393683a13e96f249b17a6a5d55f6bf373ca13ccd916c8f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f9017d092d8b249c393683a13e96f249b17a6a5d55f6bf373ca13ccd916c8f0", kill_on_drop: false }`
[INFO] [stdout] 8f9017d092d8b249c393683a13e96f249b17a6a5d55f6bf373ca13ccd916c8f0
[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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5f4983af8859d842d3da4c57c0063bcf2942edf74870dbe90176e7ac15f62ddb
[INFO] running `Command { std: "docker" "start" "-a" "5f4983af8859d842d3da4c57c0063bcf2942edf74870dbe90176e7ac15f62ddb", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling libc v0.2.50
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling regex v1.1.2
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]     Checking utf8-ranges v1.0.2
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking regex-syntax v0.6.5
[INFO] [stderr]     Checking bmp v0.4.0
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking env_logger v0.6.1
[INFO] [stderr]     Checking trcr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/main.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Add, Div, Mul};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::Sphere`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::objects::Sphere;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::trace`
[INFO] [stdout]  --> src/objects.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::trace;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/objects.rs:83:27
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let denominator = (ray.dir.dot(&self.normal));
[INFO] [stdout]    |                           ^                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -         let denominator = (ray.dir.dot(&self.normal));
[INFO] [stdout] 83 +         let denominator = ray.dir.dot(&self.normal);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Div`
[INFO] [stdout]  --> src/main.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Add, Div, Mul};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objects::Sphere`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::objects::Sphere;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::trace`
[INFO] [stdout]  --> src/objects.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::trace;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/objects.rs:83:27
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let denominator = (ray.dir.dot(&self.normal));
[INFO] [stdout]    |                           ^                         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -         let denominator = (ray.dir.dot(&self.normal));
[INFO] [stdout] 83 +         let denominator = ray.dir.dot(&self.normal);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pt`
[INFO] [stdout]   --> src/objects.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn in_bounds(&self, pt: Vec3) -> bool {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_pt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]    --> src/objects.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn secondary_rays(&self, point: &Vec3) -> Vec<Ray> {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]    --> src/objects.rs:116:30
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn surface_normal(&self, point: &Vec3) -> Vec3 {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]    --> src/objects.rs:120:22
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn colour(&self, point: &Vec3) -> Colour {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intensity`
[INFO] [stdout]    --> src/main.rs:309:33
[INFO] [stdout]     |
[INFO] [stdout] 309 |             Light::Point { loc, intensity } => *point - *loc,
[INFO] [stdout]     |                                 ^^^^^^^^^ help: try ignoring the field: `intensity: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intensity`
[INFO] [stdout]    --> src/main.rs:310:35
[INFO] [stdout]     |
[INFO] [stdout] 310 |             Light::Distant { dir, intensity } => *dir,
[INFO] [stdout]     |                                   ^^^^^^^^^ help: try ignoring the field: `intensity: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/main.rs:316:28
[INFO] [stdout]     |
[INFO] [stdout] 316 |             Light::Point { loc, intensity } => *intensity,
[INFO] [stdout]     |                            ^^^ help: try ignoring the field: `loc: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/main.rs:317:30
[INFO] [stdout]     |
[INFO] [stdout] 317 |             Light::Distant { dir, intensity } => *intensity,
[INFO] [stdout]     |                              ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SceneObject` is more private than the item `Scene::objects`
[INFO] [stdout]    --> src/main.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub objects: Vec<Box<dyn SceneObject>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Scene::objects` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `SceneObject` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/main.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | trait SceneObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BLACK` is never used
[INFO] [stdout]   --> src/main.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | static BLACK: Colour = Colour { r: 0.0, g: 0.0, b: 0.0 };
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `secondary_rays` is never used
[INFO] [stdout]    --> src/main.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | trait SceneObject {
[INFO] [stdout]     |       ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn secondary_rays(&self, point: &Vec3) -> Vec<Ray>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dir`, `depth`, and `viewport_width` are never read
[INFO] [stdout]   --> src/camera.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     dir: Vec3,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     depth: f64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     viewport_width: f64,
[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: function `one_sphere_two_lights` is never used
[INFO] [stdout]   --> src/scenes.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn one_sphere_two_lights() -> Scene {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `y`, `x_min`, `x_max`, `z_min`, and `z_max` are never read
[INFO] [stdout]   --> src/objects.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct XzPlane {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 56 |     pub y: f64,
[INFO] [stdout]    |         ^
[INFO] [stdout] 57 |     pub x_min: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 58 |     pub x_max: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 59 |     pub z_min: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 60 |     pub z_max: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pt`
[INFO] [stdout]   --> src/objects.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn in_bounds(&self, pt: Vec3) -> bool {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_pt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]    --> src/objects.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn secondary_rays(&self, point: &Vec3) -> Vec<Ray> {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]    --> src/objects.rs:116:30
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn surface_normal(&self, point: &Vec3) -> Vec3 {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]    --> src/objects.rs:120:22
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn colour(&self, point: &Vec3) -> Colour {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intensity`
[INFO] [stdout]    --> src/main.rs:309:33
[INFO] [stdout]     |
[INFO] [stdout] 309 |             Light::Point { loc, intensity } => *point - *loc,
[INFO] [stdout]     |                                 ^^^^^^^^^ help: try ignoring the field: `intensity: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intensity`
[INFO] [stdout]    --> src/main.rs:310:35
[INFO] [stdout]     |
[INFO] [stdout] 310 |             Light::Distant { dir, intensity } => *dir,
[INFO] [stdout]     |                                   ^^^^^^^^^ help: try ignoring the field: `intensity: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/main.rs:316:28
[INFO] [stdout]     |
[INFO] [stdout] 316 |             Light::Point { loc, intensity } => *intensity,
[INFO] [stdout]     |                            ^^^ help: try ignoring the field: `loc: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/main.rs:317:30
[INFO] [stdout]     |
[INFO] [stdout] 317 |             Light::Distant { dir, intensity } => *intensity,
[INFO] [stdout]     |                              ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SceneObject` is more private than the item `Scene::objects`
[INFO] [stdout]    --> src/main.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub objects: Vec<Box<dyn SceneObject>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Scene::objects` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `SceneObject` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/main.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | trait SceneObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BLACK` is never used
[INFO] [stdout]   --> src/main.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | static BLACK: Colour = Colour { r: 0.0, g: 0.0, b: 0.0 };
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `secondary_rays` is never used
[INFO] [stdout]    --> src/main.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | trait SceneObject {
[INFO] [stdout]     |       ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn secondary_rays(&self, point: &Vec3) -> Vec<Ray>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dir`, `depth`, and `viewport_width` are never read
[INFO] [stdout]   --> src/camera.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     dir: Vec3,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     depth: f64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     viewport_width: f64,
[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: function `one_sphere_two_lights` is never used
[INFO] [stdout]   --> src/scenes.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn one_sphere_two_lights() -> Scene {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `y`, `x_min`, `x_max`, `z_min`, and `z_max` are never read
[INFO] [stdout]   --> src/objects.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct XzPlane {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 56 |     pub y: f64,
[INFO] [stdout]    |         ^
[INFO] [stdout] 57 |     pub x_min: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 58 |     pub x_max: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 59 |     pub z_min: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 60 |     pub z_max: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.19s
[INFO] running `Command { std: "docker" "inspect" "5f4983af8859d842d3da4c57c0063bcf2942edf74870dbe90176e7ac15f62ddb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f4983af8859d842d3da4c57c0063bcf2942edf74870dbe90176e7ac15f62ddb", kill_on_drop: false }`
[INFO] [stdout] 5f4983af8859d842d3da4c57c0063bcf2942edf74870dbe90176e7ac15f62ddb
