[INFO] updating cached repository AlonSh/rust-raytracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/AlonSh/rust-raytracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/AlonSh/rust-raytracer" "work/ex/clippy-test-run/sources/stable/gh/AlonSh/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/AlonSh/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/AlonSh/rust-raytracer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AlonSh/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AlonSh/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 26c4d25c137498e1723fd37024709cae6e4dea64 [INFO] sha for GitHub repo AlonSh/rust-raytracer: 26c4d25c137498e1723fd37024709cae6e4dea64 [INFO] validating manifest of AlonSh/rust-raytracer on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of AlonSh/rust-raytracer on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing AlonSh/rust-raytracer [INFO] finished frobbing AlonSh/rust-raytracer [INFO] frobbed toml for AlonSh/rust-raytracer written to work/ex/clippy-test-run/sources/stable/gh/AlonSh/rust-raytracer/Cargo.toml [INFO] started frobbing AlonSh/rust-raytracer [INFO] finished frobbing AlonSh/rust-raytracer [INFO] frobbed toml for AlonSh/rust-raytracer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AlonSh/rust-raytracer/Cargo.toml [INFO] crate AlonSh/rust-raytracer has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting AlonSh/rust-raytracer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/AlonSh/rust-raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5c754b3975fa09f6132d3cf3d7e8aae4827384c71891868aa287fa5856252a90 [INFO] running `"docker" "start" "-a" "5c754b3975fa09f6132d3cf3d7e8aae4827384c71891868aa287fa5856252a90"` [INFO] [stderr] Checking parking_lot v0.6.2 [INFO] [stderr] Checking console v0.6.1 [INFO] [stderr] Checking indicatif v0.9.0 [INFO] [stderr] Checking ray-tracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `vec3::Vec3` [INFO] [stderr] --> src/vec3.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | use vec3::Vec3; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `vec3::Vec3` [INFO] [stderr] --> src/ray.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | use vec3::Vec3; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ray::Ray` [INFO] [stderr] --> src/ray.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | use ray::Ray; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/hitables/hitable.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/hitables/sphere.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hitables/sphere.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | / return HitRecord { [INFO] [stderr] 53 | | t: time_hit, [INFO] [stderr] 54 | | p: point_of_contact, [INFO] [stderr] 55 | | normal, [INFO] [stderr] 56 | | material: self.material.clone(), [INFO] [stderr] 57 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 52 | HitRecord { [INFO] [stderr] 53 | t: time_hit, [INFO] [stderr] 54 | p: point_of_contact, [INFO] [stderr] 55 | normal, [INFO] [stderr] 56 | material: self.material.clone(), [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/hitables/hitable_list.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `materials::material::Material` [INFO] [stderr] --> src/hitables/hitable_list.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use materials::material::Material; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hitables/hitable_list.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | return closest_hit_record; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `closest_hit_record` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/materials/material.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/materials/material.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | / return Some((Ray { [INFO] [stderr] 21 | | origin: hit_record.p, [INFO] [stderr] 22 | | direction: &target - &hit_record.p, [INFO] [stderr] 23 | | }, albedo.clone())); [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 20 | Some((Ray { [INFO] [stderr] 21 | origin: hit_record.p, [INFO] [stderr] 22 | direction: &target - &hit_record.p, [INFO] [stderr] 23 | }, albedo.clone())) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/hitables/hitable.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/hitables/sphere.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hitables/sphere.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | / return HitRecord { [INFO] [stderr] 53 | | t: time_hit, [INFO] [stderr] 54 | | p: point_of_contact, [INFO] [stderr] 55 | | normal, [INFO] [stderr] 56 | | material: self.material.clone(), [INFO] [stderr] 57 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 52 | HitRecord { [INFO] [stderr] 53 | t: time_hit, [INFO] [stderr] 54 | p: point_of_contact, [INFO] [stderr] 55 | normal, [INFO] [stderr] 56 | material: self.material.clone(), [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/hitables/hitable_list.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `materials::material::Material` [INFO] [stderr] --> src/hitables/hitable_list.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use materials::material::Material; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hitables/hitable_list.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | return closest_hit_record; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `closest_hit_record` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Debug` [INFO] [stderr] --> src/materials/material.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Debug; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/materials/material.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | / return Some((Ray { [INFO] [stderr] 21 | | origin: hit_record.p, [INFO] [stderr] 22 | | direction: &target - &hit_record.p, [INFO] [stderr] 23 | | }, albedo.clone())); [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 20 | Some((Ray { [INFO] [stderr] 21 | origin: hit_record.p, [INFO] [stderr] 22 | direction: &target - &hit_record.p, [INFO] [stderr] 23 | }, albedo.clone())) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vec3.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | self.x = self.x * k; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.x *= k` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vec3.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | self.y = self.y * k; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.y *= k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vec3.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | self.z = self.z * k; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.z *= k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hitables/sphere.rs:56:23 [INFO] [stderr] | [INFO] [stderr] 56 | material: self.material.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.material` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | }, albedo.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*albedo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | }, albedo.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*albedo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:39:68 [INFO] [stderr] | [INFO] [stderr] 39 | Material::dielectric_scatter(&ray_in, &hit_record, refraction_index.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*refraction_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/materials/material.rs:44:35 [INFO] [stderr] | [INFO] [stderr] 44 | fn dielectric_scatter(ray_in: &&Ray, hit_record: &&HitRecord, refraction_index: f64) -> Option<(Ray, Vec3)> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `&Ray` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/materials/material.rs:44:54 [INFO] [stderr] | [INFO] [stderr] 44 | fn dielectric_scatter(ray_in: &&Ray, hit_record: &&HitRecord, refraction_index: f64) -> Option<(Ray, Vec3)> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `&HitRecord` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/materials/material.rs:54:53 [INFO] [stderr] | [INFO] [stderr] 54 | first_ref_index_over_second_ref_index = &1.0 / refraction_index; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `1.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:55:30 [INFO] [stderr] | [INFO] [stderr] 55 | outward_normal = hit_record.normal.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `hit_record.normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:61:62 [INFO] [stderr] | [INFO] [stderr] 61 | let reflection_probability = schlick(cosine, refraction_index.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `refraction_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/materials/material.rs:86:39 [INFO] [stderr] | [INFO] [stderr] 86 | direction - &(hit_point_normal * &(&(direction.dot(hit_point_normal)) * &2.0)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 86 | direction - &(hit_point_normal * &((direction.dot(hit_point_normal)) * 2.0)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vec3.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | self.x = self.x * k; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.x *= k` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vec3.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | self.y = self.y * k; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.y *= k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/vec3.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | self.z = self.z * k; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.z *= k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/hitables/sphere.rs:56:23 [INFO] [stderr] | [INFO] [stderr] 56 | material: self.material.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.material` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | }, albedo.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*albedo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | }, albedo.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*albedo` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:39:68 [INFO] [stderr] | [INFO] [stderr] 39 | Material::dielectric_scatter(&ray_in, &hit_record, refraction_index.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*refraction_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/materials/material.rs:44:35 [INFO] [stderr] | [INFO] [stderr] 44 | fn dielectric_scatter(ray_in: &&Ray, hit_record: &&HitRecord, refraction_index: f64) -> Option<(Ray, Vec3)> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `&Ray` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/materials/material.rs:44:54 [INFO] [stderr] | [INFO] [stderr] 44 | fn dielectric_scatter(ray_in: &&Ray, hit_record: &&HitRecord, refraction_index: f64) -> Option<(Ray, Vec3)> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `&HitRecord` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/materials/material.rs:54:53 [INFO] [stderr] | [INFO] [stderr] 54 | first_ref_index_over_second_ref_index = &1.0 / refraction_index; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `1.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:55:30 [INFO] [stderr] | [INFO] [stderr] 55 | outward_normal = hit_record.normal.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `hit_record.normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/materials/material.rs:61:62 [INFO] [stderr] | [INFO] [stderr] 61 | let reflection_probability = schlick(cosine, refraction_index.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `refraction_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/materials/material.rs:86:39 [INFO] [stderr] | [INFO] [stderr] 86 | direction - &(hit_point_normal * &(&(direction.dot(hit_point_normal)) * &2.0)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 86 | direction - &(hit_point_normal * &((direction.dot(hit_point_normal)) * 2.0)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/main.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let r = camera.get_ray_for_pixel(u, v); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/main.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let r = camera.get_ray_for_pixel(u, v); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] error[E0463]: can't find crate for `alloc_system` [INFO] [stderr] --> src/main.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | extern crate alloc_system; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0463`. [INFO] [stderr] error: Could not compile `ray-tracer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0463]: can't find crate for `alloc_system` [INFO] [stderr] --> src/main.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | extern crate alloc_system; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0463`. [INFO] [stderr] error: Could not compile `ray-tracer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5c754b3975fa09f6132d3cf3d7e8aae4827384c71891868aa287fa5856252a90"` [INFO] running `"docker" "rm" "-f" "5c754b3975fa09f6132d3cf3d7e8aae4827384c71891868aa287fa5856252a90"` [INFO] [stdout] 5c754b3975fa09f6132d3cf3d7e8aae4827384c71891868aa287fa5856252a90