[INFO] updating cached repository https://github.com/BalenCPP/rust_ray_tracer [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4b2ffecac8a81a76d7c7312d0b927e96a0178ab5 [INFO] checking BalenCPP/rust_ray_tracer against master#fdc0011561c6365c596dfd8fa1ef388162bc89c7 for pr-66504-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBalenCPP%2Frust_ray_tracer" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BalenCPP/rust_ray_tracer on toolchain fdc0011561c6365c596dfd8fa1ef388162bc89c7 [INFO] running `"/workspace/cargo-home/bin/cargo" "+fdc0011561c6365c596dfd8fa1ef388162bc89c7" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/BalenCPP/rust_ray_tracer [INFO] finished tweaking git repo https://github.com/BalenCPP/rust_ray_tracer [INFO] tweaked toml for git repo https://github.com/BalenCPP/rust_ray_tracer written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/BalenCPP/rust_ray_tracer already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+fdc0011561c6365c596dfd8fa1ef388162bc89c7" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+fdc0011561c6365c596dfd8fa1ef388162bc89c7" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 022a1a8b10c074a58b96adb169766015e2ff9fa408261e4f3afc69d78b8c3cfc [INFO] running `"docker" "start" "-a" "022a1a8b10c074a58b96adb169766015e2ff9fa408261e4f3afc69d78b8c3cfc"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v0.4.12 [INFO] [stderr] Compiling ryu v0.2.3 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking serde_json v1.0.26 [INFO] [stderr] Compiling quote v0.6.6 [INFO] [stderr] Compiling syn v0.14.8 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Compiling serde_derive v1.0.71 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking ray_tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/sphere.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/plane.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TextureCoords`, `Texture` [INFO] [stderr] --> src/ray_element.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use texture::{Texture, TextureCoords}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sphere::Sphere` [INFO] [stderr] --> src/scene.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use sphere::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/scene.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `directional_light::DirectionalLight` [INFO] [stderr] --> src/scene.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use directional_light::DirectionalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spherical_light::SphericalLight` [INFO] [stderr] --> src/scene.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use spherical_light::SphericalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DynamicImage` [INFO] [stderr] --> src/scene.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | use image::{DynamicImage, GenericImage}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `vector::Vector` [INFO] [stderr] --> src/element_physics.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use vector::Vector; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/element_physics.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TextureCoords` [INFO] [stderr] --> src/element_physics.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use texture::{Texture, TextureCoords}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `element_physics::PhysicalElement` [INFO] [stderr] --> src/texture.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use element_physics::PhysicalElement; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Rgba` [INFO] [stderr] --> src/texture.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use image::{DynamicImage, Rgba, GenericImage, Pixel}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/texture.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Collidable` [INFO] [stderr] --> src/texture.rs:10:31 [INFO] [stderr] | [INFO] [stderr] 10 | use ray_element::{RayElement, Collidable, Intersection}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `SOLID_COLOR` should have an upper camel case name [INFO] [stderr] --> src/texture.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | SOLID_COLOR(Color), [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SolidColor` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sphere::Sphere` [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use sphere::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `directional_light::DirectionalLight` [INFO] [stderr] --> src/main.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use directional_light::DirectionalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spherical_light::SphericalLight` [INFO] [stderr] --> src/main.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use spherical_light::SphericalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Intersection` [INFO] [stderr] --> src/main.rs:28:31 [INFO] [stderr] | [INFO] [stderr] 28 | use ray_element::{RayElement, Intersection}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DynamicImage`, `GenericImage` [INFO] [stderr] --> src/main.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | use image::{DynamicImage, GenericImage}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::*` [INFO] [stderr] --> src/main.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use serde_json::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/main.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/sphere.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/plane.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TextureCoords`, `Texture` [INFO] [stderr] --> src/ray_element.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use texture::{Texture, TextureCoords}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sphere::Sphere` [INFO] [stderr] --> src/scene.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use sphere::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/scene.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `directional_light::DirectionalLight` [INFO] [stderr] --> src/scene.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use directional_light::DirectionalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spherical_light::SphericalLight` [INFO] [stderr] --> src/scene.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use spherical_light::SphericalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DynamicImage` [INFO] [stderr] --> src/scene.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | use image::{DynamicImage, GenericImage}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `vector::Vector` [INFO] [stderr] --> src/element_physics.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use vector::Vector; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/element_physics.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TextureCoords` [INFO] [stderr] --> src/element_physics.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use texture::{Texture, TextureCoords}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `element_physics::PhysicalElement` [INFO] [stderr] --> src/texture.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use element_physics::PhysicalElement; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Rgba` [INFO] [stderr] --> src/texture.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use image::{DynamicImage, Rgba, GenericImage, Pixel}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/texture.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Collidable` [INFO] [stderr] --> src/texture.rs:10:31 [INFO] [stderr] | [INFO] [stderr] 10 | use ray_element::{RayElement, Collidable, Intersection}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `SOLID_COLOR` should have an upper camel case name [INFO] [stderr] --> src/texture.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | SOLID_COLOR(Color), [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `SolidColor` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `color::Color` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sphere::Sphere` [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use sphere::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `directional_light::DirectionalLight` [INFO] [stderr] --> src/main.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use directional_light::DirectionalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spherical_light::SphericalLight` [INFO] [stderr] --> src/main.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use spherical_light::SphericalLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Intersection` [INFO] [stderr] --> src/main.rs:28:31 [INFO] [stderr] | [INFO] [stderr] 28 | use ray_element::{RayElement, Intersection}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DynamicImage`, `GenericImage` [INFO] [stderr] --> src/main.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | use image::{DynamicImage, GenericImage}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::*` [INFO] [stderr] --> src/main.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use serde_json::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/main.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Pixel` [INFO] [stderr] --> src/texture.rs:6:47 [INFO] [stderr] | [INFO] [stderr] 6 | use image::{DynamicImage, Rgba, GenericImage, Pixel}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `camera_to_world` is never read [INFO] [stderr] --> src/scene.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | let mut camera_to_world: Matrix4x4 = Matrix4x4::identity_matrix(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut file = File::open("data.json"); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | let mut translation_matrix = Matrix4x4::translation_matrix(-10.0, 0.0, 10.0); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | let mut rotation_matrix = Matrix4x4::rotation_matrix_y(0.4); [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | let mut viewport_coords = self.screen_to_ndc((x as f64, y as f64)); [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:101:21 [INFO] [stderr] | [INFO] [stderr] 101 | let mut ray_world_origin = camera_to_world * Vector4::new(self.eye.x, self.eye.y, self.eye.z, 1.0); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let mut pixel_world_origin = camera_to_world * Vector4::new(viewport_coords.x, viewport_coords.y, -1.0, 1.0); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:107:21 [INFO] [stderr] | [INFO] [stderr] 107 | let mut intersection: Option = prime_ray.trace(self); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scaling_matrix` [INFO] [stderr] --> src/vector.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | pub fn scaling_matrix(x: f64, y: f64, z: f64) -> Matrix4x4{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotation_matrix_x` [INFO] [stderr] --> src/vector.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn rotation_matrix_x( theta: f64) -> Matrix4x4{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotation_matrix_z` [INFO] [stderr] --> src/vector.rs:178:5 [INFO] [stderr] | [INFO] [stderr] 178 | pub fn rotation_matrix_z( theta: f64) -> Matrix4x4{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `red` [INFO] [stderr] --> src/color.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn red() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `green` [INFO] [stderr] --> src/color.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn green() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `blue` [INFO] [stderr] --> src/color.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn blue() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `black` [INFO] [stderr] --> src/color.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn black() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `white` [INFO] [stderr] --> src/color.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn white() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sky` [INFO] [stderr] --> src/color.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn sky() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `silver` [INFO] [stderr] --> src/color.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn silver() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/sphere.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(origin: Vector, physical_element: PhysicalElement, radius: f64, x_rotation: f64) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/plane.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(origin: Vector, normal: Vector, physical_element: PhysicalElement) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/directional_light.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new( direction: Vector, color: Color, intensity: f64) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/spherical_light.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new( origin: Vector, color: Color, intensity: f64) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_origin` [INFO] [stderr] --> src/ray_element.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn get_origin(&self) -> Vector{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_text` [INFO] [stderr] --> src/ray_element.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn get_text(&self) -> Vector{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/element_physics.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new( texture: Texture, albedo: f64) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `normalize_angle` [INFO] [stderr] --> src/texture.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn normalize_angle(angle: f64) -> f64{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/main.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 53 | Ok(T) => { [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/main.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | Ok(T) => T, [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Pixel` [INFO] [stderr] --> src/texture.rs:6:47 [INFO] [stderr] | [INFO] [stderr] 6 | use image::{DynamicImage, Rgba, GenericImage, Pixel}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `camera_to_world` is never read [INFO] [stderr] --> src/scene.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | let mut camera_to_world: Matrix4x4 = Matrix4x4::identity_matrix(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let mut file = File::open("data.json"); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | let mut translation_matrix = Matrix4x4::translation_matrix(-10.0, 0.0, 10.0); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | let mut rotation_matrix = Matrix4x4::rotation_matrix_y(0.4); [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | let mut viewport_coords = self.screen_to_ndc((x as f64, y as f64)); [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:101:21 [INFO] [stderr] | [INFO] [stderr] 101 | let mut ray_world_origin = camera_to_world * Vector4::new(self.eye.x, self.eye.y, self.eye.z, 1.0); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let mut pixel_world_origin = camera_to_world * Vector4::new(viewport_coords.x, viewport_coords.y, -1.0, 1.0); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scene.rs:107:21 [INFO] [stderr] | [INFO] [stderr] 107 | let mut intersection: Option = prime_ray.trace(self); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scaling_matrix` [INFO] [stderr] --> src/vector.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | pub fn scaling_matrix(x: f64, y: f64, z: f64) -> Matrix4x4{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotation_matrix_x` [INFO] [stderr] --> src/vector.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn rotation_matrix_x( theta: f64) -> Matrix4x4{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotation_matrix_z` [INFO] [stderr] --> src/vector.rs:178:5 [INFO] [stderr] | [INFO] [stderr] 178 | pub fn rotation_matrix_z( theta: f64) -> Matrix4x4{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `red` [INFO] [stderr] --> src/color.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn red() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `green` [INFO] [stderr] --> src/color.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn green() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `blue` [INFO] [stderr] --> src/color.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn blue() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `black` [INFO] [stderr] --> src/color.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn black() -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `white` [INFO] [stderr] --> src/color.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn white() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sky` [INFO] [stderr] --> src/color.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn sky() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `silver` [INFO] [stderr] --> src/color.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn silver() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/sphere.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(origin: Vector, physical_element: PhysicalElement, radius: f64, x_rotation: f64) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/plane.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn new(origin: Vector, normal: Vector, physical_element: PhysicalElement) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/directional_light.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new( direction: Vector, color: Color, intensity: f64) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/spherical_light.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new( origin: Vector, color: Color, intensity: f64) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_origin` [INFO] [stderr] --> src/ray_element.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn get_origin(&self) -> Vector{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_text` [INFO] [stderr] --> src/ray_element.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn get_text(&self) -> Vector{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/element_physics.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new( texture: Texture, albedo: f64) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `normalize_angle` [INFO] [stderr] --> src/texture.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn normalize_angle(angle: f64) -> f64{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/main.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 53 | Ok(T) => { [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name [INFO] [stderr] --> src/main.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | Ok(T) => T, [INFO] [stderr] | ^ help: convert the identifier to snake case: `t` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 32.34s [INFO] running `"docker" "inspect" "022a1a8b10c074a58b96adb169766015e2ff9fa408261e4f3afc69d78b8c3cfc"` [INFO] running `"docker" "rm" "-f" "022a1a8b10c074a58b96adb169766015e2ff9fa408261e4f3afc69d78b8c3cfc"` [INFO] [stdout] 022a1a8b10c074a58b96adb169766015e2ff9fa408261e4f3afc69d78b8c3cfc