[INFO] cloning repository https://github.com/quephird/scintilla_rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/quephird/scintilla_rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquephird%2Fscintilla_rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquephird%2Fscintilla_rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1cdef5beab2e7bc407ce48e2fc308fb118f3fc16
[INFO] testing quephird/scintilla_rs against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquephird%2Fscintilla_rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/quephird/scintilla_rs
[INFO] finished tweaking git repo https://github.com/quephird/scintilla_rs
[INFO] tweaked toml for git repo https://github.com/quephird/scintilla_rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/quephird/scintilla_rs on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/quephird/scintilla_rs 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7c952666a32c4a3c6297b98f6a8c4d11a65889387b58b8c2f910e7d6748b103f
[INFO] running `Command { std: "docker" "start" "-a" "7c952666a32c4a3c6297b98f6a8c4d11a65889387b58b8c2f910e7d6748b103f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c952666a32c4a3c6297b98f6a8c4d11a65889387b58b8c2f910e7d6748b103f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c952666a32c4a3c6297b98f6a8c4d11a65889387b58b8c2f910e7d6748b103f", kill_on_drop: false }`
[INFO] [stdout] 7c952666a32c4a3c6297b98f6a8c4d11a65889387b58b8c2f910e7d6748b103f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 8113c0690dd998dc0085d28a9336595beb48ee52c9ad634f369959beda6162cb
[INFO] running `Command { std: "docker" "start" "-a" "8113c0690dd998dc0085d28a9336595beb48ee52c9ad634f369959beda6162cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling scintilla_rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/cube.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let tmin_numerator = (-1. - origin);
[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] 26 -     let tmin_numerator = (-1. - origin);
[INFO] [stdout] 26 +     let tmin_numerator = -1. - origin ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/cube.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let tmax_numerator = (1. - origin);
[INFO] [stdout]    |                          ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     let tmax_numerator = (1. - origin);
[INFO] [stdout] 27 +     let tmax_numerator = 1. - origin ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/cylinder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::min;
[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: `pattern`
[INFO] [stdout]  --> src/examples.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{color, material, matrix, pattern, transform};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `material` and `pattern`
[INFO] [stdout]  --> src/material.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{color, light, material, pattern, tuple};
[INFO] [stdout]   |                           ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shape::Shape`
[INFO] [stdout]  --> src/material.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::shape::Shape;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::float`
[INFO] [stdout]  --> src/matrix.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::float;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shape::Shape`
[INFO] [stdout]  --> src/pattern.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::shape::Shape;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/ppm.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::float`
[INFO] [stdout]  --> src/sphere.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::float;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pattern::PatternMethods`
[INFO] [stdout]  --> src/material.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pattern::PatternMethods;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmin` is never read
[INFO] [stdout]   --> src/cube.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut tmin: f64 = 0.0;
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmax` is never read
[INFO] [stdout]   --> src/cube.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut tmax: f64 = 0.0;
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `floor_material`
[INFO] [stdout]    --> src/examples.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let floor_material = Material {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_floor_material`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_point`
[INFO] [stdout]   --> src/plane.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn normal_at(&self, local_point: tuple::Tuple) -> tuple::Tuple {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `view` and `field_of_view` are never read
[INFO] [stdout]   --> src/camera.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub view: Matrix4,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub field_of_view: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_infinite` is never used
[INFO] [stdout]   --> src/cone.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Cone {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new_infinite(transform: Matrix4, material: Material) -> Cone {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cube.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Cube {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(transform: Matrix4, material: Material) -> Cube {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_infinite` and `new_truncated` are never used
[INFO] [stdout]   --> src/cylinder.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Cylinder {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 20 |     pub fn new_infinite(transform: Matrix4, material: Material) -> Cylinder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn new_truncated(transform: Matrix4, material: Material, minimum: f64, maximum: f64) -> Cylinder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `purple_sphere` is never used
[INFO] [stdout]   --> src/examples.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn purple_sphere() -> World {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_seven_scene` is never used
[INFO] [stdout]   --> src/examples.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn chapter_seven_scene() -> World {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_nine_scene` is never used
[INFO] [stdout]    --> src/examples.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn chapter_nine_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_ten_scene` is never used
[INFO] [stdout]    --> src/examples.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn chapter_ten_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_eleven_scene` is never used
[INFO] [stdout]    --> src/examples.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub fn chapter_eleven_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_twelve_scene` is never used
[INFO] [stdout]    --> src/examples.rs:477:8
[INFO] [stdout]     |
[INFO] [stdout] 477 | pub fn chapter_twelve_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `t` and `is_inside` are never read
[INFO] [stdout]   --> src/intersection.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Computations<'scene> {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 92 |     pub t: f64,
[INFO] [stdout]    |         ^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub is_inside: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SolidColor` is never constructed
[INFO] [stdout]   --> src/material.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Coloring {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 12 |     SolidColor(Color),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Coloring` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MATERIAL` is never used
[INFO] [stdout]   --> src/material.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const DEFAULT_MATERIAL:Material = Material {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_refractive` are never used
[INFO] [stdout]   --> src/material.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Material {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Material {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn with_refractive(&self, refractive: f64) -> Material {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sphere` and `Cube` are never constructed
[INFO] [stdout]   --> src/object.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum Object {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout]  9 |     Sphere(sphere::Sphere),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     Plane(plane::Plane),
[INFO] [stdout] 11 |     Cube(cube::Cube),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StripedPattern`, `Ring3DPattern`, `Checker3DPattern`, and `TestPattern` are never constructed
[INFO] [stdout]   --> src/pattern.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Pattern {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 10 |     StripedPattern(Striped),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Ring3DPattern(Ring3D),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     Checker3DPattern(Checker3D),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     Checker2DPattern(Checker2D),
[INFO] [stdout] 16 |     TestPattern(Test),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Pattern` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/pattern.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Striped {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Striped` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pattern.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Striped {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 60 |     pub fn new(color: Color, other_color: Color, transform: Matrix4) -> Striped {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/pattern.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Gradient {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Gradient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct Ring {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 111 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ring` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Ring3D {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ring3D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/pattern.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Ring3D {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 145 |     pub fn new(color: Color, other_color: Color, transform: Matrix4) -> Ring3D {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct Checker3D {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 169 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Checker3D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/pattern.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl Checker3D {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 174 |     pub fn new(color: Color, other_color: Color, transform: Matrix4) -> Checker3D {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Checker2D {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 198 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Checker2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Test {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 225 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Test` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/pattern.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 229 | impl Test {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 230 |     pub fn new(transform: Matrix4) -> Test {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/sphere.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Sphere {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(transform: Matrix4, material: Material) -> Sphere {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotation_x` is never used
[INFO] [stdout]   --> src/transform.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn rotation_x(t: f64) -> matrix::Matrix4 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shearing` is never used
[INFO] [stdout]   --> src/transform.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn shearing(xy: f64, xz: f64, yx: f64, yz: f64, zx: f64, zy: f64) -> matrix::Matrix4 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/tuple.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait TupleMethods {
[INFO] [stdout]   |           ------------ associated function in this trait
[INFO] [stdout] 6 |     fn new(x: f64, y: f64, z: f64, w: f64) -> Tuple;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(t: f64, object: &Object) -> Intersection {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(t: f64, object: &Object) -> Intersection<'_> {
[INFO] [stdout]    |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn prepare_computations(&self, ray: &Ray, all_intersections: Vec<Intersection>) -> Computations {
[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] 21 |     pub fn prepare_computations(&self, ray: &Ray, all_intersections: Vec<Intersection>) -> Computations<'_> {
[INFO] [stdout]    |                                                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/object.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn intersect(&self, world_ray: &ray::Ray) -> Vec<Intersection> {
[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] 17 |     pub fn intersect(&self, world_ray: &ray::Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn intersect(&self, ray: &ray::Ray) -> Vec<Intersection> {
[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] 46 |     pub fn intersect(&self, ray: &ray::Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "8113c0690dd998dc0085d28a9336595beb48ee52c9ad634f369959beda6162cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8113c0690dd998dc0085d28a9336595beb48ee52c9ad634f369959beda6162cb", kill_on_drop: false }`
[INFO] [stdout] 8113c0690dd998dc0085d28a9336595beb48ee52c9ad634f369959beda6162cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 6ec96dc737d79d3dc8db478337073afa9c982e29b965d7387b41ea1408265315
[INFO] running `Command { std: "docker" "start" "-a" "6ec96dc737d79d3dc8db478337073afa9c982e29b965d7387b41ea1408265315", kill_on_drop: false }`
[INFO] [stderr]    Compiling scintilla_rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/cube.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let tmin_numerator = (-1. - origin);
[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] 26 -     let tmin_numerator = (-1. - origin);
[INFO] [stdout] 26 +     let tmin_numerator = -1. - origin ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/cube.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let tmax_numerator = (1. - origin);
[INFO] [stdout]    |                          ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     let tmax_numerator = (1. - origin);
[INFO] [stdout] 27 +     let tmax_numerator = 1. - origin ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/cylinder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::min;
[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: `pattern`
[INFO] [stdout]  --> src/examples.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{color, material, matrix, pattern, transform};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intersection`
[INFO] [stdout]    --> src/intersection.rs:115:24
[INFO] [stdout]     |
[INFO] [stdout] 115 |     use crate::{color, intersection, light, material, matrix, transform, tuple};
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern`
[INFO] [stdout]  --> src/material.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{color, light, material, pattern, tuple};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shape::Shape`
[INFO] [stdout]  --> src/material.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::shape::Shape;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shape::Shape`
[INFO] [stdout]  --> src/pattern.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::shape::Shape;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pattern::PatternMethods`
[INFO] [stdout]  --> src/material.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pattern::PatternMethods;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmin` is never read
[INFO] [stdout]   --> src/cube.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut tmin: f64 = 0.0;
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmax` is never read
[INFO] [stdout]   --> src/cube.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut tmax: f64 = 0.0;
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `floor_material`
[INFO] [stdout]    --> src/examples.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let floor_material = Material {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_floor_material`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_point`
[INFO] [stdout]   --> src/plane.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn normal_at(&self, local_point: tuple::Tuple) -> tuple::Tuple {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `view` and `field_of_view` are never read
[INFO] [stdout]   --> src/camera.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Camera {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub view: Matrix4,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub field_of_view: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `purple_sphere` is never used
[INFO] [stdout]   --> src/examples.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn purple_sphere() -> World {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_seven_scene` is never used
[INFO] [stdout]   --> src/examples.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn chapter_seven_scene() -> World {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_nine_scene` is never used
[INFO] [stdout]    --> src/examples.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn chapter_nine_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_ten_scene` is never used
[INFO] [stdout]    --> src/examples.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn chapter_ten_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_eleven_scene` is never used
[INFO] [stdout]    --> src/examples.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub fn chapter_eleven_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chapter_twelve_scene` is never used
[INFO] [stdout]    --> src/examples.rs:477:8
[INFO] [stdout]     |
[INFO] [stdout] 477 | pub fn chapter_twelve_scene() -> World {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cube` is never constructed
[INFO] [stdout]   --> src/object.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum Object {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Cube(cube::Cube),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ring3DPattern` and `Checker3DPattern` are never constructed
[INFO] [stdout]   --> src/pattern.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Pattern {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Ring3DPattern(Ring3D),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     Checker3DPattern(Checker3D),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Pattern` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/pattern.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Striped {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Striped` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/pattern.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Gradient {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Gradient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct Ring {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 111 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ring` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Ring3D {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ring3D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/pattern.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Ring3D {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 145 |     pub fn new(color: Color, other_color: Color, transform: Matrix4) -> Ring3D {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct Checker3D {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 169 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Checker3D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Checker2D {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 198 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Checker2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]    --> src/pattern.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Test {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 225 |     transform: Matrix4,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Test` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_intersect_coplanar_ray` is never used
[INFO] [stdout]   --> src/plane.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn test_intersect_coplanar_ray() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/tuple.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait TupleMethods {
[INFO] [stdout]   |           ------------ associated function in this trait
[INFO] [stdout] 6 |     fn new(x: f64, y: f64, z: f64, w: f64) -> Tuple;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(t: f64, object: &Object) -> Intersection {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(t: f64, object: &Object) -> Intersection<'_> {
[INFO] [stdout]    |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn prepare_computations(&self, ray: &Ray, all_intersections: Vec<Intersection>) -> Computations {
[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] 21 |     pub fn prepare_computations(&self, ray: &Ray, all_intersections: Vec<Intersection>) -> Computations<'_> {
[INFO] [stdout]    |                                                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/object.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn intersect(&self, world_ray: &ray::Ray) -> Vec<Intersection> {
[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] 17 |     pub fn intersect(&self, world_ray: &ray::Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn intersect(&self, ray: &ray::Ray) -> Vec<Intersection> {
[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] 46 |     pub fn intersect(&self, ray: &ray::Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.39s
[INFO] running `Command { std: "docker" "inspect" "6ec96dc737d79d3dc8db478337073afa9c982e29b965d7387b41ea1408265315", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ec96dc737d79d3dc8db478337073afa9c982e29b965d7387b41ea1408265315", kill_on_drop: false }`
[INFO] [stdout] 6ec96dc737d79d3dc8db478337073afa9c982e29b965d7387b41ea1408265315
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 58278c8f79b435f2b75ef703452b5f601b918d33a11b5efa8e2b1d8ed30f9200
[INFO] running `Command { std: "docker" "start" "-a" "58278c8f79b435f2b75ef703452b5f601b918d33a11b5efa8e2b1d8ed30f9200", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/cube.rs:26:26
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let tmin_numerator = (-1. - origin);
[INFO] [stderr]    |                          ^            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 26 -     let tmin_numerator = (-1. - origin);
[INFO] [stderr] 26 +     let tmin_numerator = -1. - origin ;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/cube.rs:27:26
[INFO] [stderr]    |
[INFO] [stderr] 27 |     let tmax_numerator = (1. - origin);
[INFO] [stderr]    |                          ^           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 27 -     let tmax_numerator = (1. - origin);
[INFO] [stderr] 27 +     let tmax_numerator = 1. - origin ;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::min`
[INFO] [stderr]  --> src/cylinder.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cmp::min;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `pattern`
[INFO] [stderr]  --> src/examples.rs:6:38
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::{color, material, matrix, pattern, transform};
[INFO] [stderr]   |                                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `intersection`
[INFO] [stderr]    --> src/intersection.rs:115:24
[INFO] [stderr]     |
[INFO] [stderr] 115 |     use crate::{color, intersection, light, material, matrix, transform, tuple};
[INFO] [stderr]     |                        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `pattern`
[INFO] [stderr]  --> src/material.rs:1:37
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{color, light, material, pattern, tuple};
[INFO] [stderr]   |                                     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::shape::Shape`
[INFO] [stderr]  --> src/material.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::shape::Shape;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::shape::Shape`
[INFO] [stderr]  --> src/pattern.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::shape::Shape;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::pattern::PatternMethods`
[INFO] [stderr]  --> src/material.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::pattern::PatternMethods;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `tmin` is never read
[INFO] [stderr]   --> src/cube.rs:29:25
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut tmin: f64 = 0.0;
[INFO] [stderr]    |                         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `tmax` is never read
[INFO] [stderr]   --> src/cube.rs:30:25
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let mut tmax: f64 = 0.0;
[INFO] [stderr]    |                         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `floor_material`
[INFO] [stderr]    --> src/examples.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let floor_material = Material {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_floor_material`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `local_point`
[INFO] [stderr]   --> src/plane.rs:34:25
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn normal_at(&self, local_point: tuple::Tuple) -> tuple::Tuple {
[INFO] [stderr]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_point`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `view` and `field_of_view` are never read
[INFO] [stderr]   --> src/camera.rs:9:9
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct Camera {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr]  9 |     pub view: Matrix4,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub field_of_view: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `purple_sphere` is never used
[INFO] [stderr]   --> src/examples.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn purple_sphere() -> World {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chapter_seven_scene` is never used
[INFO] [stderr]   --> src/examples.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub fn chapter_seven_scene() -> World {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chapter_nine_scene` is never used
[INFO] [stderr]    --> src/examples.rs:152:8
[INFO] [stderr]     |
[INFO] [stderr] 152 | pub fn chapter_nine_scene() -> World {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chapter_ten_scene` is never used
[INFO] [stderr]    --> src/examples.rs:234:8
[INFO] [stderr]     |
[INFO] [stderr] 234 | pub fn chapter_ten_scene() -> World {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chapter_eleven_scene` is never used
[INFO] [stderr]    --> src/examples.rs:350:8
[INFO] [stderr]     |
[INFO] [stderr] 350 | pub fn chapter_eleven_scene() -> World {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `chapter_twelve_scene` is never used
[INFO] [stderr]    --> src/examples.rs:477:8
[INFO] [stderr]     |
[INFO] [stderr] 477 | pub fn chapter_twelve_scene() -> World {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Cube` is never constructed
[INFO] [stderr]   --> src/object.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub enum Object {
[INFO] [stderr]    |          ------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 11 |     Cube(cube::Cube),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Ring3DPattern` and `Checker3DPattern` are never constructed
[INFO] [stderr]   --> src/pattern.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub enum Pattern {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 13 |     Ring3DPattern(Ring3D),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 14 |     Checker3DPattern(Checker3D),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Pattern` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]   --> src/pattern.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct Striped {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 51 |     transform: Matrix4,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Striped` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]   --> src/pattern.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub struct Gradient {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 84 |     transform: Matrix4,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Gradient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]    --> src/pattern.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub struct Ring {
[INFO] [stderr]     |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 111 |     transform: Matrix4,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Ring` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]    --> src/pattern.rs:140:5
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct Ring3D {
[INFO] [stderr]     |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 140 |     transform: Matrix4,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Ring3D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/pattern.rs:145:12
[INFO] [stderr]     |
[INFO] [stderr] 144 | impl Ring3D {
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 145 |     pub fn new(color: Color, other_color: Color, transform: Matrix4) -> Ring3D {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]    --> src/pattern.rs:169:5
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub struct Checker3D {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 169 |     transform: Matrix4,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Checker3D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]    --> src/pattern.rs:198:5
[INFO] [stderr]     |
[INFO] [stderr] 195 | pub struct Checker2D {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 198 |     transform: Matrix4,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Checker2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]    --> src/pattern.rs:225:5
[INFO] [stderr]     |
[INFO] [stderr] 224 | pub struct Test {
[INFO] [stderr]     |            ---- field in this struct
[INFO] [stderr] 225 |     transform: Matrix4,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Test` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_intersect_coplanar_ray` is never used
[INFO] [stderr]   --> src/plane.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn test_intersect_coplanar_ray() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/tuple.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub trait TupleMethods {
[INFO] [stderr]   |           ------------ associated function in this trait
[INFO] [stderr] 6 |     fn new(x: f64, y: f64, z: f64, w: f64) -> Tuple;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/intersection.rs:14:32
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new(t: f64, object: &Object) -> Intersection {
[INFO] [stderr]    |                                ^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new(t: f64, object: &Object) -> Intersection<'_> {
[INFO] [stderr]    |                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/intersection.rs:21:33
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn prepare_computations(&self, ray: &Ray, all_intersections: Vec<Intersection>) -> Computations {
[INFO] [stderr]    |                                 ^^^^^ the lifetime is elided here                          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn prepare_computations(&self, ray: &Ray, all_intersections: Vec<Intersection>) -> Computations<'_> {
[INFO] [stderr]    |                                                                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/object.rs:17:22
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn intersect(&self, world_ray: &ray::Ray) -> Vec<Intersection> {
[INFO] [stderr]    |                      ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn intersect(&self, world_ray: &ray::Ray) -> Vec<Intersection<'_>> {
[INFO] [stderr]    |                                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/world.rs:46:22
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn intersect(&self, ray: &ray::Ray) -> Vec<Intersection> {
[INFO] [stderr]    |                      ^^^^^                         ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn intersect(&self, ray: &ray::Ray) -> Vec<Intersection<'_>> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `scintilla_rs` (bin "scintilla_rs" test) generated 36 warnings (run `cargo fix --bin "scintilla_rs" -p scintilla_rs --tests` to apply 14 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/scintilla_rs/0df17a30f48add5f/deps/scintilla_rs-0df17a30f48add5f)
[INFO] [stdout] 
[INFO] [stdout] running 129 tests
[INFO] [stdout] test canvas::tests::test_new ... ok
[INFO] [stdout] test canvas::tests::test_set_pixel ... ok
[INFO] [stdout] test color::tests::test_add ... ok
[INFO] [stdout] test color::tests::test_multiply ... ok
[INFO] [stdout] test cone::tests::test_intersect_infinite_hits_once ... ok
[INFO] [stdout] test color::tests::test_subtract ... ok
[INFO] [stdout] test camera::tests::test_render ... ok
[INFO] [stdout] test camera::tests::test_pixel_size_for_horizontal_canvas ... ok
[INFO] [stdout] test camera::tests::test_pixel_size_for_vertical_canvas ... ok
[INFO] [stdout] test cone::tests::test_intersect_capped ... ok
[INFO] [stdout] test cone::tests::test_intersect_infinite_hits_twice ... ok
[INFO] [stdout] test camera::tests::test_ray_at_corner_of_canvas ... ok
[INFO] [stdout] test color::tests::test_hadamard ... ok
[INFO] [stdout] test camera::tests::test_ray_at_center_of_canvas ... ok
[INFO] [stdout] test cone::tests::test_normal_at_capped ... ok
[INFO] [stdout] test cube::tests::test_intersect_inside ... ok
[INFO] [stdout] test cube::tests::test_intersect_outside ... ok
[INFO] [stdout] test cube::tests::test_normal_at ... ok
[INFO] [stdout] test cylinder::tests::test_intersect_hits_capped ... ok
[INFO] [stdout] test cylinder::tests::test_intersect_hits_infinite ... ok
[INFO] [stdout] test cylinder::tests::test_intersect_miss_infinite ... ok
[INFO] [stdout] test cylinder::tests::test_intersect_hits_truncated ... ok
[INFO] [stdout] test cylinder::tests::test_normal_at_capped ... ok
[INFO] [stdout] test cylinder::tests::test_normal_at_infinite ... ok
[INFO] [stdout] test intersection::tests::test_hit_all_positive_t ... ok
[INFO] [stdout] test float::tests::test_is_equal ... ok
[INFO] [stdout] test intersection::tests::test_hit_all_negative_t ... ok
[INFO] [stdout] test intersection::tests::test_prepare_computations_inside ... ok
[INFO] [stdout] test intersection::tests::test_prepare_computations_n1_n2 ... ok
[INFO] [stdout] test intersection::tests::test_prepare_computations_outside ... ok
[INFO] [stdout] test material::tests::test_lighting_eye_between_light_and_surface ... ok
[INFO] [stdout] test material::tests::test_lighting_light_offset_45_degrees ... ok
[INFO] [stdout] test matrix::tests::test_cofactor_3x3 ... ok
[INFO] [stdout] test matrix::tests::test_determinant_3x3 ... ok
[INFO] [stdout] test intersection::tests::test_hit_mixture ... ok
[INFO] [stdout] test matrix::tests::test_is_equal ... ok
[INFO] [stdout] test matrix::tests::test_inverse_4x4 ... ok
[INFO] [stdout] test matrix::tests::test_minor_3x3 ... ok
[INFO] [stdout] test intersection::tests::test_hit_unsorted_intersection ... ok
[INFO] [stdout] test material::tests::test_lighting_with_pattern ... ok
[INFO] [stdout] test matrix::tests::test_multiply_by_tuple ... ok
[INFO] [stdout] test material::tests::test_lighting_light_behind_surface ... ok
[INFO] [stdout] test matrix::tests::test_determinant_4x4 ... ok
[INFO] [stdout] test matrix::tests::test_determinant_2x2 ... ok
[INFO] [stdout] test matrix::tests::test_multiply_matrix ... ok
[INFO] [stdout] test matrix::tests::test_submatrix_3x3 ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_striped_is_constant_for_y ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_striped_is_constant_for_z ... ok
[INFO] [stdout] test material::tests::test_lighting_eye_in_reflection_path ... ok
[INFO] [stdout] test matrix::tests::test_submatrix_4x4 ... ok
[INFO] [stdout] test matrix::tests::test_transpose ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_checker3d_repeats_for_x ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_checker3d_repeats_for_z ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_checker3d_repeats_for_y ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_gradient ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_ring ... ok
[INFO] [stdout] test pattern::tests::test_local_color_at_striped_alternates_for_x ... ok
[INFO] [stdout] test material::tests::test_lighting_eye_offset_45_degrees ... ok
[INFO] [stdout] test pattern::tests::test_world_color_at_with_object_and_pattern_transformation ... ok
[INFO] [stdout] test pattern::tests::test_world_color_at_with_object_transformation ... ok
[INFO] [stdout] test plane::tests::test_intersect_above ... ok
[INFO] [stdout] test plane::tests::test_intersect_parallel_ray ... ok
[INFO] [stdout] test pattern::tests::test_world_color_at_with_pattern_transformation ... ok
[INFO] [stdout] test sphere::tests::test_intersect_scaled ... ok
[INFO] [stdout] test plane::tests::test_normal_at ... ok
[INFO] [stdout] test sphere::tests::test_intersect_tangent ... ok
[INFO] [stdout] test sphere::tests::test_intersect_translated ... ok
[INFO] [stdout] test ppm::tests::test_save_splitting_long_lines ... FAILED
[INFO] [stdout] test ppm::tests::test_save_with_tiny_canvas ... FAILED
[INFO] [stdout] test ray::tests::test_position_at ... ok
[INFO] [stdout] test ray::tests::test_transform_scaling ... ok
[INFO] [stdout] test ray::tests::test_transform_translation ... ok
[INFO] [stdout] test sphere::tests::test_intersect_behind ... ok
[INFO] [stdout] test plane::tests::test_intersect_below ... ok
[INFO] [stdout] test sphere::tests::test_intersect_inside ... ok
[INFO] [stdout] test sphere::tests::test_normal_at_for_transformed_sphere ... ok
[INFO] [stdout] test sphere::tests::test_normal_at_point_on_x_axis ... ok
[INFO] [stdout] test sphere::tests::test_normal_at_point_on_y_axis ... ok
[INFO] [stdout] test sphere::tests::test_normal_at_nonaxial_point ... ok
[INFO] [stdout] test sphere::tests::test_normal_at_for_translated_sphere ... ok
[INFO] [stdout] test transform::tests::test_rotation_x ... ok
[INFO] [stdout] test transform::tests::test_rotation_z ... ok
[INFO] [stdout] test transform::tests::test_shearing ... ok
[INFO] [stdout] test transform::tests::test_scaling ... ok
[INFO] [stdout] test transform::tests::test_chained_transformations ... ok
[INFO] [stdout] test transform::tests::test_view_default ... ok
[INFO] [stdout] test transform::tests::test_view_moves_world ... ok
[INFO] [stdout] test transform::tests::test_rotation_y ... ok
[INFO] [stdout] test tuple::tests::test_dot ... ok
[INFO] [stdout] test transform::tests::test_view_looking_in_positive_z_direction ... ok
[INFO] [stdout] test tuple::tests::test_negate ... ok
[INFO] [stdout] test tuple::tests::test_normalize ... ok
[INFO] [stdout] test tuple::tests::test_cross ... ok
[INFO] [stdout] test tuple::tests::test_reflect_45_degrees ... ok
[INFO] [stdout] test tuple::tests::test_is_equal ... ok
[INFO] [stdout] test tuple::tests::test_add ... ok
[INFO] [stdout] test tuple::tests::test_reflect_slanted_surface ... ok
[INFO] [stdout] test tuple::tests::test_subtract ... ok
[INFO] [stdout] test world::tests::test_color_at_ray_hits ... ok
[INFO] [stdout] test world::tests::test_color_at_ray_inside_outer_sphere_and_outside_inner_sphere ... ok
[INFO] [stdout] test tuple::tests::test_magnitude ... ok
[INFO] [stdout] test world::tests::test_color_at_ray_misses ... ok
[INFO] [stdout] test world::tests::test_is_shadowed_light_between_point_and_object ... ok
[INFO] [stdout] test world::tests::test_color_at_terminates_safely ... ok
[INFO] [stdout] test tuple::tests::test_multiply ... ok
[INFO] [stdout] test world::tests::test_is_shadowed_object_between_light_and_point ... ok
[INFO] [stdout] test world::tests::test_is_shadowed_point_between_light_and_object ... ok
[INFO] [stdout] test world::tests::test_is_shadowed_point_is_not_collinear_with_light ... ok
[INFO] [stdout] test world::tests::test_refracted_color_for_refracted_ray ... ok
[INFO] [stdout] test world::tests::test_prepare_computations_reflective_material ... ok
[INFO] [stdout] test world::tests::test_prepare_computations_nonrelective_material ... ok
[INFO] [stdout] test world::tests::test_refracted_color_opaque_surface ... ok
[INFO] [stdout] test world::tests::test_refracted_color_at_maximum_recursive_depth ... ok
[INFO] [stdout] test world::tests::test_schlick_reflectance_perpendicular_ray ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin scintilla_rs`
[INFO] [stdout] test world::tests::test_shade_hit_inside ... ok
[INFO] [stdout] test world::tests::test_shade_hit_for_transparent_material ... ok
[INFO] [stdout] test world::tests::test_shade_hit_reflective_material ... ok
[INFO] [stdout] test world::tests::test_shade_hit_outside ... ok
[INFO] [stdout] test world::tests::test_schlick_reflectance_small_angle ... ok
[INFO] [stdout] test transform::tests::test_translation ... ok
[INFO] [stdout] test transform::tests::test_view_arbitrary ... ok
[INFO] [stdout] test world::tests::test_shade_hit_with_schlick_reflectance ... ok
[INFO] [stdout] test world::tests::test_intersect_world ... ok
[INFO] [stdout] test world::tests::test_refracted_color_total_internal_reflection ... ok
[INFO] [stdout] test world::tests::test_schlick_reflectance_total_internal_reflection ... ok
[INFO] [stdout] test sphere::tests::test_intersect_miss ... ok
[INFO] [stdout] test camera::tests::test_ray_at_for_transformed_camera ... ok
[INFO] [stdout] test sphere::tests::test_normal_at_point_on_z_axis ... ok
[INFO] [stdout] test tuple::tests::test_divide ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ppm::tests::test_save_splitting_long_lines stdout ----
[INFO] [stdout] Error: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout] ---- ppm::tests::test_save_with_tiny_canvas stdout ----
[INFO] [stdout] Error: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ppm::tests::test_save_splitting_long_lines
[INFO] [stdout]     ppm::tests::test_save_with_tiny_canvas
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 127 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "58278c8f79b435f2b75ef703452b5f601b918d33a11b5efa8e2b1d8ed30f9200", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58278c8f79b435f2b75ef703452b5f601b918d33a11b5efa8e2b1d8ed30f9200", kill_on_drop: false }`
[INFO] [stdout] 58278c8f79b435f2b75ef703452b5f601b918d33a11b5efa8e2b1d8ed30f9200
