[INFO] updating cached repository CloneRob/pbrust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/CloneRob/pbrust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/CloneRob/pbrust" "work/ex/clippy-test-run/sources/stable/gh/CloneRob/pbrust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/CloneRob/pbrust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/CloneRob/pbrust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CloneRob/pbrust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CloneRob/pbrust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 07bec679cdfbb8132f763286dd9d1400275f55a1 [INFO] sha for GitHub repo CloneRob/pbrust: 07bec679cdfbb8132f763286dd9d1400275f55a1 [INFO] validating manifest of CloneRob/pbrust 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 CloneRob/pbrust 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 CloneRob/pbrust [INFO] finished frobbing CloneRob/pbrust [INFO] frobbed toml for CloneRob/pbrust written to work/ex/clippy-test-run/sources/stable/gh/CloneRob/pbrust/Cargo.toml [INFO] started frobbing CloneRob/pbrust [INFO] finished frobbing CloneRob/pbrust [INFO] frobbed toml for CloneRob/pbrust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CloneRob/pbrust/Cargo.toml [INFO] crate CloneRob/pbrust 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 CloneRob/pbrust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/CloneRob/pbrust:/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] 96040daab428fa3e9b5da61b5c8e6387210d373a67d3ac5354cde36cadb05158 [INFO] running `"docker" "start" "-a" "96040daab428fa3e9b5da61b5c8e6387210d373a67d3ac5354cde36cadb05158"` [INFO] [stderr] Checking pbrt_rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/geometry/bounds.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | let z = p.z >= b.p_min.z && p.z <= b.p_max.z; [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/geometry/bounds.rs:301:13 [INFO] [stderr] | [INFO] [stderr] 301 | let z = p.z >= b.p_min.z && p.z < b.p_max.z; [INFO] [stderr] | ^ [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/ray.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/normal.rs:129:27 [INFO] [stderr] | [INFO] [stderr] 129 | let v = Normal2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/normal.rs:129:33 [INFO] [stderr] | [INFO] [stderr] 129 | let v = Normal2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:118:27 [INFO] [stderr] | [INFO] [stderr] 118 | let v = Vector2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:118:33 [INFO] [stderr] | [INFO] [stderr] 118 | let v = Vector2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:184:27 [INFO] [stderr] | [INFO] [stderr] 184 | let v = Vector3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:184:33 [INFO] [stderr] | [INFO] [stderr] 184 | let v = Vector3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:184:39 [INFO] [stderr] | [INFO] [stderr] 184 | let v = Vector3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/point.rs:137:26 [INFO] [stderr] | [INFO] [stderr] 137 | let v = Point3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/point.rs:137:32 [INFO] [stderr] | [INFO] [stderr] 137 | let v = Point3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/point.rs:137:38 [INFO] [stderr] | [INFO] [stderr] 137 | let v = Point3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/geometry/bounds.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | let z = p.z >= b.p_min.z && p.z <= b.p_max.z; [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/geometry/bounds.rs:301:13 [INFO] [stderr] | [INFO] [stderr] 301 | let z = p.z >= b.p_min.z && p.z < b.p_max.z; [INFO] [stderr] | ^ [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/ray.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/normal.rs:129:27 [INFO] [stderr] | [INFO] [stderr] 129 | let v = Normal2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/normal.rs:129:33 [INFO] [stderr] | [INFO] [stderr] 129 | let v = Normal2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:118:27 [INFO] [stderr] | [INFO] [stderr] 118 | let v = Vector2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:118:33 [INFO] [stderr] | [INFO] [stderr] 118 | let v = Vector2 { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:184:27 [INFO] [stderr] | [INFO] [stderr] 184 | let v = Vector3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:184:33 [INFO] [stderr] | [INFO] [stderr] 184 | let v = Vector3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/vector.rs:184:39 [INFO] [stderr] | [INFO] [stderr] 184 | let v = Vector3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/point.rs:137:26 [INFO] [stderr] | [INFO] [stderr] 137 | let v = Point3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/point.rs:137:32 [INFO] [stderr] | [INFO] [stderr] 137 | let v = Point3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/point.rs:137:38 [INFO] [stderr] | [INFO] [stderr] 137 | let v = Point3 { x: x, y: y, z: z }; [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::default::Default` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::default::Default; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/util/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddAssign`, `DivAssign`, `IndexMut`, `Index`, `Neg` [INFO] [stderr] --> src/geometry/mod.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::{Add, AddAssign, Div, DivAssign, Index, IndexMut, Mul, Neg, Sub}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Iterator` [INFO] [stderr] --> src/geometry/bounds.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::iter::Iterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `max`, `min` [INFO] [stderr] --> src/geometry/bounds.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Add` [INFO] [stderr] --> src/geometry/bounds.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PartialEq`, `PartialOrd` [INFO] [stderr] --> src/geometry/bounds.rs:18:16 [INFO] [stderr] | [INFO] [stderr] 18 | use std::cmp::{PartialEq, PartialOrd}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddAssign`, `Add`, `Div`, `IndexMut`, `Index`, `Mul`, `Neg`, `Sub` [INFO] [stderr] --> src/geometry/ray.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | use std::ops::{Add, AddAssign, Div, Index, IndexMut, Mul, Neg, Sub}; [INFO] [stderr] | ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^ ^^^ ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `max`, `min` [INFO] [stderr] --> src/geometry/ray.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::Scalar` [INFO] [stderr] --> src/geometry/ray.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use super::Scalar; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Metric`, `VectorSpace` [INFO] [stderr] --> src/geometry/ray.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/geometry/transform.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::marker::Sized` [INFO] [stderr] --> src/geometry/transform.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::marker::Sized; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddAssign`, `Add`, `DivAssign`, `Div`, `IndexMut`, `Index`, `Neg`, `Sub` [INFO] [stderr] --> src/geometry/transform.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Add, AddAssign, Div, DivAssign, Index, IndexMut, Mul, Neg, Sub}; [INFO] [stderr] | ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::From` [INFO] [stderr] --> src/geometry/transform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Normal2` [INFO] [stderr] --> src/geometry/transform.rs:9:21 [INFO] [stderr] | [INFO] [stderr] 9 | use super::normal::{Normal2, Normal3}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Metric`, `VectorSpace` [INFO] [stderr] --> src/geometry/transform.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use super::{radians, Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vector2` [INFO] [stderr] --> src/geometry/transform.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | use super::vector::{Vector2, Vector3}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Point2` [INFO] [stderr] --> src/geometry/transform.rs:12:20 [INFO] [stderr] | [INFO] [stderr] 12 | use super::point::{Point2, Point3}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/geometry/transform.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | return Ok(Matrix4 { mat: minv }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Matrix4 { mat: minv })` [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] [INFO] [stderr] warning: unused import: `std::marker::Sized` [INFO] [stderr] --> src/geometry/normal.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::marker::Sized; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::marker::Sized` [INFO] [stderr] --> src/geometry/vector.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::marker::Sized; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `max`, `min` [INFO] [stderr] --> src/geometry/point.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `VectorSpace` [INFO] [stderr] --> src/geometry/point.rs:6:29 [INFO] [stderr] | [INFO] [stderr] 6 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::Scalar` [INFO] [stderr] --> src/geometry/interaction.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use super::Scalar; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Metric`, `VectorSpace`, `Vector` [INFO] [stderr] --> src/geometry/interaction.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Medium` [INFO] [stderr] --> src/geometry/interaction.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | use super::{Medium, MediumInterface}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/geometry/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/geometry/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num` [INFO] [stderr] --> src/geometry/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use num; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Integer` [INFO] [stderr] --> src/geometry/mod.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | use num::{Float, Integer}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/geometry/mod.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return (S::one() - t) * v1 + t * v2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(S::one() - t) * v1 + t * v2` [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 imports: `Metric`, `Scalar`, `VectorSpace` [INFO] [stderr] --> src/main.rs:11:24 [INFO] [stderr] | [INFO] [stderr] 11 | use geometry::{Vector, VectorSpace, Metric, Point, Scalar}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `geometry::vector::Vector2` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use geometry::vector::Vector2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::default::Default` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::default::Default; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddAssign`, `DivAssign`, `IndexMut`, `Index`, `Neg` [INFO] [stderr] --> src/geometry/mod.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::{Add, AddAssign, Div, DivAssign, Index, IndexMut, Mul, Neg, Sub}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Iterator` [INFO] [stderr] --> src/geometry/bounds.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::iter::Iterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `max`, `min` [INFO] [stderr] --> src/geometry/bounds.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Add` [INFO] [stderr] --> src/geometry/bounds.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PartialEq`, `PartialOrd` [INFO] [stderr] --> src/geometry/bounds.rs:18:16 [INFO] [stderr] | [INFO] [stderr] 18 | use std::cmp::{PartialEq, PartialOrd}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddAssign`, `Add`, `Div`, `IndexMut`, `Index`, `Mul`, `Neg`, `Sub` [INFO] [stderr] --> src/geometry/ray.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | use std::ops::{Add, AddAssign, Div, Index, IndexMut, Mul, Neg, Sub}; [INFO] [stderr] | ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^ ^^^ ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `max`, `min` [INFO] [stderr] --> src/geometry/ray.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::Scalar` [INFO] [stderr] --> src/geometry/ray.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use super::Scalar; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Metric`, `VectorSpace` [INFO] [stderr] --> src/geometry/ray.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/geometry/transform.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::marker::Sized` [INFO] [stderr] --> src/geometry/transform.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::marker::Sized; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AddAssign`, `Add`, `DivAssign`, `Div`, `IndexMut`, `Index`, `Neg`, `Sub` [INFO] [stderr] --> src/geometry/transform.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Add, AddAssign, Div, DivAssign, Index, IndexMut, Mul, Neg, Sub}; [INFO] [stderr] | ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::From` [INFO] [stderr] --> src/geometry/transform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Normal2` [INFO] [stderr] --> src/geometry/transform.rs:9:21 [INFO] [stderr] | [INFO] [stderr] 9 | use super::normal::{Normal2, Normal3}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Metric`, `VectorSpace` [INFO] [stderr] --> src/geometry/transform.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use super::{radians, Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vector2` [INFO] [stderr] --> src/geometry/transform.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | use super::vector::{Vector2, Vector3}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Point2` [INFO] [stderr] --> src/geometry/transform.rs:12:20 [INFO] [stderr] | [INFO] [stderr] 12 | use super::point::{Point2, Point3}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/geometry/transform.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | return Ok(Matrix4 { mat: minv }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Matrix4 { mat: minv })` [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] [INFO] [stderr] warning: unused import: `std::marker::Sized` [INFO] [stderr] --> src/geometry/normal.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::marker::Sized; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::marker::Sized` [INFO] [stderr] --> src/geometry/vector.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::marker::Sized; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `max`, `min` [INFO] [stderr] --> src/geometry/point.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `VectorSpace` [INFO] [stderr] --> src/geometry/point.rs:6:29 [INFO] [stderr] | [INFO] [stderr] 6 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::Scalar` [INFO] [stderr] --> src/geometry/interaction.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use super::Scalar; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Metric`, `VectorSpace`, `Vector` [INFO] [stderr] --> src/geometry/interaction.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Medium` [INFO] [stderr] --> src/geometry/interaction.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | use super::{Medium, MediumInterface}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/geometry/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/geometry/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num` [INFO] [stderr] --> src/geometry/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use num; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Integer` [INFO] [stderr] --> src/geometry/mod.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | use num::{Float, Integer}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/geometry/mod.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return (S::one() - t) * v1 + t * v2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(S::one() - t) * v1 + t * v2` [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 imports: `Metric`, `Scalar`, `VectorSpace` [INFO] [stderr] --> src/main.rs:11:24 [INFO] [stderr] | [INFO] [stderr] 11 | use geometry::{Vector, VectorSpace, Metric, Point, Scalar}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `geometry::vector::Vector2` [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use geometry::vector::Vector2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::Vector` [INFO] [stderr] --> src/geometry/bounds.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use super::Vector; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vector` [INFO] [stderr] --> src/geometry/point.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vector` [INFO] [stderr] --> src/main.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | use geometry::{Vector, VectorSpace, Metric, Point, Scalar}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/geometry/transform.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | for j in 0usize..4 { [INFO] [stderr] | ^ help: consider using `_j` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/geometry/transform.rs:148:17 [INFO] [stderr] | [INFO] [stderr] 148 | for k in 0usize..4 {} [INFO] [stderr] | ^ help: consider using `_k` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/geometry/transform.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | let mut m_inv = Matrix4::new(); [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/geometry/transform.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | let mut m_inv = Matrix4::new(); [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/geometry/transform.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | let mut p = Point3::new( [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `minf` [INFO] [stderr] --> src/util/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn minf(v1: T, v2: T) -> T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `maxf` [INFO] [stderr] --> src/util/mod.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn maxf(v1: T, v2: T) -> T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `default` [INFO] [stderr] --> src/geometry/ray.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | fn default() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/geometry/ray.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / fn new( [INFO] [stderr] 41 | | &self, [INFO] [stderr] 42 | | o: &Point3f, [INFO] [stderr] 43 | | d: &Vector3f, [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `RayDifferential` [INFO] [stderr] --> src/geometry/ray.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | struct RayDifferential { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `default` [INFO] [stderr] --> src/geometry/ray.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | fn default() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/geometry/ray.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | fn new(ray: &Ray_) -> RayDifferential { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scale_differentials` [INFO] [stderr] --> src/geometry/ray.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | fn scale_differentials(&mut self, s: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal2f` [INFO] [stderr] --> src/geometry/normal.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub type Normal2f = Normal2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal2i` [INFO] [stderr] --> src/geometry/normal.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Normal2i = Normal2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal3f` [INFO] [stderr] --> src/geometry/normal.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub type Normal3f = Normal3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal3i` [INFO] [stderr] --> src/geometry/normal.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub type Normal3i = Normal3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Vector2f` [INFO] [stderr] --> src/geometry/vector.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub type Vector2f = Vector2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Vector2i` [INFO] [stderr] --> src/geometry/vector.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Vector2i = Vector2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Vector3i` [INFO] [stderr] --> src/geometry/vector.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub type Vector3i = Vector3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Point2f` [INFO] [stderr] --> src/geometry/point.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Point2f = Point2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Point2i` [INFO] [stderr] --> src/geometry/point.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub type Point2i = Point2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Point3i` [INFO] [stderr] --> src/geometry/point.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub type Point3i = Point3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Interaction` [INFO] [stderr] --> src/geometry/interaction.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Interaction { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `MediumInterface` [INFO] [stderr] --> src/geometry/mod.rs:83:1 [INFO] [stderr] | [INFO] [stderr] 83 | pub struct MediumInterface { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/bounds.rs:66:20 [INFO] [stderr] | [INFO] [stderr] 66 | p_min: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:67:20 [INFO] [stderr] | [INFO] [stderr] 67 | p_max: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | p_min: points.0.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.0` [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/geometry/bounds.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | p_max: points.1.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.1` [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/geometry/bounds.rs:173:26 [INFO] [stderr] | [INFO] [stderr] 173 | let mut offset = &*p - &self.p_min; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [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] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 173 | let mut offset = *p - self.p_min; [INFO] [stderr] | ^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/bounds.rs:220:20 [INFO] [stderr] | [INFO] [stderr] 220 | p_min: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:221:20 [INFO] [stderr] | [INFO] [stderr] 221 | p_max: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:236:20 [INFO] [stderr] | [INFO] [stderr] 236 | p_min: points.0.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.0` [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/geometry/bounds.rs:237:20 [INFO] [stderr] | [INFO] [stderr] 237 | p_max: points.1.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.1` [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/geometry/bounds.rs:339:26 [INFO] [stderr] | [INFO] [stderr] 339 | let mut offset = &*p - &self.p_min; [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] 339 | let mut offset = *p - self.p_min; [INFO] [stderr] | ^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/geometry/ray.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | &self, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/ray.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | o: o.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*o` [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/geometry/ray.rs:50:16 [INFO] [stderr] | [INFO] [stderr] 50 | d: d.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*d` [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: you should consider adding a `Default` implementation for `geometry::transform::Matrix4` [INFO] [stderr] --> src/geometry/transform.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> Self { [INFO] [stderr] 39 | | let mut mat = [[S::zero(); 4]; 4]; [INFO] [stderr] 40 | | for i in 0..4 { [INFO] [stderr] 41 | | mat[i][i] = S::one(); [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | Matrix4 { mat } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 34 | impl Default for geometry::transform::Matrix4 { [INFO] [stderr] 35 | fn default() -> Self { [INFO] [stderr] 36 | Self::new() [INFO] [stderr] 37 | } [INFO] [stderr] 38 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `mat` [INFO] [stderr] --> src/geometry/transform.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 40 | for (i, ) in mat.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (16/7) [INFO] [stderr] --> src/geometry/transform.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / pub fn from_values( [INFO] [stderr] 46 | | m00: S, [INFO] [stderr] 47 | | m01: S, [INFO] [stderr] 48 | | m02: S, [INFO] [stderr] ... | [INFO] [stderr] 69 | | Matrix4 { mat } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/transform.rs:96:24 [INFO] [stderr] | [INFO] [stderr] 96 | let mut minv = self.mat.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.mat` [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: the loop variable `k` is used to index `ipiv` [INFO] [stderr] --> src/geometry/transform.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | for k in 0usize..4 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 103 | for (k, ) in ipiv.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `new_mat` [INFO] [stderr] --> src/geometry/transform.rs:163:18 [INFO] [stderr] | [INFO] [stderr] 163 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 163 | for (i, ) in new_mat.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | &self * &rhs [INFO] [stderr] | ^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | self * &rhs [INFO] [stderr] | ^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/geometry/transform.rs:377:15 [INFO] [stderr] | [INFO] [stderr] 377 | p / wp [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::suspicious_arithmetic_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:384:9 [INFO] [stderr] | [INFO] [stderr] 384 | &self * &rhs [INFO] [stderr] | ^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:390:9 [INFO] [stderr] | [INFO] [stderr] 390 | self * &rhs [INFO] [stderr] | ^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:412:9 [INFO] [stderr] | [INFO] [stderr] 412 | &self * &rhs [INFO] [stderr] | ^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:426:9 [INFO] [stderr] | [INFO] [stderr] 426 | self * &rhs [INFO] [stderr] | ^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::Vector` [INFO] [stderr] --> src/geometry/bounds.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use super::Vector; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vector` [INFO] [stderr] --> src/geometry/point.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | use super::{Metric, Vector, VectorSpace}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Vector` [INFO] [stderr] --> src/main.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | use geometry::{Vector, VectorSpace, Metric, Point, Scalar}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:359:14 [INFO] [stderr] | [INFO] [stderr] 359 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:367:14 [INFO] [stderr] | [INFO] [stderr] 367 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:432:5 [INFO] [stderr] | [INFO] [stderr] 432 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 433 | | match index { [INFO] [stderr] 434 | | 0 => &mut self.x, [INFO] [stderr] 435 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 438 | | } [INFO] [stderr] 439 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:442:5 [INFO] [stderr] | [INFO] [stderr] 442 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 443 | | match index { [INFO] [stderr] 444 | | 0 => &mut self.x, [INFO] [stderr] 445 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 448 | | } [INFO] [stderr] 449 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 453 | | match index { [INFO] [stderr] 454 | | 0 => &mut self.x, [INFO] [stderr] 455 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 458 | | } [INFO] [stderr] 459 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:533:14 [INFO] [stderr] | [INFO] [stderr] 533 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:542:14 [INFO] [stderr] | [INFO] [stderr] 542 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:604:5 [INFO] [stderr] | [INFO] [stderr] 604 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 605 | | match index { [INFO] [stderr] 606 | | 0 => &mut self.x, [INFO] [stderr] 607 | | 1 => &mut self.y, [INFO] [stderr] 608 | | _ => panic!("Normal3 Index (v[{}]) out of range", index), [INFO] [stderr] 609 | | } [INFO] [stderr] 610 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:613:5 [INFO] [stderr] | [INFO] [stderr] 613 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 614 | | match index { [INFO] [stderr] 615 | | 0 => &mut self.x, [INFO] [stderr] 616 | | 1 => &mut self.y, [INFO] [stderr] 617 | | _ => panic!("Normal3 Index (v[{}]) out of range", index), [INFO] [stderr] 618 | | } [INFO] [stderr] 619 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:622:5 [INFO] [stderr] | [INFO] [stderr] 622 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 623 | | match index { [INFO] [stderr] 624 | | 0 => &mut self.x, [INFO] [stderr] 625 | | 1 => &mut self.y, [INFO] [stderr] 626 | | _ => panic!("Normal3 Index (v[{}]) out of range", index), [INFO] [stderr] 627 | | } [INFO] [stderr] 628 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:337:14 [INFO] [stderr] | [INFO] [stderr] 337 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:345:14 [INFO] [stderr] | [INFO] [stderr] 345 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:411:5 [INFO] [stderr] | [INFO] [stderr] 411 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 412 | | match index { [INFO] [stderr] 413 | | 0 => &mut self.x, [INFO] [stderr] 414 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 417 | | } [INFO] [stderr] 418 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:421:5 [INFO] [stderr] | [INFO] [stderr] 421 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 422 | | match index { [INFO] [stderr] 423 | | 0 => &mut self.x, [INFO] [stderr] 424 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 427 | | } [INFO] [stderr] 428 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:431:5 [INFO] [stderr] | [INFO] [stderr] 431 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 432 | | match index { [INFO] [stderr] 433 | | 0 => &mut self.x, [INFO] [stderr] 434 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 437 | | } [INFO] [stderr] 438 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:512:14 [INFO] [stderr] | [INFO] [stderr] 512 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:521:14 [INFO] [stderr] | [INFO] [stderr] 521 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:582:5 [INFO] [stderr] | [INFO] [stderr] 582 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 583 | | match index { [INFO] [stderr] 584 | | 0 => &mut self.x, [INFO] [stderr] 585 | | 1 => &mut self.y, [INFO] [stderr] 586 | | _ => panic!("Vector3 Index (v[{}]) out of range", index), [INFO] [stderr] 587 | | } [INFO] [stderr] 588 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:591:5 [INFO] [stderr] | [INFO] [stderr] 591 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 592 | | match index { [INFO] [stderr] 593 | | 0 => &mut self.x, [INFO] [stderr] 594 | | 1 => &mut self.y, [INFO] [stderr] 595 | | _ => panic!("Vector3 Index (v[{}]) out of range", index), [INFO] [stderr] 596 | | } [INFO] [stderr] 597 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:600:5 [INFO] [stderr] | [INFO] [stderr] 600 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 601 | | match index { [INFO] [stderr] 602 | | 0 => &mut self.x, [INFO] [stderr] 603 | | 1 => &mut self.y, [INFO] [stderr] 604 | | _ => panic!("Vector3 Index (v[{}]) out of range", index), [INFO] [stderr] 605 | | } [INFO] [stderr] 606 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/util/mod.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let result = minf(25f32, f32::NAN); [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/geometry/transform.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | for j in 0usize..4 { [INFO] [stderr] | ^ help: consider using `_j` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `k` [INFO] [stderr] --> src/geometry/transform.rs:148:17 [INFO] [stderr] | [INFO] [stderr] 148 | for k in 0usize..4 {} [INFO] [stderr] | ^ help: consider using `_k` instead [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:268:14 [INFO] [stderr] | [INFO] [stderr] 268 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 328 | | match index { [INFO] [stderr] 329 | | 0 => &mut self.x, [INFO] [stderr] 330 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 333 | | } [INFO] [stderr] 334 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 338 | | match index { [INFO] [stderr] 339 | | 0 => &mut self.x, [INFO] [stderr] 340 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 343 | | } [INFO] [stderr] 344 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:347:5 [INFO] [stderr] | [INFO] [stderr] 347 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 348 | | match index { [INFO] [stderr] 349 | | 0 => &mut self.x, [INFO] [stderr] 350 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 353 | | } [INFO] [stderr] 354 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:452:14 [INFO] [stderr] | [INFO] [stderr] 452 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:461:14 [INFO] [stderr] | [INFO] [stderr] 461 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:510:5 [INFO] [stderr] | [INFO] [stderr] 510 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 511 | | match index { [INFO] [stderr] 512 | | 0 => &mut self.x, [INFO] [stderr] 513 | | 1 => &mut self.y, [INFO] [stderr] 514 | | _ => panic!("Point3 Index (v[{}]) out of range", index), [INFO] [stderr] 515 | | } [INFO] [stderr] 516 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:519:5 [INFO] [stderr] | [INFO] [stderr] 519 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 520 | | match index { [INFO] [stderr] 521 | | 0 => &mut self.x, [INFO] [stderr] 522 | | 1 => &mut self.y, [INFO] [stderr] 523 | | _ => panic!("Point3 Index (v[{}]) out of range", index), [INFO] [stderr] 524 | | } [INFO] [stderr] 525 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:528:5 [INFO] [stderr] | [INFO] [stderr] 528 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 529 | | match index { [INFO] [stderr] 530 | | 0 => &mut self.x, [INFO] [stderr] 531 | | 1 => &mut self.y, [INFO] [stderr] 532 | | _ => panic!("Point3 Index (v[{}]) out of range", index), [INFO] [stderr] 533 | | } [INFO] [stderr] 534 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name such as `t` [INFO] [stderr] --> src/main.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 18 | if let Ok(T) = Transform::new(Matrix4::::new()) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `K` should have a snake case name such as `k` [INFO] [stderr] --> src/main.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | if let Ok(K) = Transform::new(Matrix4::::new()) { [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:20:21 [INFO] [stderr] | [INFO] [stderr] 20 | let p = &K * &T * &point; [INFO] [stderr] | ^^^^^^^^^^------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `pbrt_rust`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/geometry/transform.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | let mut m_inv = Matrix4::new(); [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/geometry/transform.rs:217:13 [INFO] [stderr] | [INFO] [stderr] 217 | let mut m_inv = Matrix4::new(); [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/geometry/transform.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | let mut p = Point3::new( [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `default` [INFO] [stderr] --> src/geometry/ray.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | fn default() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/geometry/ray.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / fn new( [INFO] [stderr] 41 | | &self, [INFO] [stderr] 42 | | o: &Point3f, [INFO] [stderr] 43 | | d: &Vector3f, [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `RayDifferential` [INFO] [stderr] --> src/geometry/ray.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | struct RayDifferential { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `default` [INFO] [stderr] --> src/geometry/ray.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | fn default() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/geometry/ray.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | fn new(ray: &Ray_) -> RayDifferential { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `scale_differentials` [INFO] [stderr] --> src/geometry/ray.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | fn scale_differentials(&mut self, s: f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal2f` [INFO] [stderr] --> src/geometry/normal.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub type Normal2f = Normal2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal2i` [INFO] [stderr] --> src/geometry/normal.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Normal2i = Normal2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal3f` [INFO] [stderr] --> src/geometry/normal.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub type Normal3f = Normal3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Normal3i` [INFO] [stderr] --> src/geometry/normal.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub type Normal3i = Normal3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Vector2f` [INFO] [stderr] --> src/geometry/vector.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub type Vector2f = Vector2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Vector2i` [INFO] [stderr] --> src/geometry/vector.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Vector2i = Vector2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Vector3i` [INFO] [stderr] --> src/geometry/vector.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub type Vector3i = Vector3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Point2f` [INFO] [stderr] --> src/geometry/point.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Point2f = Point2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Point2i` [INFO] [stderr] --> src/geometry/point.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub type Point2i = Point2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `Point3i` [INFO] [stderr] --> src/geometry/point.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub type Point3i = Point3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Interaction` [INFO] [stderr] --> src/geometry/interaction.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Interaction { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `MediumInterface` [INFO] [stderr] --> src/geometry/mod.rs:83:1 [INFO] [stderr] | [INFO] [stderr] 83 | pub struct MediumInterface { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | assert_eq!(result, 13.3f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | assert_eq!(result, 13.3f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | assert_eq!(result, 0.3f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | assert_eq!(result, 0.3f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | assert_eq!(result, 13.4f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | assert_eq!(result, 13.4f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/util/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | assert_eq!(result, 25f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/util/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | assert_eq!(result, 25f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/bounds.rs:66:20 [INFO] [stderr] | [INFO] [stderr] 66 | p_min: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:67:20 [INFO] [stderr] | [INFO] [stderr] 67 | p_max: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | p_min: points.0.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.0` [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/geometry/bounds.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | p_max: points.1.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.1` [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/geometry/bounds.rs:173:26 [INFO] [stderr] | [INFO] [stderr] 173 | let mut offset = &*p - &self.p_min; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [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] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 173 | let mut offset = *p - self.p_min; [INFO] [stderr] | ^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/bounds.rs:220:20 [INFO] [stderr] | [INFO] [stderr] 220 | p_min: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:221:20 [INFO] [stderr] | [INFO] [stderr] 221 | p_max: p.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*p` [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/geometry/bounds.rs:236:20 [INFO] [stderr] | [INFO] [stderr] 236 | p_min: points.0.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.0` [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/geometry/bounds.rs:237:20 [INFO] [stderr] | [INFO] [stderr] 237 | p_max: points.1.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*points.1` [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/geometry/bounds.rs:339:26 [INFO] [stderr] | [INFO] [stderr] 339 | let mut offset = &*p - &self.p_min; [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] 339 | let mut offset = *p - self.p_min; [INFO] [stderr] | ^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/geometry/ray.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | &self, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/ray.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | o: o.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*o` [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/geometry/ray.rs:50:16 [INFO] [stderr] | [INFO] [stderr] 50 | d: d.clone(), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*d` [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: you should consider adding a `Default` implementation for `geometry::transform::Matrix4` [INFO] [stderr] --> src/geometry/transform.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn new() -> Self { [INFO] [stderr] 39 | | let mut mat = [[S::zero(); 4]; 4]; [INFO] [stderr] 40 | | for i in 0..4 { [INFO] [stderr] 41 | | mat[i][i] = S::one(); [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | Matrix4 { mat } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 34 | impl Default for geometry::transform::Matrix4 { [INFO] [stderr] 35 | fn default() -> Self { [INFO] [stderr] 36 | Self::new() [INFO] [stderr] 37 | } [INFO] [stderr] 38 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `mat` [INFO] [stderr] --> src/geometry/transform.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 40 | for (i, ) in mat.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (16/7) [INFO] [stderr] --> src/geometry/transform.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / pub fn from_values( [INFO] [stderr] 46 | | m00: S, [INFO] [stderr] 47 | | m01: S, [INFO] [stderr] 48 | | m02: S, [INFO] [stderr] ... | [INFO] [stderr] 69 | | Matrix4 { mat } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/geometry/transform.rs:96:24 [INFO] [stderr] | [INFO] [stderr] 96 | let mut minv = self.mat.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.mat` [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: the loop variable `k` is used to index `ipiv` [INFO] [stderr] --> src/geometry/transform.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | for k in 0usize..4 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 103 | for (k, ) in ipiv.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `new_mat` [INFO] [stderr] --> src/geometry/transform.rs:163:18 [INFO] [stderr] | [INFO] [stderr] 163 | for i in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 163 | for (i, ) in new_mat.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | &self * &rhs [INFO] [stderr] | ^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | self * &rhs [INFO] [stderr] | ^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/geometry/transform.rs:377:15 [INFO] [stderr] | [INFO] [stderr] 377 | p / wp [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::suspicious_arithmetic_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:384:9 [INFO] [stderr] | [INFO] [stderr] 384 | &self * &rhs [INFO] [stderr] | ^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:390:9 [INFO] [stderr] | [INFO] [stderr] 390 | self * &rhs [INFO] [stderr] | ^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:412:9 [INFO] [stderr] | [INFO] [stderr] 412 | &self * &rhs [INFO] [stderr] | ^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/geometry/transform.rs:426:9 [INFO] [stderr] | [INFO] [stderr] 426 | self * &rhs [INFO] [stderr] | ^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `rhs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:359:14 [INFO] [stderr] | [INFO] [stderr] 359 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:367:14 [INFO] [stderr] | [INFO] [stderr] 367 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:432:5 [INFO] [stderr] | [INFO] [stderr] 432 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 433 | | match index { [INFO] [stderr] 434 | | 0 => &mut self.x, [INFO] [stderr] 435 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 438 | | } [INFO] [stderr] 439 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:442:5 [INFO] [stderr] | [INFO] [stderr] 442 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 443 | | match index { [INFO] [stderr] 444 | | 0 => &mut self.x, [INFO] [stderr] 445 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 448 | | } [INFO] [stderr] 449 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 453 | | match index { [INFO] [stderr] 454 | | 0 => &mut self.x, [INFO] [stderr] 455 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 458 | | } [INFO] [stderr] 459 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:533:14 [INFO] [stderr] | [INFO] [stderr] 533 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/normal.rs:542:14 [INFO] [stderr] | [INFO] [stderr] 542 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:604:5 [INFO] [stderr] | [INFO] [stderr] 604 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 605 | | match index { [INFO] [stderr] 606 | | 0 => &mut self.x, [INFO] [stderr] 607 | | 1 => &mut self.y, [INFO] [stderr] 608 | | _ => panic!("Normal3 Index (v[{}]) out of range", index), [INFO] [stderr] 609 | | } [INFO] [stderr] 610 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:613:5 [INFO] [stderr] | [INFO] [stderr] 613 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 614 | | match index { [INFO] [stderr] 615 | | 0 => &mut self.x, [INFO] [stderr] 616 | | 1 => &mut self.y, [INFO] [stderr] 617 | | _ => panic!("Normal3 Index (v[{}]) out of range", index), [INFO] [stderr] 618 | | } [INFO] [stderr] 619 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/normal.rs:622:5 [INFO] [stderr] | [INFO] [stderr] 622 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 623 | | match index { [INFO] [stderr] 624 | | 0 => &mut self.x, [INFO] [stderr] 625 | | 1 => &mut self.y, [INFO] [stderr] 626 | | _ => panic!("Normal3 Index (v[{}]) out of range", index), [INFO] [stderr] 627 | | } [INFO] [stderr] 628 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:337:14 [INFO] [stderr] | [INFO] [stderr] 337 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:345:14 [INFO] [stderr] | [INFO] [stderr] 345 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:411:5 [INFO] [stderr] | [INFO] [stderr] 411 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 412 | | match index { [INFO] [stderr] 413 | | 0 => &mut self.x, [INFO] [stderr] 414 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 417 | | } [INFO] [stderr] 418 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:421:5 [INFO] [stderr] | [INFO] [stderr] 421 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 422 | | match index { [INFO] [stderr] 423 | | 0 => &mut self.x, [INFO] [stderr] 424 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 427 | | } [INFO] [stderr] 428 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:431:5 [INFO] [stderr] | [INFO] [stderr] 431 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 432 | | match index { [INFO] [stderr] 433 | | 0 => &mut self.x, [INFO] [stderr] 434 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 437 | | } [INFO] [stderr] 438 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:512:14 [INFO] [stderr] | [INFO] [stderr] 512 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/vector.rs:521:14 [INFO] [stderr] | [INFO] [stderr] 521 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:582:5 [INFO] [stderr] | [INFO] [stderr] 582 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 583 | | match index { [INFO] [stderr] 584 | | 0 => &mut self.x, [INFO] [stderr] 585 | | 1 => &mut self.y, [INFO] [stderr] 586 | | _ => panic!("Vector3 Index (v[{}]) out of range", index), [INFO] [stderr] 587 | | } [INFO] [stderr] 588 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:591:5 [INFO] [stderr] | [INFO] [stderr] 591 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 592 | | match index { [INFO] [stderr] 593 | | 0 => &mut self.x, [INFO] [stderr] 594 | | 1 => &mut self.y, [INFO] [stderr] 595 | | _ => panic!("Vector3 Index (v[{}]) out of range", index), [INFO] [stderr] 596 | | } [INFO] [stderr] 597 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/vector.rs:600:5 [INFO] [stderr] | [INFO] [stderr] 600 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 601 | | match index { [INFO] [stderr] 602 | | 0 => &mut self.x, [INFO] [stderr] 603 | | 1 => &mut self.y, [INFO] [stderr] 604 | | _ => panic!("Vector3 Index (v[{}]) out of range", index), [INFO] [stderr] 605 | | } [INFO] [stderr] 606 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:268:14 [INFO] [stderr] | [INFO] [stderr] 268 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 328 | | match index { [INFO] [stderr] 329 | | 0 => &mut self.x, [INFO] [stderr] 330 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 333 | | } [INFO] [stderr] 334 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 338 | | match index { [INFO] [stderr] 339 | | 0 => &mut self.x, [INFO] [stderr] 340 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 343 | | } [INFO] [stderr] 344 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:347:5 [INFO] [stderr] | [INFO] [stderr] 347 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 348 | | match index { [INFO] [stderr] 349 | | 0 => &mut self.x, [INFO] [stderr] 350 | | 1 => &mut self.y, [INFO] [stderr] ... | [INFO] [stderr] 353 | | } [INFO] [stderr] 354 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:452:14 [INFO] [stderr] | [INFO] [stderr] 452 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Div` impl [INFO] [stderr] --> src/geometry/point.rs:461:14 [INFO] [stderr] | [INFO] [stderr] 461 | self * inv [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:510:5 [INFO] [stderr] | [INFO] [stderr] 510 | / fn index_mut<'a>(&'a mut self, index: u8) -> &'a mut S { [INFO] [stderr] 511 | | match index { [INFO] [stderr] 512 | | 0 => &mut self.x, [INFO] [stderr] 513 | | 1 => &mut self.y, [INFO] [stderr] 514 | | _ => panic!("Point3 Index (v[{}]) out of range", index), [INFO] [stderr] 515 | | } [INFO] [stderr] 516 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:519:5 [INFO] [stderr] | [INFO] [stderr] 519 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut S { [INFO] [stderr] 520 | | match index { [INFO] [stderr] 521 | | 0 => &mut self.x, [INFO] [stderr] 522 | | 1 => &mut self.y, [INFO] [stderr] 523 | | _ => panic!("Point3 Index (v[{}]) out of range", index), [INFO] [stderr] 524 | | } [INFO] [stderr] 525 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/geometry/point.rs:528:5 [INFO] [stderr] | [INFO] [stderr] 528 | / fn index_mut<'a>(&'a mut self, index: u32) -> &'a mut S { [INFO] [stderr] 529 | | match index { [INFO] [stderr] 530 | | 0 => &mut self.x, [INFO] [stderr] 531 | | 1 => &mut self.y, [INFO] [stderr] 532 | | _ => panic!("Point3 Index (v[{}]) out of range", index), [INFO] [stderr] 533 | | } [INFO] [stderr] 534 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: variable `T` should have a snake case name such as `t` [INFO] [stderr] --> src/main.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 18 | if let Ok(T) = Transform::new(Matrix4::::new()) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `K` should have a snake case name such as `k` [INFO] [stderr] --> src/main.rs:19:19 [INFO] [stderr] | [INFO] [stderr] 19 | if let Ok(K) = Transform::new(Matrix4::::new()) { [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/main.rs:20:21 [INFO] [stderr] | [INFO] [stderr] 20 | let p = &K * &T * &point; [INFO] [stderr] | ^^^^^^^^^^------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to 17 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `pbrt_rust`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "96040daab428fa3e9b5da61b5c8e6387210d373a67d3ac5354cde36cadb05158"` [INFO] running `"docker" "rm" "-f" "96040daab428fa3e9b5da61b5c8e6387210d373a67d3ac5354cde36cadb05158"` [INFO] [stdout] 96040daab428fa3e9b5da61b5c8e6387210d373a67d3ac5354cde36cadb05158