[INFO] cloning repository https://github.com/mrizaln/ray-tracing-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mrizaln/ray-tracing-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrizaln%2Fray-tracing-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrizaln%2Fray-tracing-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c59a7fb60a1a32be5f0790b471a2c4867f38d70
[INFO] checking mrizaln/ray-tracing-rust against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrizaln%2Fray-tracing-rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mrizaln/ray-tracing-rust
[INFO] finished tweaking git repo https://github.com/mrizaln/ray-tracing-rust
[INFO] tweaked toml for git repo https://github.com/mrizaln/ray-tracing-rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mrizaln/ray-tracing-rust on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mrizaln/ray-tracing-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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ea3e1d6e36c35d3afaa9e024834a99205d43e5e79f877abc20f1c02433ce77ae
[INFO] running `Command { std: "docker" "start" "-a" "ea3e1d6e36c35d3afaa9e024834a99205d43e5e79f877abc20f1c02433ce77ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea3e1d6e36c35d3afaa9e024834a99205d43e5e79f877abc20f1c02433ce77ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea3e1d6e36c35d3afaa9e024834a99205d43e5e79f877abc20f1c02433ce77ae", kill_on_drop: false }`
[INFO] [stdout] ea3e1d6e36c35d3afaa9e024834a99205d43e5e79f877abc20f1c02433ce77ae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] de5bc50c2458dbf4db6492476f51e7b443abc8a869691757ec1de714ac6fe731
[INFO] running `Command { std: "docker" "start" "-a" "de5bc50c2458dbf4db6492476f51e7b443abc8a869691757ec1de714ac6fe731", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling getrandom v0.2.14
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking winnow v0.6.6
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking anstream v0.6.13
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking ordered-multimap v0.6.0
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking rust-ini v0.19.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking ray-tracing-the-rest-of-your-life v0.1.0 (/opt/rustwide/workdir/3_the-rest-of-your-life)
[INFO] [stderr]     Checking num v0.4.2
[INFO] [stderr]     Checking ray-tracing-in-one-weekend v0.1.0 (/opt/rustwide/workdir/1_in-one-weekend)
[INFO] [stdout] warning: fields `width`, `height`, `u_vector`, `v_vector`, and `upper_left` are never read
[INFO] [stdout]   --> 1_in-one-weekend/src/ray_tracer.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Viewport {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 42 |     pub width: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 43 |     pub height: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 44 |     pub u_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 45 |     pub v_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub upper_left: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Viewport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `view_up`, `view_right`, `view_dir`, `vfov`, and `focus_distance` are never read
[INFO] [stdout]   --> 1_in-one-weekend/src/ray_tracer.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct Camera {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 54 |     pub position: Vec3,
[INFO] [stdout] 55 |     pub view_up: Vec3,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 56 |     pub view_right: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 57 |     pub view_dir: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub vfov: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 61 |     pub defocus_angle: f64,
[INFO] [stdout] 62 |     pub focus_distance: 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: method `render` is never used
[INFO] [stdout]    --> 1_in-one-weekend/src/ray_tracer.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 74  | impl RayTracer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn render(&self, scene: &dyn Hittable) -> Image {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 1_in-one-weekend/src/hittable.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult>;
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 1_in-one-weekend/src/hittable.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> 1_in-one-weekend/src/hittable.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]     |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, `u_vector`, `v_vector`, and `upper_left` are never read
[INFO] [stdout]   --> 1_in-one-weekend/src/ray_tracer.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Viewport {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 42 |     pub width: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 43 |     pub height: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 44 |     pub u_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 45 |     pub v_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub upper_left: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Viewport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `view_up`, `view_right`, `view_dir`, `vfov`, and `focus_distance` are never read
[INFO] [stdout]   --> 1_in-one-weekend/src/ray_tracer.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct Camera {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 54 |     pub position: Vec3,
[INFO] [stdout] 55 |     pub view_up: Vec3,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 56 |     pub view_right: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 57 |     pub view_dir: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub vfov: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 61 |     pub defocus_angle: f64,
[INFO] [stdout] 62 |     pub focus_distance: 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: method `render` is never used
[INFO] [stdout]    --> 1_in-one-weekend/src/ray_tracer.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 74  | impl RayTracer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn render(&self, scene: &dyn Hittable) -> Image {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 1_in-one-weekend/src/hittable.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult>;
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 1_in-one-weekend/src/hittable.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> 1_in-one-weekend/src/hittable.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]     |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]     Checking pest v2.7.9
[INFO] [stderr]    Compiling pest_meta v2.7.9
[INFO] [stderr]    Compiling pest_generator v2.7.9
[INFO] [stderr]    Compiling pest_derive v2.7.9
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking toml_edit v0.22.9
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking toml v0.8.12
[INFO] [stderr]     Checking config v0.14.0
[INFO] [stderr]     Checking ray-tracing-the-next-week v0.1.0 (/opt/rustwide/workdir/2_the-next-week)
[INFO] [stdout] warning: fields `width`, `height`, `u_vector`, `v_vector`, and `upper_left` are never read
[INFO] [stdout]   --> 2_the-next-week/src/ray_tracer.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Viewport {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 43 |     pub width: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 44 |     pub height: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 45 |     pub u_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 46 |     pub v_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub upper_left: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Viewport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `view_up`, `view_right`, `view_dir`, `vfov`, and `focus_distance` are never read
[INFO] [stdout]   --> 2_the-next-week/src/ray_tracer.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct Camera {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 55 |     pub position: Vec3,
[INFO] [stdout] 56 |     pub view_up: Vec3,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 57 |     pub view_right: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 58 |     pub view_dir: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub vfov: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 62 |     pub defocus_angle: f64,
[INFO] [stdout] 63 |     pub focus_distance: 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 2_the-next-week/src/bvh.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 2_the-next-week/src/hittable.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult>;
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> 2_the-next-week/src/hittable.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]     |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> 2_the-next-week/src/hittable.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]     |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, `u_vector`, `v_vector`, and `upper_left` are never read
[INFO] [stdout]   --> 2_the-next-week/src/ray_tracer.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Viewport {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 43 |     pub width: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 44 |     pub height: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 45 |     pub u_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 46 |     pub v_vector: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub upper_left: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Viewport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `view_up`, `view_right`, `view_dir`, `vfov`, and `focus_distance` are never read
[INFO] [stdout]   --> 2_the-next-week/src/ray_tracer.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct Camera {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 55 |     pub position: Vec3,
[INFO] [stdout] 56 |     pub view_up: Vec3,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 57 |     pub view_right: Vec3,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 58 |     pub view_dir: Vec3,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub vfov: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 62 |     pub defocus_angle: f64,
[INFO] [stdout] 63 |     pub focus_distance: 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 2_the-next-week/src/bvh.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> 2_the-next-week/src/hittable.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult>;
[INFO] [stdout]    |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>>;
[INFO] [stdout]    |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> 2_the-next-week/src/hittable.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]     |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> 2_the-next-week/src/hittable.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult> {
[INFO] [stdout]     |            ^^^^^ this lifetime flows to the output        --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn hit(&self, ray: Ray3, t_range: Interval) -> Option<HitResult<'_>> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.55s
[INFO] running `Command { std: "docker" "inspect" "de5bc50c2458dbf4db6492476f51e7b443abc8a869691757ec1de714ac6fe731", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de5bc50c2458dbf4db6492476f51e7b443abc8a869691757ec1de714ac6fe731", kill_on_drop: false }`
[INFO] [stdout] de5bc50c2458dbf4db6492476f51e7b443abc8a869691757ec1de714ac6fe731
