[INFO] updating cached repository gyng/rust-raytracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/gyng/rust-raytracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/gyng/rust-raytracer" "work/ex/clippy-test-run/sources/stable/gh/gyng/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/gyng/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/gyng/rust-raytracer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gyng/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gyng/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 855f2d053ac936a5fb2962d278d629f6269d6bf4 [INFO] sha for GitHub repo gyng/rust-raytracer: 855f2d053ac936a5fb2962d278d629f6269d6bf4 [INFO] validating manifest of gyng/rust-raytracer on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of gyng/rust-raytracer on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing gyng/rust-raytracer [INFO] finished frobbing gyng/rust-raytracer [INFO] frobbed toml for gyng/rust-raytracer written to work/ex/clippy-test-run/sources/stable/gh/gyng/rust-raytracer/Cargo.toml [INFO] started frobbing gyng/rust-raytracer [INFO] finished frobbing gyng/rust-raytracer [INFO] frobbed toml for gyng/rust-raytracer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gyng/rust-raytracer/Cargo.toml [INFO] crate gyng/rust-raytracer has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting gyng/rust-raytracer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/gyng/rust-raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 949e75c9547df64ba4cb90c7ea21b888deabd5a34243721f06ddc7fc0e991a40 [INFO] running `"docker" "start" "-a" "949e75c9547df64ba4cb90c7ea21b888deabd5a34243721f06ddc7fc0e991a40"` [INFO] [stderr] Checking threadpool v1.7.1 [INFO] [stderr] Compiling syn v0.14.6 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking rust-raytracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/geometry/prims/plane.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/prims/plane.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/prims/plane.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | u: u, [INFO] [stderr] | ^^^^ help: replace it with: `u` [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/prims/plane.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/prims/sphere.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let t = if t1.abs() < t2.abs() { t1 } else { t2 }; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/sphere.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | let n = (intersection_point - self.center).unit(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/sphere.rs:58:21 [INFO] [stderr] | [INFO] [stderr] 58 | let u = 0.5 + n.z.atan2(n.x) / (::std::f64::consts::PI * 2.0); [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: 8th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/sphere.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | let v = 0.5 - n.y.asin() / ::std::f64::consts::PI; [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/prims/sphere.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/prims/sphere.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/prims/sphere.rs:64:21 [INFO] [stderr] | [INFO] [stderr] 64 | u: u, [INFO] [stderr] | ^^^^ help: replace it with: `u` [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/prims/sphere.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/prims/triangle.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | normals: normals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `normals` [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/prims/triangle.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | texinfo: texinfo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `texinfo` [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/prims/triangle.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | material: material, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `material` [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/prims/triangle.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | let n = self.normals[0].scale(alpha) + self.normals[1].scale(beta) + self.normals[2].scale(gamma); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/triangle.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | let u = self.texinfo[0].u * alpha + self.texinfo[1].u * beta + self.texinfo[2].u * gamma; [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: 7th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/triangle.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | let v = self.texinfo[0].v * alpha + self.texinfo[1].v * beta + self.texinfo[2].v * gamma; [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/prims/triangle.rs:148:17 [INFO] [stderr] | [INFO] [stderr] 148 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/prims/triangle.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/prims/triangle.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | u: u, [INFO] [stderr] | ^^^^ help: replace it with: `u` [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/prims/triangle.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/material/materials/cooktorrancematerial.rs:26:57 [INFO] [stderr] | [INFO] [stderr] 26 | fn sample(&self, n: Vec3, i: Vec3, l: Vec3, u: f64, v: f64) -> Vec3 { [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:29:22 [INFO] [stderr] | [INFO] [stderr] 29 | Some(ref x) => x.color(u, v), [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let h = (l + i).unit(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let f = (1.0 - v_dot_h).powf(5.0) * (1.0 - f0) + f0; [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: 8th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let d = self.gauss_constant * (-alpha / self.roughness.sqrt()).exp(); [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: 9th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | let g = g1.min(g2); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/material/materials/phongmaterial.rs:24:57 [INFO] [stderr] | [INFO] [stderr] 24 | fn sample(&self, n: Vec3, i: Vec3, l: Vec3, u: f64, v: f64) -> Vec3 { [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/materials/phongmaterial.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let h = (l + i).unit(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/material/materials/phongmaterial.rs:30:22 [INFO] [stderr] | [INFO] [stderr] 30 | Some(ref x) => x.color(u, v), [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/material/textures/checkertexture.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | scale: scale [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scale` [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/material/textures/imagetexture.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | let x = s.floor() as usize; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/textures/imagetexture.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let y = t.floor() as usize; [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/material/textures/cubemap.rs:41:19 [INFO] [stderr] | [INFO] [stderr] 41 | CubeMap { faces: faces } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `faces` [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/my_scene/bunny.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/bunny.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/cornell.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/cornell.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/cow.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/cow.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/easing.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/easing.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/fresnel.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/fresnel.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/heptoroid.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/heptoroid.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/lucy.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/lucy.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/sibenik.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/sibenik.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/sphere.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/sphere.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/sponza.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/sponza.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/tachikoma.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/tachikoma.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/teapot.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/teapot.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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: using `println!("")` [INFO] [stderr] --> src/raytracer/animator/animator.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/raytracer/animator/easing.rs:25:58 [INFO] [stderr] | [INFO] [stderr] 25 | fn interpolate_cubic(a: f64, b: f64, c: f64, d: f64, t: f64) -> f64 { [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/raytracer/compositor/colorrgba.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/raytracer/compositor/colorrgba.rs:84:27 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `g` [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/raytracer/compositor/colorrgba.rs:84:33 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/raytracer/compositor/colorrgba.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/raytracer/compositor/colorrgba.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | ColorRGBA { r: r, g: g, b: b, a: Channel::max_value() } [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/raytracer/compositor/colorrgba.rs:89:27 [INFO] [stderr] | [INFO] [stderr] 89 | ColorRGBA { r: r, g: g, b: b, a: Channel::max_value() } [INFO] [stderr] | ^^^^ help: replace it with: `g` [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/raytracer/compositor/colorrgba.rs:89:33 [INFO] [stderr] | [INFO] [stderr] 89 | ColorRGBA { r: r, g: g, b: b, a: Channel::max_value() } [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/raytracer/compositor/surface.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/raytracer/compositor/surface.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/raytracer/compositor/surface.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | background: background, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background` [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/raytracer/compositor/surface.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/raytracer/compositor/surface.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/raytracer/compositor/surface.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | x_off: x_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `x_off` [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/raytracer/compositor/surface.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | y_off: y_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `y_off` [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/raytracer/compositor/surface.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | background: background, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background` [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/raytracer/compositor/surfacefactory.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/raytracer/compositor/surfacefactory.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/raytracer/compositor/surfacefactory.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | x_off: x_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `x_off` [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/raytracer/compositor/surfacefactory.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | y_off: y_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `y_off` [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/raytracer/compositor/surfacefactory.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | background: background [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background` [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/raytracer/octree.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | infinites: infinites, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `infinites` [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/raytracer/octree.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | bbox: bbox, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `bbox` [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/raytracer/octree.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | depth: depth, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `depth` [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/raytracer/octree.rs:104:46 [INFO] [stderr] | [INFO] [stderr] 104 | self.leaf_data.push(OctreeData { index: index, bbox: object_bbox }); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/raytracer/octree.rs:110:46 [INFO] [stderr] | [INFO] [stderr] 110 | self.leaf_data.push(OctreeData { index: index, bbox: object_bbox }); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/raytracer/octree.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | ray: ray, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ray` [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/raytracer/ray.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [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/raytracer/ray.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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/raytracer/ray.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/raytracer/ray.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/scene/camera.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/scene/camera.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | look_at: look_at, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `look_at` [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/scene/camera.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | up: up, [INFO] [stderr] | ^^^^^^ help: replace it with: `up` [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/scene/camera.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | fov_deg: fov_deg, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `fov_deg` [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/scene/camera.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | image_width: image_width, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_width` [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/scene/camera.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | image_height: image_height, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_height` [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/util/import.rs:127:15 [INFO] [stderr] | [INFO] [stderr] 127 | Ok(Mesh { triangles: triangles }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangles` [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/mat4.rs:75:16 [INFO] [stderr] | [INFO] [stderr] 75 | Mat4 { m: m } [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/mat4.rs:194:16 [INFO] [stderr] | [INFO] [stderr] 194 | Mat4 { m: m } [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/mat4.rs:283:16 [INFO] [stderr] | [INFO] [stderr] 283 | Mat4 { m: m } [INFO] [stderr] | ^^^^ help: replace it with: `m` [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: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | write!(&mut io::stderr(), "{}\n", error_str).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | write!(&mut io::stderr(), "{}\n", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | write!(&mut io::stderr(), "{}\n", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | write!(&mut io::stderr(), "{}\n", msg).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | write!(&mut io::stderr(), "unknown scene ``{}''\n", config.name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | animate_from: animate_from, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `animate_from` [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/main.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | animate_to: animate_to, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `animate_to` [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/main.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | renderer: renderer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `renderer` [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/prims/plane.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/prims/plane.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/prims/plane.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | u: u, [INFO] [stderr] | ^^^^ help: replace it with: `u` [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/prims/plane.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/prims/sphere.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let t = if t1.abs() < t2.abs() { t1 } else { t2 }; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/sphere.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | let n = (intersection_point - self.center).unit(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/sphere.rs:58:21 [INFO] [stderr] | [INFO] [stderr] 58 | let u = 0.5 + n.z.atan2(n.x) / (::std::f64::consts::PI * 2.0); [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: 8th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/sphere.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | let v = 0.5 - n.y.asin() / ::std::f64::consts::PI; [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/prims/sphere.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/prims/sphere.rs:63:21 [INFO] [stderr] | [INFO] [stderr] 63 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/prims/sphere.rs:64:21 [INFO] [stderr] | [INFO] [stderr] 64 | u: u, [INFO] [stderr] | ^^^^ help: replace it with: `u` [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/prims/sphere.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/prims/triangle.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | normals: normals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `normals` [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/prims/triangle.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | texinfo: texinfo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `texinfo` [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/prims/triangle.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | material: material, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `material` [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/prims/triangle.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | let n = self.normals[0].scale(alpha) + self.normals[1].scale(beta) + self.normals[2].scale(gamma); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/triangle.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | let u = self.texinfo[0].u * alpha + self.texinfo[1].u * beta + self.texinfo[2].u * gamma; [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: 7th binding whose name is just one char [INFO] [stderr] --> src/geometry/prims/triangle.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | let v = self.texinfo[0].v * alpha + self.texinfo[1].v * beta + self.texinfo[2].v * gamma; [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/prims/triangle.rs:148:17 [INFO] [stderr] | [INFO] [stderr] 148 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/prims/triangle.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/prims/triangle.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | u: u, [INFO] [stderr] | ^^^^ help: replace it with: `u` [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/prims/triangle.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/material/materials/cooktorrancematerial.rs:26:57 [INFO] [stderr] | [INFO] [stderr] 26 | fn sample(&self, n: Vec3, i: Vec3, l: Vec3, u: f64, v: f64) -> Vec3 { [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:29:22 [INFO] [stderr] | [INFO] [stderr] 29 | Some(ref x) => x.color(u, v), [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let h = (l + i).unit(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let f = (1.0 - v_dot_h).powf(5.0) * (1.0 - f0) + f0; [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: 8th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let d = self.gauss_constant * (-alpha / self.roughness.sqrt()).exp(); [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: 9th binding whose name is just one char [INFO] [stderr] --> src/material/materials/cooktorrancematerial.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | let g = g1.min(g2); [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: 5th binding whose name is just one char [INFO] [stderr] --> src/material/materials/phongmaterial.rs:24:57 [INFO] [stderr] | [INFO] [stderr] 24 | fn sample(&self, n: Vec3, i: Vec3, l: Vec3, u: f64, v: f64) -> Vec3 { [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/materials/phongmaterial.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let h = (l + i).unit(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/material/materials/phongmaterial.rs:30:22 [INFO] [stderr] | [INFO] [stderr] 30 | Some(ref x) => x.color(u, v), [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/material/textures/checkertexture.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | scale: scale [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scale` [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/material/textures/imagetexture.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | let x = s.floor() as usize; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/material/textures/imagetexture.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let y = t.floor() as usize; [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/material/textures/cubemap.rs:41:19 [INFO] [stderr] | [INFO] [stderr] 41 | CubeMap { faces: faces } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `faces` [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/my_scene/bunny.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/bunny.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/cornell.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/cornell.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/cow.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/cow.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/easing.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/easing.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/fresnel.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/fresnel.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/heptoroid.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/heptoroid.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/lucy.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/lucy.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/sibenik.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/sibenik.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/sphere.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/sphere.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/sponza.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/sponza.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/tachikoma.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/tachikoma.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/my_scene/teapot.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/my_scene/teapot.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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: using `println!("")` [INFO] [stderr] --> src/raytracer/animator/animator.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/raytracer/animator/easing.rs:25:58 [INFO] [stderr] | [INFO] [stderr] 25 | fn interpolate_cubic(a: f64, b: f64, c: f64, d: f64, t: f64) -> f64 { [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/raytracer/compositor/colorrgba.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/raytracer/compositor/colorrgba.rs:84:27 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `g` [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/raytracer/compositor/colorrgba.rs:84:33 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/raytracer/compositor/colorrgba.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | ColorRGBA { r: r, g: g, b: b, a: a } [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/raytracer/compositor/colorrgba.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | ColorRGBA { r: r, g: g, b: b, a: Channel::max_value() } [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/raytracer/compositor/colorrgba.rs:89:27 [INFO] [stderr] | [INFO] [stderr] 89 | ColorRGBA { r: r, g: g, b: b, a: Channel::max_value() } [INFO] [stderr] | ^^^^ help: replace it with: `g` [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/raytracer/compositor/colorrgba.rs:89:33 [INFO] [stderr] | [INFO] [stderr] 89 | ColorRGBA { r: r, g: g, b: b, a: Channel::max_value() } [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/raytracer/compositor/surface.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/raytracer/compositor/surface.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/raytracer/compositor/surface.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | background: background, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background` [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/raytracer/compositor/surface.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/raytracer/compositor/surface.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/raytracer/compositor/surface.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | x_off: x_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `x_off` [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/raytracer/compositor/surface.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | y_off: y_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `y_off` [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/raytracer/compositor/surface.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | background: background, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background` [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/raytracer/compositor/surfacefactory.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/raytracer/compositor/surfacefactory.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/raytracer/compositor/surfacefactory.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | x_off: x_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `x_off` [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/raytracer/compositor/surfacefactory.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | y_off: y_off, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `y_off` [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/raytracer/compositor/surfacefactory.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | background: background [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `background` [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/raytracer/octree.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | infinites: infinites, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `infinites` [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/raytracer/octree.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | bbox: bbox, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `bbox` [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/raytracer/octree.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | depth: depth, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `depth` [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/raytracer/octree.rs:104:46 [INFO] [stderr] | [INFO] [stderr] 104 | self.leaf_data.push(OctreeData { index: index, bbox: object_bbox }); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/raytracer/octree.rs:110:46 [INFO] [stderr] | [INFO] [stderr] 110 | self.leaf_data.push(OctreeData { index: index, bbox: object_bbox }); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/raytracer/octree.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | ray: ray, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ray` [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/raytracer/ray.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [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/raytracer/ray.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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/raytracer/ray.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [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/raytracer/ray.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | octree: octree, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `octree` [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/scene/camera.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/scene/camera.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | look_at: look_at, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `look_at` [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/scene/camera.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | up: up, [INFO] [stderr] | ^^^^^^ help: replace it with: `up` [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/scene/camera.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | fov_deg: fov_deg, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `fov_deg` [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/scene/camera.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | image_width: image_width, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_width` [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/scene/camera.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | image_height: image_height, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_height` [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/util/import.rs:127:15 [INFO] [stderr] | [INFO] [stderr] 127 | Ok(Mesh { triangles: triangles }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangles` [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/mat4.rs:75:16 [INFO] [stderr] | [INFO] [stderr] 75 | Mat4 { m: m } [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/mat4.rs:194:16 [INFO] [stderr] | [INFO] [stderr] 194 | Mat4 { m: m } [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/mat4.rs:283:16 [INFO] [stderr] | [INFO] [stderr] 283 | Mat4 { m: m } [INFO] [stderr] | ^^^^ help: replace it with: `m` [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: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | write!(&mut io::stderr(), "{}\n", error_str).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | write!(&mut io::stderr(), "{}\n", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | write!(&mut io::stderr(), "{}\n", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | write!(&mut io::stderr(), "{}\n", msg).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | write!(&mut io::stderr(), "unknown scene ``{}''\n", config.name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | animate_from: animate_from, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `animate_from` [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/main.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | animate_to: animate_to, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `animate_to` [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/main.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | renderer: renderer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `renderer` [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: module has the same name as its containing module [INFO] [stderr] --> src/light/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub mod light; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/material/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod material; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/my_scene/sphere.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | camera [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/my_scene/sphere.rs:41:18 [INFO] [stderr] | [INFO] [stderr] 41 | let camera = Camera::new_with_keyframes( [INFO] [stderr] | __________________^ [INFO] [stderr] 42 | | Vec3 { x: 0.0, y: 0.0, z: 10.0 }, [INFO] [stderr] 43 | | Vec3 { x: 0.0, y: 0.0, z: 0.0 }, [INFO] [stderr] 44 | | Vec3 { x: 0.0, y: 1.0, z: 0.0 }, [INFO] [stderr] ... | [INFO] [stderr] 77 | | ] [INFO] [stderr] 78 | | ); [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/raytracer/animator/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod animator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/raytracer/octree.rs:101:63 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn insert(&mut self, index: usize, object_bbox: BBox) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/raytracer/ray.rs:45:21 [INFO] [stderr] | [INFO] [stderr] 45 | let t_min = 0.000001; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/scene/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod scene; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/light/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub mod light; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/material/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod material; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/my_scene/sphere.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | camera [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/my_scene/sphere.rs:41:18 [INFO] [stderr] | [INFO] [stderr] 41 | let camera = Camera::new_with_keyframes( [INFO] [stderr] | __________________^ [INFO] [stderr] 42 | | Vec3 { x: 0.0, y: 0.0, z: 10.0 }, [INFO] [stderr] 43 | | Vec3 { x: 0.0, y: 0.0, z: 0.0 }, [INFO] [stderr] 44 | | Vec3 { x: 0.0, y: 1.0, z: 0.0 }, [INFO] [stderr] ... | [INFO] [stderr] 77 | | ] [INFO] [stderr] 78 | | ); [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/raytracer/animator/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod animator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/raytracer/octree.rs:101:63 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn insert(&mut self, index: usize, object_bbox: BBox) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/raytracer/ray.rs:45:21 [INFO] [stderr] | [INFO] [stderr] 45 | let t_min = 0.000001; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/scene/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod scene; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/material/textures/cubemap.rs:38:56 [INFO] [stderr] | [INFO] [stderr] 38 | unsafe { ::std::ptr::write::(p.offset(i as isize), tex); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `p.add(i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/heptoroid.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | let heptoroid = ::util::import::from_obj(heptoroid_material, false, "./docs/assets/models/heptoroid.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/lucy.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | let lucy = ::util::import::from_obj(grey, true, "./docs/assets/models/lucy.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sibenik.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | let sibenik = ::util::import::from_obj(stone, false, "./docs/assets/models/sibenik.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sponza.rs:42:24 [INFO] [stderr] | [INFO] [stderr] 42 | let sponza_other = ::util::import::from_obj(stone, false, "./docs/assets/models/sponza_other.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sponza.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | let sponza_column_shrubbery = ::util::import::from_obj(shrubbery, false, "./docs/assets/models/sponza_column_shrubbery.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sponza.rs:48:24 [INFO] [stderr] | [INFO] [stderr] 48 | let sponza_cloth = ::util::import::from_obj(cloth, false, "./docs/assets/models/sponza_cloth.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/tachikoma.rs:35:21 [INFO] [stderr] | [INFO] [stderr] 35 | let tachikoma = ::util::import::from_obj(blue, false, "./docs/assets/models/tachikoma.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/teapot.rs:38:22 [INFO] [stderr] | [INFO] [stderr] 38 | let mut teapot = ::util::import::from_obj(porcelain, false, "./docs/assets/models/teapot.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | clamp((r * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:73:58 [INFO] [stderr] | [INFO] [stderr] 73 | clamp((r * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(min_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:73:76 [INFO] [stderr] | [INFO] [stderr] 73 | clamp((r * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:74:24 [INFO] [stderr] | [INFO] [stderr] 74 | clamp((g * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:74:58 [INFO] [stderr] | [INFO] [stderr] 74 | clamp((g * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(min_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:74:76 [INFO] [stderr] | [INFO] [stderr] 74 | clamp((g * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:75:24 [INFO] [stderr] | [INFO] [stderr] 75 | clamp((b * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:75:58 [INFO] [stderr] | [INFO] [stderr] 75 | clamp((b * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(min_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:75:76 [INFO] [stderr] | [INFO] [stderr] 75 | clamp((b * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [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/raytracer/compositor/surface.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | / pub fn iter_pixels_mut<'a>(&'a mut self) -> IterPixelMut<'a, u8> { [INFO] [stderr] 113 | | IterPixelMut(self.buffer.iter_mut()) [INFO] [stderr] 114 | | } [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/raytracer/intersection.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | pub material: &'a Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&'a Material + Send + Sync + 'a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/raytracer/octree.rs:25:14 [INFO] [stderr] | [INFO] [stderr] 25 | .unwrap_or(BBox::zero()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(BBox::zero)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:83:50 [INFO] [stderr] | [INFO] [stderr] 83 | x: self.bbox.min.x + x as f64 * len.x / 2.0, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:84:50 [INFO] [stderr] | [INFO] [stderr] 84 | y: self.bbox.min.y + y as f64 * len.y / 2.0, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:85:50 [INFO] [stderr] | [INFO] [stderr] 85 | z: self.bbox.min.z + z as f64 * len.z / 2.0 [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(z)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:88:50 [INFO] [stderr] | [INFO] [stderr] 88 | x: self.bbox.max.x - (1 - x) as f64 * len.x / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(1 - x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:89:50 [INFO] [stderr] | [INFO] [stderr] 89 | y: self.bbox.max.y - (1 - y) as f64 * len.y / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(1 - y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:90:50 [INFO] [stderr] | [INFO] [stderr] 90 | z: self.bbox.max.z - (1 - z) as f64 * len.z / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(1 - z)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raytracer/octree.rs:109:30 [INFO] [stderr] | [INFO] [stderr] 109 | if self.is_leaf() && self.leaf_data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.leaf_data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raytracer/octree.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | self.children.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/raytracer/octree.rs:170:36 [INFO] [stderr] | [INFO] [stderr] 170 | if let Some(val) = leaf_iter.filter(|x| x.bbox.intersects(ray)).next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|x| x.bbox.intersects(ray)).next()` with `find(|x| x.bbox.intersects(ray))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/raytracer/renderer.rs:45:33 [INFO] [stderr] | [INFO] [stderr] 45 | let renderer_opts = self.options.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.options` [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/raytracer/renderer.rs:52:17 [INFO] [stderr] | [INFO] [stderr] 52 | / let _ = child_tx.send(Renderer::render_tile(camera_local, scene, [INFO] [stderr] 53 | | renderer_opts, subsurface_factory)).unwrap(); [INFO] [stderr] | |_________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/raytracer/renderer.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | ::util::print_progress("Tile", start_time.clone(), (i + 1) as usize, jobs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `start_time` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:78:41 [INFO] [stderr] | [INFO] [stderr] 78 | let pixel_width = 1.0 / pixel_samples as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_samples)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | (x_subpixel as f64 * pixel_width + rng.gen::() * pixel_width, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(x_subpixel)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:86:30 [INFO] [stderr] | [INFO] [stderr] 86 | y_subpixel as f64 * pixel_width + rng.gen::() * pixel_width) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(y_subpixel)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:95:76 [INFO] [stderr] | [INFO] [stderr] 95 | color = color + result.clamp(0.0, 1.0).scale(1.0 / (pixel_samples * pixel_samples) as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_samples * pixel_samples)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/raytracer/renderer.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 106 | if options.reflect_depth <= 0 || options.refract_depth <= 0 { return Vec3::zero() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using options.reflect_depth == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/raytracer/renderer.rs:106:42 [INFO] [stderr] | [INFO] [stderr] 106 | if options.reflect_depth <= 0 || options.refract_depth <= 0 { return Vec3::zero() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using options.refract_depth == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:161:28 [INFO] [stderr] | [INFO] [stderr] 161 | }).scale(1.0 / options.gloss_samples as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(options.gloss_samples)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/raytracer/renderer.rs:189:32 [INFO] [stderr] | [INFO] [stderr] 189 | light: &Box, shadow_samples: u32) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `&Light+Send+Sync` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/raytracer/renderer.rs:191:12 [INFO] [stderr] | [INFO] [stderr] 191 | if shadow_samples <= 0 { return Vec3::one() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using shadow_samples == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:220:28 [INFO] [stderr] | [INFO] [stderr] 220 | shadow.scale(1.0 / shadow_sample_tries as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(shadow_sample_tries)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | let ratio = self.image_height as f64 / self.image_width as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:95:48 [INFO] [stderr] | [INFO] [stderr] 95 | let ratio = self.image_height as f64 / self.image_width as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | self.pixel_width = camera_width / (self.image_width - 1) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_width - 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:104:45 [INFO] [stderr] | [INFO] [stderr] 104 | self.pixel_height = camera_height / (self.image_height - 1) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_height - 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (16/7) [INFO] [stderr] --> src/mat4.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new(t00: f64, t01: f64, t02: f64, t03: f64, [INFO] [stderr] 45 | | t10: f64, t11: f64, t12: f64, t13: f64, [INFO] [stderr] 46 | | t20: f64, t21: f64, t22: f64, t23: f64, [INFO] [stderr] 47 | | t30: f64, t31: f64, t32: f64, t33: f64) [INFO] [stderr] ... | [INFO] [stderr] 75 | | Mat4 { m: m } [INFO] [stderr] 76 | | } [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] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-raytracer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/geometry/bbox.rs:444:5 [INFO] [stderr] | [INFO] [stderr] 444 | assert_eq!(1.0, bbox.x_len()); [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/geometry/bbox.rs:444:5 [INFO] [stderr] | [INFO] [stderr] 444 | assert_eq!(1.0, bbox.x_len()); [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/geometry/bbox.rs:445:5 [INFO] [stderr] | [INFO] [stderr] 445 | assert_eq!(2.0, bbox.y_len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/bbox.rs:445:5 [INFO] [stderr] | [INFO] [stderr] 445 | assert_eq!(2.0, bbox.y_len()); [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/geometry/bbox.rs:446:5 [INFO] [stderr] | [INFO] [stderr] 446 | assert_eq!(3.0, bbox.z_len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/bbox.rs:446:5 [INFO] [stderr] | [INFO] [stderr] 446 | assert_eq!(3.0, bbox.z_len()); [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/geometry/prims/plane.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | assert_eq!(intersection.position.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/plane.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | assert_eq!(intersection.position.x, 0.0); [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/geometry/prims/plane.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | assert_eq!(intersection.position.y, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/plane.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | assert_eq!(intersection.position.y, 0.0); [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/geometry/prims/plane.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | assert_eq!(intersection.position.z, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/plane.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | assert_eq!(intersection.position.z, 0.0); [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/geometry/prims/plane.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | assert_eq!(intersection.n.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/plane.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | assert_eq!(intersection.n.x, 0.0); [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/geometry/prims/plane.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | assert_eq!(intersection.n.y, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/plane.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | assert_eq!(intersection.n.y, 1.0); [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/geometry/prims/plane.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | assert_eq!(intersection.n.z, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/plane.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | assert_eq!(intersection.n.z, 0.0); [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/geometry/prims/sphere.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | assert_eq!(intersection.position.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/sphere.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | assert_eq!(intersection.position.x, 0.0); [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/geometry/prims/sphere.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | assert_eq!(intersection.position.y, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/sphere.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | assert_eq!(intersection.position.y, 0.0); [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/geometry/prims/sphere.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | assert_eq!(intersection.position.z, -1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/sphere.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | assert_eq!(intersection.position.z, -1.0); [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/geometry/prims/sphere.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | assert_eq!(intersection.n.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/sphere.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | assert_eq!(intersection.n.x, 0.0); [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/geometry/prims/sphere.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | assert_eq!(intersection.n.y, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/sphere.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | assert_eq!(intersection.n.y, 0.0); [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/geometry/prims/sphere.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | assert_eq!(intersection.n.z, -1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/sphere.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | assert_eq!(intersection.n.z, -1.0); [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/geometry/prims/triangle.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | assert_eq!(intersection.position.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | assert_eq!(intersection.position.x, 0.0); [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/geometry/prims/triangle.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | assert_eq!(intersection.position.y, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | assert_eq!(intersection.position.y, 0.5); [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/geometry/prims/triangle.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | assert_eq!(intersection.position.z, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | assert_eq!(intersection.position.z, 0.0); [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/geometry/prims/triangle.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | assert_eq!(intersection.u, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | assert_eq!(intersection.u, 0.25); [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/geometry/prims/triangle.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | assert_eq!(intersection.v, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | assert_eq!(intersection.v, 0.5); [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/geometry/prims/triangle.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | assert_eq!(intersection.n.x, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | assert_eq!(intersection.n.x, 0.0); [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/geometry/prims/triangle.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | assert_eq!(intersection.n.y, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | assert_eq!(intersection.n.y, 0.5); [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/geometry/prims/triangle.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | assert_eq!(intersection.n.z, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/geometry/prims/triangle.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | assert_eq!(intersection.n.z, 0.0); [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/material/textures/imagetexture.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(left.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/material/textures/imagetexture.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(left.r, 0.5); [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/material/textures/imagetexture.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | assert_eq!(left.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/material/textures/imagetexture.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | assert_eq!(left.g, 0.5); [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/material/textures/imagetexture.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(left.b, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/material/textures/imagetexture.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(left.b, 0.0); [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/material/textures/imagetexture.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | assert_eq!(center.r, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/material/textures/imagetexture.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | assert_eq!(center.r, 0.25); [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/material/textures/imagetexture.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | assert_eq!(center.g, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/material/textures/imagetexture.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | assert_eq!(center.g, 0.25); [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/material/textures/imagetexture.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(center.b, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/material/textures/imagetexture.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(center.b, 0.25); [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: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/material/textures/cubemap.rs:38:56 [INFO] [stderr] | [INFO] [stderr] 38 | unsafe { ::std::ptr::write::(p.offset(i as isize), tex); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `p.add(i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/heptoroid.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | let heptoroid = ::util::import::from_obj(heptoroid_material, false, "./docs/assets/models/heptoroid.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/lucy.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | let lucy = ::util::import::from_obj(grey, true, "./docs/assets/models/lucy.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sibenik.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | let sibenik = ::util::import::from_obj(stone, false, "./docs/assets/models/sibenik.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sponza.rs:42:24 [INFO] [stderr] | [INFO] [stderr] 42 | let sponza_other = ::util::import::from_obj(stone, false, "./docs/assets/models/sponza_other.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sponza.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | let sponza_column_shrubbery = ::util::import::from_obj(shrubbery, false, "./docs/assets/models/sponza_column_shrubbery.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/sponza.rs:48:24 [INFO] [stderr] | [INFO] [stderr] 48 | let sponza_cloth = ::util::import::from_obj(cloth, false, "./docs/assets/models/sponza_cloth.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/tachikoma.rs:35:21 [INFO] [stderr] | [INFO] [stderr] 35 | let tachikoma = ::util::import::from_obj(blue, false, "./docs/assets/models/tachikoma.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/my_scene/teapot.rs:38:22 [INFO] [stderr] | [INFO] [stderr] 38 | let mut teapot = ::util::import::from_obj(porcelain, false, "./docs/assets/models/teapot.obj").ok().expect("failed to load obj model");; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/raytracer/animator/easing.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | assert_eq!(linear_easing.t(0.0), 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/animator/easing.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | assert_eq!(linear_easing.t(0.0), 0.0); [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/raytracer/animator/easing.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | assert_eq!(linear_easing.t(0.25), 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/animator/easing.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | assert_eq!(linear_easing.t(0.25), 0.25); [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/raytracer/animator/easing.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | assert_eq!(linear_easing.t(0.5), 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/animator/easing.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | assert_eq!(linear_easing.t(0.5), 0.5); [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/raytracer/animator/easing.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | assert_eq!(linear_easing.t(0.75), 0.75); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/animator/easing.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | assert_eq!(linear_easing.t(0.75), 0.75); [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/raytracer/animator/easing.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | assert_eq!(linear_easing.t(1.0), 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/animator/easing.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | assert_eq!(linear_easing.t(1.0), 1.0); [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: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | clamp((r * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:73:58 [INFO] [stderr] | [INFO] [stderr] 73 | clamp((r * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(min_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:73:76 [INFO] [stderr] | [INFO] [stderr] 73 | clamp((r * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:74:24 [INFO] [stderr] | [INFO] [stderr] 74 | clamp((g * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:74:58 [INFO] [stderr] | [INFO] [stderr] 74 | clamp((g * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(min_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:74:76 [INFO] [stderr] | [INFO] [stderr] 74 | clamp((g * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:75:24 [INFO] [stderr] | [INFO] [stderr] 75 | clamp((b * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:75:58 [INFO] [stderr] | [INFO] [stderr] 75 | clamp((b * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(min_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:75:76 [INFO] [stderr] | [INFO] [stderr] 75 | clamp((b * max_color as f64).round() as i32, min_color as i32, max_color as i32) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(max_color)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | assert_eq!(foo_color.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | assert_eq!(foo_color.r, 1.0); [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/raytracer/compositor/colorrgba.rs:223:5 [INFO] [stderr] | [INFO] [stderr] 223 | assert_eq!(foo_color.g, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:223:5 [INFO] [stderr] | [INFO] [stderr] 223 | assert_eq!(foo_color.g, 0.0); [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/raytracer/compositor/colorrgba.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | assert_eq!(foo_color.b, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:224:5 [INFO] [stderr] | [INFO] [stderr] 224 | assert_eq!(foo_color.b, 0.0); [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/raytracer/compositor/colorrgba.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | assert_eq!(foo_color.a, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/compositor/colorrgba.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | assert_eq!(foo_color.a, 1.0); [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/raytracer/compositor/surface.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | / pub fn iter_pixels_mut<'a>(&'a mut self) -> IterPixelMut<'a, u8> { [INFO] [stderr] 113 | | IterPixelMut(self.buffer.iter_mut()) [INFO] [stderr] 114 | | } [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/raytracer/intersection.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | pub material: &'a Box [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&'a Material + Send + Sync + 'a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/raytracer/octree.rs:25:14 [INFO] [stderr] | [INFO] [stderr] 25 | .unwrap_or(BBox::zero()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(BBox::zero)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:83:50 [INFO] [stderr] | [INFO] [stderr] 83 | x: self.bbox.min.x + x as f64 * len.x / 2.0, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:84:50 [INFO] [stderr] | [INFO] [stderr] 84 | y: self.bbox.min.y + y as f64 * len.y / 2.0, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:85:50 [INFO] [stderr] | [INFO] [stderr] 85 | z: self.bbox.min.z + z as f64 * len.z / 2.0 [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(z)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:88:50 [INFO] [stderr] | [INFO] [stderr] 88 | x: self.bbox.max.x - (1 - x) as f64 * len.x / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(1 - x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:89:50 [INFO] [stderr] | [INFO] [stderr] 89 | y: self.bbox.max.y - (1 - y) as f64 * len.y / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(1 - y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/octree.rs:90:50 [INFO] [stderr] | [INFO] [stderr] 90 | z: self.bbox.max.z - (1 - z) as f64 * len.z / 2.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(1 - z)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raytracer/octree.rs:109:30 [INFO] [stderr] | [INFO] [stderr] 109 | if self.is_leaf() && self.leaf_data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.leaf_data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raytracer/octree.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | self.children.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/raytracer/octree.rs:170:36 [INFO] [stderr] | [INFO] [stderr] 170 | if let Some(val) = leaf_iter.filter(|x| x.bbox.intersects(ray)).next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|x| x.bbox.intersects(ray)).next()` with `find(|x| x.bbox.intersects(ray))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/raytracer/ray.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | assert_eq!(1.0, intersection.unwrap().position.x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/raytracer/ray.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | assert_eq!(1.0, intersection.unwrap().position.x); [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/raytracer/renderer.rs:45:33 [INFO] [stderr] | [INFO] [stderr] 45 | let renderer_opts = self.options.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.options` [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: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/raytracer/renderer.rs:52:17 [INFO] [stderr] | [INFO] [stderr] 52 | / let _ = child_tx.send(Renderer::render_tile(camera_local, scene, [INFO] [stderr] 53 | | renderer_opts, subsurface_factory)).unwrap(); [INFO] [stderr] | |_________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/raytracer/renderer.rs:62:44 [INFO] [stderr] | [INFO] [stderr] 62 | ::util::print_progress("Tile", start_time.clone(), (i + 1) as usize, jobs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `start_time` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:78:41 [INFO] [stderr] | [INFO] [stderr] 78 | let pixel_width = 1.0 / pixel_samples as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_samples)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | (x_subpixel as f64 * pixel_width + rng.gen::() * pixel_width, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(x_subpixel)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:86:30 [INFO] [stderr] | [INFO] [stderr] 86 | y_subpixel as f64 * pixel_width + rng.gen::() * pixel_width) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(y_subpixel)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:95:76 [INFO] [stderr] | [INFO] [stderr] 95 | color = color + result.clamp(0.0, 1.0).scale(1.0 / (pixel_samples * pixel_samples) as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel_samples * pixel_samples)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/raytracer/renderer.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 106 | if options.reflect_depth <= 0 || options.refract_depth <= 0 { return Vec3::zero() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using options.reflect_depth == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/raytracer/renderer.rs:106:42 [INFO] [stderr] | [INFO] [stderr] 106 | if options.reflect_depth <= 0 || options.refract_depth <= 0 { return Vec3::zero() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using options.refract_depth == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:161:28 [INFO] [stderr] | [INFO] [stderr] 161 | }).scale(1.0 / options.gloss_samples as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(options.gloss_samples)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/raytracer/renderer.rs:189:32 [INFO] [stderr] | [INFO] [stderr] 189 | light: &Box, shadow_samples: u32) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `&Light+Send+Sync` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/raytracer/renderer.rs:191:12 [INFO] [stderr] | [INFO] [stderr] 191 | if shadow_samples <= 0 { return Vec3::one() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using shadow_samples == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/raytracer/renderer.rs:220:28 [INFO] [stderr] | [INFO] [stderr] 220 | shadow.scale(1.0 / shadow_sample_tries as f64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(shadow_sample_tries)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | let ratio = self.image_height as f64 / self.image_width as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:95:48 [INFO] [stderr] | [INFO] [stderr] 95 | let ratio = self.image_height as f64 / self.image_width as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | self.pixel_width = camera_width / (self.image_width - 1) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_width - 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene/camera.rs:104:45 [INFO] [stderr] | [INFO] [stderr] 104 | self.pixel_height = camera_height / (self.image_height - 1) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.image_height - 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/util/import.rs:150:16 [INFO] [stderr] | [INFO] [stderr] 150 | let mesh = from_obj(material, false, "test/res/cube.obj") [INFO] [stderr] | ________________^ [INFO] [stderr] 151 | | .ok().expect("failed to laod test obj `test/res/cube.obj`"); [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/util/import.rs:158:19 [INFO] [stderr] | [INFO] [stderr] 158 | let surface = from_image("test/res/png24.png") [INFO] [stderr] | ___________________^ [INFO] [stderr] 159 | | .ok().expect("failed to load test image `test/res/png24.png`"); [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vec3.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | / assert_eq!( [INFO] [stderr] 284 | | 5.0, [INFO] [stderr] 285 | | Vec3 { [INFO] [stderr] 286 | | x: 0.0, [INFO] [stderr] ... | [INFO] [stderr] 293 | | }) [INFO] [stderr] 294 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vec3.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | / assert_eq!( [INFO] [stderr] 284 | | 5.0, [INFO] [stderr] 285 | | Vec3 { [INFO] [stderr] 286 | | x: 0.0, [INFO] [stderr] ... | [INFO] [stderr] 293 | | }) [INFO] [stderr] 294 | | ); [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/vec3.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | / assert_eq!( [INFO] [stderr] 308 | | 29.0_f64.sqrt(), [INFO] [stderr] 309 | | Vec3 { [INFO] [stderr] 310 | | x: 2.0, [INFO] [stderr] ... | [INFO] [stderr] 313 | | }.len() [INFO] [stderr] 314 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vec3.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | / assert_eq!( [INFO] [stderr] 308 | | 29.0_f64.sqrt(), [INFO] [stderr] 309 | | Vec3 { [INFO] [stderr] 310 | | x: 2.0, [INFO] [stderr] ... | [INFO] [stderr] 313 | | }.len() [INFO] [stderr] 314 | | ); [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/vec3.rs:315:5 [INFO] [stderr] | [INFO] [stderr] 315 | / assert_eq!( [INFO] [stderr] 316 | | 1.0, [INFO] [stderr] 317 | | Vec3 { [INFO] [stderr] 318 | | x: 10.0, [INFO] [stderr] ... | [INFO] [stderr] 322 | | .len() [INFO] [stderr] 323 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vec3.rs:315:5 [INFO] [stderr] | [INFO] [stderr] 315 | / assert_eq!( [INFO] [stderr] 316 | | 1.0, [INFO] [stderr] 317 | | Vec3 { [INFO] [stderr] 318 | | x: 10.0, [INFO] [stderr] ... | [INFO] [stderr] 322 | | .len() [INFO] [stderr] 323 | | ); [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: this function has too many arguments (16/7) [INFO] [stderr] --> src/mat4.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new(t00: f64, t01: f64, t02: f64, t03: f64, [INFO] [stderr] 45 | | t10: f64, t11: f64, t12: f64, t13: f64, [INFO] [stderr] 46 | | t20: f64, t21: f64, t22: f64, t23: f64, [INFO] [stderr] 47 | | t30: f64, t31: f64, t32: f64, t33: f64) [INFO] [stderr] ... | [INFO] [stderr] 75 | | Mat4 { m: m } [INFO] [stderr] 76 | | } [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] error: equal expressions as operands to `-` [INFO] [stderr] --> src/mat4.rs:495:16 [INFO] [stderr] | [INFO] [stderr] 495 | assert_eq!(m - m, Mat4::zero()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: aborting due to 46 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-raytracer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "949e75c9547df64ba4cb90c7ea21b888deabd5a34243721f06ddc7fc0e991a40"` [INFO] running `"docker" "rm" "-f" "949e75c9547df64ba4cb90c7ea21b888deabd5a34243721f06ddc7fc0e991a40"` [INFO] [stdout] 949e75c9547df64ba4cb90c7ea21b888deabd5a34243721f06ddc7fc0e991a40