[INFO] cloning repository https://github.com/throttle2k/ray-tracer-challenge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/throttle2k/ray-tracer-challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthrottle2k%2Fray-tracer-challenge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthrottle2k%2Fray-tracer-challenge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a85b08d7ef7e07a87da7de25ad0e20cb08514e8b
[INFO] checking throttle2k/ray-tracer-challenge against master#dc375db7d8df0aa450e622c529147c95eee756f5 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthrottle2k%2Fray-tracer-challenge" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/throttle2k/ray-tracer-challenge
[INFO] finished tweaking git repo https://github.com/throttle2k/ray-tracer-challenge
[INFO] tweaked toml for git repo https://github.com/throttle2k/ray-tracer-challenge written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/throttle2k/ray-tracer-challenge on toolchain dc375db7d8df0aa450e622c529147c95eee756f5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/throttle2k/ray-tracer-challenge 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" "+dc375db7d8df0aa450e622c529147c95eee756f5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded yare v3.0.0
[INFO] [stderr]   Downloaded yare-macro v3.0.0
[INFO] [stderr]   Downloaded perlin_noise v1.0.1
[INFO] [stderr]   Downloaded serde_yml v0.0.12
[INFO] [stderr]   Downloaded meval v0.2.0
[INFO] [stderr]   Downloaded nom v1.2.4
[INFO] [stderr]   Downloaded libyml v0.0.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30
[INFO] running `Command { std: "docker" "start" "5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30", 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" "5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30", 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" "5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling anyhow v1.0.89
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking approx-eq v0.1.0 (/opt/rustwide/workdir/approx-eq)
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking nom v1.2.4
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]     Checking anstyle-parse v0.2.5
[INFO] [stderr]     Checking colorchoice v1.0.2
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking colo-rs v0.1.0 (/opt/rustwide/workdir/colo-rs)
[INFO] [stderr]     Checking anstyle-query v1.1.1
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking clap_builder v4.5.20
[INFO] [stderr]     Checking meval v0.2.0
[INFO] [stderr]     Checking libyml v0.0.5
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking perlin_noise v1.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling yare-macro v3.0.0
[INFO] [stderr]     Checking yare v3.0.0
[INFO] [stderr]     Checking clap v4.5.20
[INFO] [stderr]     Checking ray-tracer v0.1.0 (/opt/rustwide/workdir/ray-tracer)
[INFO] [stdout] warning: unused import: `tuples::vectors::Vector`
[INFO] [stdout]    --> ray-tracer/src/shapes/csg.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         tuples::vectors::Vector,
[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 variable: `local_point`
[INFO] [stdout]   --> ray-tracer/src/shapes/csg.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         local_point: crate::tuples::points::Point,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lines_skipped` is never read
[INFO] [stdout]   --> ray-tracer/src/obj_parser.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct OBJParser {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 82 |     lines_skipped: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/intersections.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn prepare_computations(&self, r: Ray, xs: &Intersections) -> Computation {
[INFO] [stdout]    |                                 ^^^^^ the lifetime is elided here     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn prepare_computations(&self, r: Ray, xs: &Intersections) -> Computation<'_> {
[INFO] [stdout]    |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ray-tracer/src/intersections.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn hit(&self) -> Option<&Intersection> {
[INFO] [stdout]     |                ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]     |                |                ||
[INFO] [stdout]     |                |                |the same lifetime is hidden here
[INFO] [stdout]     |                |                the same lifetime is elided here
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn hit(&self) -> Option<&Intersection<'_>> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/octree.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn intersects(&self, r: &Ray) -> Intersections {
[INFO] [stdout]    |                       ^^^^^              ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn intersects(&self, r: &Ray) -> Intersections<'_> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ray-tracer/src/shapes/mod.rs:625:23
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub fn intersects(&self, r: &Ray) -> Intersections {
[INFO] [stdout]     |                       ^^^^^              ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub fn intersects(&self, r: &Ray) -> Intersections<'_> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/shapes/csg.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn intersects(&self, _object: &Object, ray: &Ray) -> Intersections {
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn intersects(&self, _object: &Object, ray: &Ray) -> Intersections<'_> {
[INFO] [stdout]    |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/shapes/csg.rs:74:74
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn filter_intersections<'a>(&'a self, xs: &Intersections<'a>) -> Intersections {
[INFO] [stdout]    |                                      --                          --      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                      |                           |
[INFO] [stdout]    |                                      |                           the lifetime is named here
[INFO] [stdout]    |                                      the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn filter_intersections<'a>(&'a self, xs: &Intersections<'a>) -> Intersections<'a> {
[INFO] [stdout]    |                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/world.rs:63:28
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn intersect_world(&self, ray: Ray) -> Intersections {
[INFO] [stdout]    |                            ^^^^^               ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn intersect_world(&self, ray: Ray) -> Intersections<'_> {
[INFO] [stdout]    |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking virtual-cannon v0.1.0 (/opt/rustwide/workdir/virtual-cannon)
[INFO] [stderr]     Checking reflections-drawing v0.1.0 (/opt/rustwide/workdir/reflections-drawing)
[INFO] [stderr]     Checking world-drawing v0.1.0 (/opt/rustwide/workdir/world-drawing)
[INFO] [stderr]     Checking plane-drawing v0.1.0 (/opt/rustwide/workdir/plane-drawing)
[INFO] [stderr]     Checking patterns-drawing v0.1.0 (/opt/rustwide/workdir/patterns-drawing)
[INFO] [stderr]     Checking sphere-drawing v0.1.0 (/opt/rustwide/workdir/sphere-drawing)
[INFO] [stderr]     Checking cubes-drawing v0.1.0 (/opt/rustwide/workdir/cubes-drawing)
[INFO] [stderr]     Checking cones-drawing v0.1.0 (/opt/rustwide/workdir/cones-drawing)
[INFO] [stderr]     Checking open-cylinders-drawing v0.1.0 (/opt/rustwide/workdir/open-cylinders-drawing)
[INFO] [stderr]     Checking refractions-drawing v0.1.0 (/opt/rustwide/workdir/refractions-drawing)
[INFO] [stderr]     Checking csg-drawing v0.1.0 (/opt/rustwide/workdir/csg-drawing)
[INFO] [stderr]     Checking hexagon-drawing v0.1.0 (/opt/rustwide/workdir/hexagon-drawing)
[INFO] [stderr]     Checking obj-drawing v0.1.0 (/opt/rustwide/workdir/obj-drawing)
[INFO] [stderr]     Checking scene-drawing v0.1.0 (/opt/rustwide/workdir/scene-drawing)
[INFO] [stderr]     Checking yaml-drawing v0.1.0 (/opt/rustwide/workdir/yaml-drawing)
[INFO] [stderr]     Checking analog-clock v0.1.0 (/opt/rustwide/workdir/analog-clock)
[INFO] [stdout] warning: unused variable: `local_point`
[INFO] [stdout]   --> ray-tracer/src/shapes/csg.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         local_point: crate::tuples::points::Point,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/intersections.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn prepare_computations(&self, r: Ray, xs: &Intersections) -> Computation {
[INFO] [stdout]    |                                 ^^^^^ the lifetime is elided here     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn prepare_computations(&self, r: Ray, xs: &Intersections) -> Computation<'_> {
[INFO] [stdout]    |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ray-tracer/src/intersections.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn hit(&self) -> Option<&Intersection> {
[INFO] [stdout]     |                ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]     |                |                ||
[INFO] [stdout]     |                |                |the same lifetime is hidden here
[INFO] [stdout]     |                |                the same lifetime is elided here
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn hit(&self) -> Option<&Intersection<'_>> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/octree.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn intersects(&self, r: &Ray) -> Intersections {
[INFO] [stdout]    |                       ^^^^^              ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn intersects(&self, r: &Ray) -> Intersections<'_> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ray-tracer/src/shapes/mod.rs:625:23
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub fn intersects(&self, r: &Ray) -> Intersections {
[INFO] [stdout]     |                       ^^^^^              ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub fn intersects(&self, r: &Ray) -> Intersections<'_> {
[INFO] [stdout]     |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/shapes/csg.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn intersects(&self, _object: &Object, ray: &Ray) -> Intersections {
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn intersects(&self, _object: &Object, ray: &Ray) -> Intersections<'_> {
[INFO] [stdout]    |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/shapes/csg.rs:74:74
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn filter_intersections<'a>(&'a self, xs: &Intersections<'a>) -> Intersections {
[INFO] [stdout]    |                                      --                          --      ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                      |                           |
[INFO] [stdout]    |                                      |                           the lifetime is named here
[INFO] [stdout]    |                                      the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn filter_intersections<'a>(&'a self, xs: &Intersections<'a>) -> Intersections<'a> {
[INFO] [stdout]    |                                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> ray-tracer/src/world.rs:63:28
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn intersect_world(&self, ray: Ray) -> Intersections {
[INFO] [stdout]    |                            ^^^^^               ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn intersect_world(&self, ray: Ray) -> Intersections<'_> {
[INFO] [stdout]    |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v1.2.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30", kill_on_drop: false }`
[INFO] [stdout] 5dedf9d477daba1f84996de44d2535efb93c3ee167fdbfb04293699cf9bdac30
