[INFO] updating cached repository gam0022/hanamaru-renderer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/gam0022/hanamaru-renderer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/gam0022/hanamaru-renderer" "work/ex/clippy-test-run/sources/stable/gh/gam0022/hanamaru-renderer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/gam0022/hanamaru-renderer'... [INFO] [stderr] done. [INFO] [stderr] Checking out files: 33% (73/216) Checking out files: 34% (74/216) Checking out files: 35% (76/216) Checking out files: 36% (78/216) Checking out files: 37% (80/216) Checking out files: 38% (83/216) Checking out files: 39% (85/216) Checking out files: 40% (87/216) Checking out files: 41% (89/216) Checking out files: 42% (91/216) Checking out files: 43% (93/216) Checking out files: 44% (96/216) Checking out files: 45% (98/216) Checking out files: 46% (100/216) Checking out files: 47% (102/216) Checking out files: 48% (104/216) Checking out files: 49% (106/216) Checking out files: 50% (108/216) Checking out files: 51% (111/216) Checking out files: 52% (113/216) Checking out files: 53% (115/216) Checking out files: 54% (117/216) Checking out files: 55% (119/216) Checking out files: 56% (121/216) Checking out files: 57% (124/216) Checking out files: 58% (126/216) Checking out files: 59% (128/216) Checking out files: 60% (130/216) Checking out files: 61% (132/216) Checking out files: 62% (134/216) Checking out files: 63% (137/216) Checking out files: 64% (139/216) Checking out files: 65% (141/216) Checking out files: 66% (143/216) Checking out files: 67% (145/216) Checking out files: 68% (147/216) Checking out files: 69% (150/216) Checking out files: 70% (152/216) Checking out files: 71% (154/216) Checking out files: 72% (156/216) Checking out files: 73% (158/216) Checking out files: 74% (160/216) Checking out files: 75% (162/216) Checking out files: 76% (165/216) Checking out files: 77% (167/216) Checking out files: 78% (169/216) Checking out files: 79% (171/216) Checking out files: 80% (173/216) Checking out files: 81% (175/216) Checking out files: 82% (178/216) Checking out files: 83% (180/216) Checking out files: 84% (182/216) Checking out files: 85% (184/216) Checking out files: 86% (186/216) Checking out files: 87% (188/216) Checking out files: 88% (191/216) Checking out files: 89% (193/216) Checking out files: 90% (195/216) Checking out files: 91% (197/216) Checking out files: 92% (199/216) Checking out files: 93% (201/216) Checking out files: 94% (204/216) Checking out files: 95% (206/216) Checking out files: 95% (207/216) Checking out files: 96% (208/216) Checking out files: 97% (210/216) Checking out files: 98% (212/216) Checking out files: 99% (214/216) Checking out files: 100% (216/216) Checking out files: 100% (216/216), done. [INFO] running `"git" "clone" "work/cache/sources/gh/gam0022/hanamaru-renderer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gam0022/hanamaru-renderer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gam0022/hanamaru-renderer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 16c4ade782e17893ab6f0d8d646422677c2b210e [INFO] sha for GitHub repo gam0022/hanamaru-renderer: 16c4ade782e17893ab6f0d8d646422677c2b210e [INFO] validating manifest of gam0022/hanamaru-renderer 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 gam0022/hanamaru-renderer 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 gam0022/hanamaru-renderer [INFO] finished frobbing gam0022/hanamaru-renderer [INFO] frobbed toml for gam0022/hanamaru-renderer written to work/ex/clippy-test-run/sources/stable/gh/gam0022/hanamaru-renderer/Cargo.toml [INFO] started frobbing gam0022/hanamaru-renderer [INFO] finished frobbing gam0022/hanamaru-renderer [INFO] frobbed toml for gam0022/hanamaru-renderer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/gam0022/hanamaru-renderer/Cargo.toml [INFO] crate gam0022/hanamaru-renderer 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 gam0022/hanamaru-renderer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/gam0022/hanamaru-renderer:/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] 70c37e03e89bdd4894f1d0c1681aec5b4d70b563a3e99b45f855ea4374713313 [INFO] running `"docker" "start" "-a" "70c37e03e89bdd4894f1d0c1681aec5b4d70b563a3e99b45f855ea4374713313"` [INFO] [stderr] Checking num-complex v0.2.0 [INFO] [stderr] Checking num-bigint v0.2.0 [INFO] [stderr] Compiling syn v0.14.9 [INFO] [stderr] Checking num-rational v0.2.1 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking hanamaru-renderer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | Vector3 { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/vector.rs:16:25 [INFO] [stderr] | [INFO] [stderr] 16 | Vector3 { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:16:31 [INFO] [stderr] | [INFO] [stderr] 16 | Vector3 { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:257:19 [INFO] [stderr] | [INFO] [stderr] 257 | Vector2 { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:257:25 [INFO] [stderr] | [INFO] [stderr] 257 | Vector2 { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/scene.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let t = -b - d.sqrt(); [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: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:262:13 [INFO] [stderr] | [INFO] [stderr] 262 | bvh: bvh, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvh` [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.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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.rs:412:13 [INFO] [stderr] | [INFO] [stderr] 412 | scene: scene, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scene` [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.rs:413:13 [INFO] [stderr] | [INFO] [stderr] 413 | bvh: bvh, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvh` [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/camera.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | eye: eye, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `eye` [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/camera.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | lens_shape: lens_shape, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lens_shape` [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/camera.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | lens_radius: lens_radius, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lens_radius` [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/camera.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | focus_distance: focus_distance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `focus_distance` [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/camera.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | forward: forward, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `forward` [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/camera.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [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/camera.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | 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/texture.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [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/texture.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [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/loader.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | Vector3 { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/vector.rs:16:25 [INFO] [stderr] | [INFO] [stderr] 16 | Vector3 { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:16:31 [INFO] [stderr] | [INFO] [stderr] 16 | Vector3 { x: x, y: y, z: z } [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:257:19 [INFO] [stderr] | [INFO] [stderr] 257 | Vector2 { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/vector.rs:257:25 [INFO] [stderr] | [INFO] [stderr] 257 | Vector2 { x: x, y: y } [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/matrix.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/scene.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let t = -b - d.sqrt(); [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: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:262:13 [INFO] [stderr] | [INFO] [stderr] 262 | bvh: bvh, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvh` [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.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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.rs:412:13 [INFO] [stderr] | [INFO] [stderr] 412 | scene: scene, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scene` [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.rs:413:13 [INFO] [stderr] | [INFO] [stderr] 413 | bvh: bvh, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvh` [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/camera.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | eye: eye, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `eye` [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/camera.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | lens_shape: lens_shape, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lens_shape` [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/camera.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | lens_radius: lens_radius, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lens_radius` [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/camera.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | focus_distance: focus_distance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `focus_distance` [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/camera.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | forward: forward, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `forward` [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/camera.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [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/camera.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | 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/texture.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [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/texture.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [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/loader.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | 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: unneeded return statement [INFO] [stderr] --> src/matrix.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | return s; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/scene.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 312 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 313 | | if direction.z.is_sign_positive() { [INFO] [stderr] 314 | | self.intensity * self.pz_texture.sample_bilinear_0center(direction.x / direction.z, direction.y / direction.z) [INFO] [stderr] 315 | | } else { [INFO] [stderr] 316 | | self.intensity * self.nz_texture.sample_bilinear_0center(direction.x / direction.z, -direction.y / direction.z) [INFO] [stderr] 317 | | } [INFO] [stderr] 318 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 312 | } else if direction.z.is_sign_positive() { [INFO] [stderr] 313 | self.intensity * self.pz_texture.sample_bilinear_0center(direction.x / direction.z, direction.y / direction.z) [INFO] [stderr] 314 | } else { [INFO] [stderr] 315 | self.intensity * self.nz_texture.sample_bilinear_0center(direction.x / direction.z, -direction.y / direction.z) [INFO] [stderr] 316 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/renderer.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | gamma [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/renderer.rs:72:25 [INFO] [stderr] | [INFO] [stderr] 72 | let gamma = linear_to_gamma(ldr); [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: long literal lacking separators [INFO] [stderr] --> src/renderer.rs:165:47 [INFO] [stderr] | [INFO] [stderr] 165 | let s = ((4.0 + normalized_coord.x) * 100870.0) as usize; [INFO] [stderr] | ^^^^^^^^ help: consider: `100_870.0` [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: long literal lacking separators [INFO] [stderr] --> src/renderer.rs:166:47 [INFO] [stderr] | [INFO] [stderr] 166 | let t = ((4.0 + normalized_coord.y) * 100304.0) as usize; [INFO] [stderr] | ^^^^^^^^ help: consider: `100_304.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/renderer.rs:167:28 [INFO] [stderr] | [INFO] [stderr] 167 | let seed: &[_] = &[8700304, sampling as usize, s, t]; [INFO] [stderr] | ^^^^^^^ help: consider: `8_700_304` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | SurfaceType::GGX { f0: _ } => true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/matrix.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | return s; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `GGX { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | SurfaceType::Refraction { refractive_index: _ } => false, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Refraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | SurfaceType::GGXRefraction { refractive_index: _ } => false, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `GGXRefraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | SurfaceType::Refraction { refractive_index: _ } => unimplemented!(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Refraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | SurfaceType::GGXRefraction { refractive_index: _ } => unimplemented!() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `GGXRefraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/scene.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 312 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 313 | | if direction.z.is_sign_positive() { [INFO] [stderr] 314 | | self.intensity * self.pz_texture.sample_bilinear_0center(direction.x / direction.z, direction.y / direction.z) [INFO] [stderr] 315 | | } else { [INFO] [stderr] 316 | | self.intensity * self.nz_texture.sample_bilinear_0center(direction.x / direction.z, -direction.y / direction.z) [INFO] [stderr] 317 | | } [INFO] [stderr] 318 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 312 | } else if direction.z.is_sign_positive() { [INFO] [stderr] 313 | self.intensity * self.pz_texture.sample_bilinear_0center(direction.x / direction.z, direction.y / direction.z) [INFO] [stderr] 314 | } else { [INFO] [stderr] 315 | self.intensity * self.nz_texture.sample_bilinear_0center(direction.x / direction.z, -direction.y / direction.z) [INFO] [stderr] 316 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/renderer.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | gamma [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/renderer.rs:72:25 [INFO] [stderr] | [INFO] [stderr] 72 | let gamma = linear_to_gamma(ldr); [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: long literal lacking separators [INFO] [stderr] --> src/renderer.rs:165:47 [INFO] [stderr] | [INFO] [stderr] 165 | let s = ((4.0 + normalized_coord.x) * 100870.0) as usize; [INFO] [stderr] | ^^^^^^^^ help: consider: `100_870.0` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:340:38 [INFO] [stderr] | [INFO] [stderr] 340 | center: Vector3::new(0.5018854352719382, 0.3899602675366644, 1.8484239850862165), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.501_885_435_271_938_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:340:58 [INFO] [stderr] | [INFO] [stderr] 340 | center: Vector3::new(0.5018854352719382, 0.3899602675366644, 1.8484239850862165), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.389_960_267_536_664_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:340:78 [INFO] [stderr] | [INFO] [stderr] 340 | center: Vector3::new(0.5018854352719382, 0.3899602675366644, 1.8484239850862165), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.848_423_985_086_216_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:341:25 [INFO] [stderr] | [INFO] [stderr] 341 | radius: 0.3899602675366644, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.389_960_267_536_664_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:350:39 [INFO] [stderr] | [INFO] [stderr] 350 | center: Vector3::new(-0.5748933256792994, 0.2951263257801348, 2.266298272012876), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.574_893_325_679_299_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:350:59 [INFO] [stderr] | [INFO] [stderr] 350 | center: Vector3::new(-0.5748933256792994, 0.2951263257801348, 2.266298272012876), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.295_126_325_780_134_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:350:79 [INFO] [stderr] | [INFO] [stderr] 350 | center: Vector3::new(-0.5748933256792994, 0.2951263257801348, 2.266298272012876), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.266_298_272_012_876` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:351:25 [INFO] [stderr] | [INFO] [stderr] 351 | radius: 0.2951263257801348, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.295_126_325_780_134_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/renderer.rs:166:47 [INFO] [stderr] | [INFO] [stderr] 166 | let t = ((4.0 + normalized_coord.y) * 100304.0) as usize; [INFO] [stderr] | ^^^^^^^^ help: consider: `100_304.0` [INFO] [stderr] | [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:360:39 [INFO] [stderr] | [INFO] [stderr] 360 | center: Vector3::new(-0.9865234498515534, 0.3386858117447873, 2.9809338871934585), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.986_523_449_851_553_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:360:59 [INFO] [stderr] | [INFO] [stderr] 360 | center: Vector3::new(-0.9865234498515534, 0.3386858117447873, 2.9809338871934585), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.338_685_811_744_787_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:360:79 [INFO] [stderr] | [INFO] [stderr] 360 | center: Vector3::new(-0.9865234498515534, 0.3386858117447873, 2.9809338871934585), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.980_933_887_193_458_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/renderer.rs:167:28 [INFO] [stderr] | [INFO] [stderr] 167 | let seed: &[_] = &[8700304, sampling as usize, s, t]; [INFO] [stderr] | ^^^^^^^ help: consider: `8_700_304` [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:361:25 [INFO] [stderr] | [INFO] [stderr] 361 | radius: 0.3386858117447873, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.338_685_811_744_787_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:370:38 [INFO] [stderr] | [INFO] [stderr] 370 | center: Vector3::new(0.6946459502665004, 0.2764689077971783, 2.7455446851003025), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.694_645_950_266_500_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:370:58 [INFO] [stderr] | [INFO] [stderr] 370 | center: Vector3::new(0.6946459502665004, 0.2764689077971783, 2.7455446851003025), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.276_468_907_797_178_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:370:78 [INFO] [stderr] | [INFO] [stderr] 370 | center: Vector3::new(0.6946459502665004, 0.2764689077971783, 2.7455446851003025), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.745_544_685_100_302_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:371:25 [INFO] [stderr] | [INFO] [stderr] 371 | radius: 0.2764689077971783, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.276_468_907_797_178_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:390:38 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `3.702_746_419_881_695_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:390:58 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.391_760_837_424_549_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:390:79 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.405_058_492_814_515_56` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:391:25 [INFO] [stderr] | [INFO] [stderr] 391 | radius: 0.3917608374245498, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.391_760_837_424_549_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:458:32 [INFO] [stderr] | [INFO] [stderr] 458 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:481:32 [INFO] [stderr] | [INFO] [stderr] 481 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:482:32 [INFO] [stderr] | [INFO] [stderr] 482 | let rx = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | SurfaceType::GGX { f0: _ } => true, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `GGX { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | SurfaceType::Refraction { refractive_index: _ } => false, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Refraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | SurfaceType::GGXRefraction { refractive_index: _ } => false, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `GGXRefraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:681:32 [INFO] [stderr] | [INFO] [stderr] 681 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | SurfaceType::Refraction { refractive_index: _ } => unimplemented!(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Refraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/material.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | SurfaceType::GGXRefraction { refractive_index: _ } => unimplemented!() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `GGXRefraction { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:704:32 [INFO] [stderr] | [INFO] [stderr] 704 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:705:32 [INFO] [stderr] | [INFO] [stderr] 705 | let rx = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:340:38 [INFO] [stderr] | [INFO] [stderr] 340 | center: Vector3::new(0.5018854352719382, 0.3899602675366644, 1.8484239850862165), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.501_885_435_271_938_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:340:58 [INFO] [stderr] | [INFO] [stderr] 340 | center: Vector3::new(0.5018854352719382, 0.3899602675366644, 1.8484239850862165), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.389_960_267_536_664_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:340:78 [INFO] [stderr] | [INFO] [stderr] 340 | center: Vector3::new(0.5018854352719382, 0.3899602675366644, 1.8484239850862165), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `1.848_423_985_086_216_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:341:25 [INFO] [stderr] | [INFO] [stderr] 341 | radius: 0.3899602675366644, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.389_960_267_536_664_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:350:39 [INFO] [stderr] | [INFO] [stderr] 350 | center: Vector3::new(-0.5748933256792994, 0.2951263257801348, 2.266298272012876), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.574_893_325_679_299_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:350:59 [INFO] [stderr] | [INFO] [stderr] 350 | center: Vector3::new(-0.5748933256792994, 0.2951263257801348, 2.266298272012876), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.295_126_325_780_134_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:350:79 [INFO] [stderr] | [INFO] [stderr] 350 | center: Vector3::new(-0.5748933256792994, 0.2951263257801348, 2.266298272012876), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.266_298_272_012_876` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:351:25 [INFO] [stderr] | [INFO] [stderr] 351 | radius: 0.2951263257801348, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.295_126_325_780_134_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:360:39 [INFO] [stderr] | [INFO] [stderr] 360 | center: Vector3::new(-0.9865234498515534, 0.3386858117447873, 2.9809338871934585), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.986_523_449_851_553_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:360:59 [INFO] [stderr] | [INFO] [stderr] 360 | center: Vector3::new(-0.9865234498515534, 0.3386858117447873, 2.9809338871934585), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.338_685_811_744_787_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:360:79 [INFO] [stderr] | [INFO] [stderr] 360 | center: Vector3::new(-0.9865234498515534, 0.3386858117447873, 2.9809338871934585), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.980_933_887_193_458_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:361:25 [INFO] [stderr] | [INFO] [stderr] 361 | radius: 0.3386858117447873, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.338_685_811_744_787_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:370:38 [INFO] [stderr] | [INFO] [stderr] 370 | center: Vector3::new(0.6946459502665004, 0.2764689077971783, 2.7455446851003025), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.694_645_950_266_500_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:370:58 [INFO] [stderr] | [INFO] [stderr] 370 | center: Vector3::new(0.6946459502665004, 0.2764689077971783, 2.7455446851003025), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.276_468_907_797_178_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:370:78 [INFO] [stderr] | [INFO] [stderr] 370 | center: Vector3::new(0.6946459502665004, 0.2764689077971783, 2.7455446851003025), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.745_544_685_100_302_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:371:25 [INFO] [stderr] | [INFO] [stderr] 371 | radius: 0.2764689077971783, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.276_468_907_797_178_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:390:38 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `3.702_746_419_881_695_2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:390:58 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.391_760_837_424_549_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:390:79 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.405_058_492_814_515_56` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:391:25 [INFO] [stderr] | [INFO] [stderr] 391 | radius: 0.3917608374245498, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.391_760_837_424_549_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:458:32 [INFO] [stderr] | [INFO] [stderr] 458 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:481:32 [INFO] [stderr] | [INFO] [stderr] 481 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:482:32 [INFO] [stderr] | [INFO] [stderr] 482 | let rx = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:681:32 [INFO] [stderr] | [INFO] [stderr] 681 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:704:32 [INFO] [stderr] | [INFO] [stderr] 704 | let ry = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unary minus has lower precedence than method call [INFO] [stderr] --> src/main.rs:705:32 [INFO] [stderr] | [INFO] [stderr] 705 | let rx = rng.gen_range(-180.0.to_radians(), 180.0.to_radians()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider adding parentheses to clarify your intent: `-(180.0.to_radians())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotate_z` [INFO] [stderr] --> src/matrix.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn rotate_z(t: f64) -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inverse` [INFO] [stderr] --> src/matrix.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn inverse(&self) -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mix` [INFO] [stderr] --> src/math.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn mix(x: &Vector3, y: &Vector3, a: f64) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/matrix.rs:82:21 [INFO] [stderr] | [INFO] [stderr] 82 | let mut t = self.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: the loop variable `j` is used to index `t` [INFO] [stderr] --> src/matrix.rs:87:22 [INFO] [stderr] | [INFO] [stderr] 87 | for j in (i + 1)..4 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 87 | for (j, ) in t.iter().enumerate().take(4).skip((i + 1)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/scene.rs:324:32 [INFO] [stderr] | [INFO] [stderr] 324 | fn emissions(&self) -> Vec<&Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/renderer.rs:23:79 [INFO] [stderr] | [INFO] [stderr] 23 | fn calc_pixel(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, normalized_coord: &Vector2, sampling: u32) -> Color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:23:74 [INFO] [stderr] | [INFO] [stderr] 23 | fn calc_pixel(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, normalized_coord: &Vector2, sampling: u32) -> Color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Box]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:26:39 [INFO] [stderr] | [INFO] [stderr] 26 | let resolution = Vector2::new(imgbuf.width() as f64, imgbuf.height() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(imgbuf.width())` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:26:62 [INFO] [stderr] | [INFO] [stderr] 26 | let resolution = Vector2::new(imgbuf.width() as f64, imgbuf.height() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(imgbuf.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: an inclusive range would be more readable [INFO] [stderr] --> src/renderer.rs:32:25 [INFO] [stderr] | [INFO] [stderr] 32 | for sampling in 1..(self.max_sampling() + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `1..=self.max_sampling()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:36:47 [INFO] [stderr] | [INFO] [stderr] 36 | let frag_coord = Vector2::new(x as f64, (imgbuf.height() - y) as f64); [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/renderer.rs:36:57 [INFO] [stderr] | [INFO] [stderr] 36 | let frag_coord = Vector2::new(x as f64, (imgbuf.height() - y) as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(imgbuf.height() - 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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/renderer.rs:48:82 [INFO] [stderr] | [INFO] [stderr] 48 | fn supersampling(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, frag_coord: &Vector2, resolution: &Vector2, sampling: u32) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:48:77 [INFO] [stderr] | [INFO] [stderr] 48 | fn supersampling(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, frag_coord: &Vector2, resolution: &Vector2, sampling: u32) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Box]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:53:43 [INFO] [stderr] | [INFO] [stderr] 53 | let offset = Vector2::new(sx as f64, sy as f64) / config::SUPERSAMPLING as f64 - 0.5; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(sx)` [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/renderer.rs:53:54 [INFO] [stderr] | [INFO] [stderr] 53 | let offset = Vector2::new(sx as f64, sy as f64) / config::SUPERSAMPLING as f64 - 0.5; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(sy)` [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/renderer.rs:53:67 [INFO] [stderr] | [INFO] [stderr] 53 | let offset = Vector2::new(sx as f64, sy as f64) / config::SUPERSAMPLING as f64 - 0.5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(config::SUPERSAMPLING)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:62:53 [INFO] [stderr] | [INFO] [stderr] 62 | fn report_progress(&mut self, accumulation_buf: &Vec, sampling: u32, imgbuf: &mut ImageBuffer, Vec>) -> bool; [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:64:40 [INFO] [stderr] | [INFO] [stderr] 64 | fn update_imgbuf(accumulation_buf: &Vec, sampling: u32, imgbuf: &mut ImageBuffer, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let scale = ((sampling * config::SUPERSAMPLING * config::SUPERSAMPLING) as f64).recip(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(sampling * config::SUPERSAMPLING * config::SUPERSAMPLING)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:92:58 [INFO] [stderr] | [INFO] [stderr] 92 | fn save_progress_image(path: &str, accumulation_buf: &Vec, sampling: u32, imgbuf: &mut ImageBuffer, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:270:61 [INFO] [stderr] | [INFO] [stderr] 270 | scene: &SceneTrait, emissions: &Vec<&Box>, material: &PointMaterial) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Box]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/renderer.rs:270:66 [INFO] [stderr] | [INFO] [stderr] 270 | scene: &SceneTrait, emissions: &Vec<&Box>, material: &PointMaterial) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | color.data[0] as f64 / 255.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(color.data[0])` [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/color.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | color.data[1] as f64 / 255.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(color.data[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 u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | color.data[2] as f64 / 255.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(color.data[2])` [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/texture.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | let x = u * 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/texture.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | let y = v * self.image.height() 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/texture.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | let x = u * 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/texture.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let y = v * self.image.height() 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: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:23:49 [INFO] [stderr] | [INFO] [stderr] 23 | let split_line: Vec<&str> = l.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:35:61 [INFO] [stderr] | [INFO] [stderr] 35 | let v1: Vec<&str> = split_line[1].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:36:61 [INFO] [stderr] | [INFO] [stderr] 36 | let v2: Vec<&str> = split_line[2].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:37:61 [INFO] [stderr] | [INFO] [stderr] 37 | let v3: Vec<&str> = split_line[3].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:46:65 [INFO] [stderr] | [INFO] [stderr] 46 | let v4: Vec<&str> = split_line[4].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bvh.rs:91:65 [INFO] [stderr] | [INFO] [stderr] 91 | fn set_aabb_from_mesh(&mut self, mesh: &Mesh, face_indexes: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bvh.rs:101:63 [INFO] [stderr] | [INFO] [stderr] 101 | fn set_aabb_from_scene(&mut self, scene: &Scene, indexes: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | ((dx * dx + dy * dy) as f64).sqrt() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(dx * dx + dy * dy)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/filter.rs:25:54 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn execute(pixel: &Vector3, current: usize, img: &Vec, width: u32, height: u32) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/filter.rs:32:52 [INFO] [stderr] | [INFO] [stderr] 32 | fn bilateral(pixel: &Vector3, current: usize, img: &Vec, width: u32, height: u32, diameter: u32, sigma_i: f64, sigma_s: f64) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/filter.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / fn bilateral(pixel: &Vector3, current: usize, img: &Vec, width: u32, height: u32, diameter: u32, sigma_i: f64, sigma_s: f64) -> Vector3 { [INFO] [stderr] 33 | | let (x, y) = index_to_xy(current, width); [INFO] [stderr] 34 | | let current_sum = pixel.x + pixel.y + pixel.z; [INFO] [stderr] 35 | | let sum_scale = 1.0 / 3.0; [INFO] [stderr] ... | [INFO] [stderr] 57 | | filtered / w_p [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:47:42 [INFO] [stderr] | [INFO] [stderr] 47 | fn tee(f: &mut BufWriter, message: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotate_z` [INFO] [stderr] --> src/matrix.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn rotate_z(t: f64) -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `inverse` [INFO] [stderr] --> src/matrix.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn inverse(&self) -> Matrix44 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mix` [INFO] [stderr] --> src/math.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn mix(x: &Vector3, y: &Vector3, a: f64) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/main.rs:390:38 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `3.702_746_419_881_695` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:441:79 [INFO] [stderr] | [INFO] [stderr] 441 | albedo: Texture::from_color(hsv_to_rgb(Color::new(0.2 + 0.1 * count as f64, 1.0, 1.0))), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:446:64 [INFO] [stderr] | [INFO] [stderr] 446 | println!("{}, {}, {} : {}", px, r, pz, 0.2 + 0.1 * count as f64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:664:79 [INFO] [stderr] | [INFO] [stderr] 664 | albedo: Texture::from_color(hsv_to_rgb(Color::new(0.2 + 0.1 * count as f64, 1.0, 1.0))), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:669:64 [INFO] [stderr] | [INFO] [stderr] 669 | println!("{}, {}, {} : {}", px, r, pz, 0.2 + 0.1 * count as f64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:1121:18 [INFO] [stderr] | [INFO] [stderr] 1121 | let dr = i as f64 / count as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:1121:29 [INFO] [stderr] | [INFO] [stderr] 1121 | let dr = i as f64 / count as f64; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:1144:75 [INFO] [stderr] | [INFO] [stderr] 1144 | roughness: Texture::from_color(Color::from_one(0.05 * i as f64)), [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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/main.rs:1304:17 [INFO] [stderr] | [INFO] [stderr] 1304 | let p = pixel.data[0] as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel.data[0])` [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/main.rs:1309:12 [INFO] [stderr] | [INFO] [stderr] 1309 | avg /= (img.width() * img.height()) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(img.width() * img.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/matrix.rs:82:21 [INFO] [stderr] | [INFO] [stderr] 82 | let mut t = self.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: the loop variable `j` is used to index `t` [INFO] [stderr] --> src/matrix.rs:87:22 [INFO] [stderr] | [INFO] [stderr] 87 | for j in (i + 1)..4 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 87 | for (j, ) in t.iter().enumerate().take(4).skip((i + 1)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/scene.rs:324:32 [INFO] [stderr] | [INFO] [stderr] 324 | fn emissions(&self) -> Vec<&Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/renderer.rs:23:79 [INFO] [stderr] | [INFO] [stderr] 23 | fn calc_pixel(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, normalized_coord: &Vector2, sampling: u32) -> Color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:23:74 [INFO] [stderr] | [INFO] [stderr] 23 | fn calc_pixel(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, normalized_coord: &Vector2, sampling: u32) -> Color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Box]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:26:39 [INFO] [stderr] | [INFO] [stderr] 26 | let resolution = Vector2::new(imgbuf.width() as f64, imgbuf.height() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(imgbuf.width())` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:26:62 [INFO] [stderr] | [INFO] [stderr] 26 | let resolution = Vector2::new(imgbuf.width() as f64, imgbuf.height() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(imgbuf.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: an inclusive range would be more readable [INFO] [stderr] --> src/renderer.rs:32:25 [INFO] [stderr] | [INFO] [stderr] 32 | for sampling in 1..(self.max_sampling() + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `1..=self.max_sampling()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:36:47 [INFO] [stderr] | [INFO] [stderr] 36 | let frag_coord = Vector2::new(x as f64, (imgbuf.height() - y) as f64); [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/renderer.rs:36:57 [INFO] [stderr] | [INFO] [stderr] 36 | let frag_coord = Vector2::new(x as f64, (imgbuf.height() - y) as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(imgbuf.height() - 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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/renderer.rs:48:82 [INFO] [stderr] | [INFO] [stderr] 48 | fn supersampling(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, frag_coord: &Vector2, resolution: &Vector2, sampling: u32) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:48:77 [INFO] [stderr] | [INFO] [stderr] 48 | fn supersampling(&self, scene: &SceneTrait, camera: &Camera, emissions: &Vec<&Box>, frag_coord: &Vector2, resolution: &Vector2, sampling: u32) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Box]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:53:43 [INFO] [stderr] | [INFO] [stderr] 53 | let offset = Vector2::new(sx as f64, sy as f64) / config::SUPERSAMPLING as f64 - 0.5; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(sx)` [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/renderer.rs:53:54 [INFO] [stderr] | [INFO] [stderr] 53 | let offset = Vector2::new(sx as f64, sy as f64) / config::SUPERSAMPLING as f64 - 0.5; [INFO] [stderr] | ^^^^^^^^^ help: try: `f64::from(sy)` [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/renderer.rs:53:67 [INFO] [stderr] | [INFO] [stderr] 53 | let offset = Vector2::new(sx as f64, sy as f64) / config::SUPERSAMPLING as f64 - 0.5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(config::SUPERSAMPLING)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:62:53 [INFO] [stderr] | [INFO] [stderr] 62 | fn report_progress(&mut self, accumulation_buf: &Vec, sampling: u32, imgbuf: &mut ImageBuffer, Vec>) -> bool; [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:64:40 [INFO] [stderr] | [INFO] [stderr] 64 | fn update_imgbuf(accumulation_buf: &Vec, sampling: u32, imgbuf: &mut ImageBuffer, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/renderer.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let scale = ((sampling * config::SUPERSAMPLING * config::SUPERSAMPLING) as f64).recip(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(sampling * config::SUPERSAMPLING * config::SUPERSAMPLING)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:92:58 [INFO] [stderr] | [INFO] [stderr] 92 | fn save_progress_image(path: &str, accumulation_buf: &Vec, sampling: u32, imgbuf: &mut ImageBuffer, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/renderer.rs:270:61 [INFO] [stderr] | [INFO] [stderr] 270 | scene: &SceneTrait, emissions: &Vec<&Box>, material: &PointMaterial) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Box]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/renderer.rs:270:66 [INFO] [stderr] | [INFO] [stderr] 270 | scene: &SceneTrait, emissions: &Vec<&Box>, material: &PointMaterial) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&Intersectable` [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] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | color.data[0] as f64 / 255.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(color.data[0])` [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/color.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | color.data[1] as f64 / 255.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(color.data[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 u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/color.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | color.data[2] as f64 / 255.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(color.data[2])` [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/texture.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | let x = u * 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/texture.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | let y = v * self.image.height() 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/texture.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | let x = u * 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/texture.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let y = v * self.image.height() 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: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:23:49 [INFO] [stderr] | [INFO] [stderr] 23 | let split_line: Vec<&str> = l.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:35:61 [INFO] [stderr] | [INFO] [stderr] 35 | let v1: Vec<&str> = split_line[1].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:36:61 [INFO] [stderr] | [INFO] [stderr] 36 | let v2: Vec<&str> = split_line[2].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:37:61 [INFO] [stderr] | [INFO] [stderr] 37 | let v3: Vec<&str> = split_line[3].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/loader.rs:46:65 [INFO] [stderr] | [INFO] [stderr] 46 | let v4: Vec<&str> = split_line[4].split("/").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bvh.rs:91:65 [INFO] [stderr] | [INFO] [stderr] 91 | fn set_aabb_from_mesh(&mut self, mesh: &Mesh, face_indexes: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bvh.rs:101:63 [INFO] [stderr] | [INFO] [stderr] 101 | fn set_aabb_from_scene(&mut self, scene: &Scene, indexes: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | ((dx * dx + dy * dy) as f64).sqrt() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(dx * dx + dy * dy)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/filter.rs:25:54 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn execute(pixel: &Vector3, current: usize, img: &Vec, width: u32, height: u32) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/filter.rs:32:52 [INFO] [stderr] | [INFO] [stderr] 32 | fn bilateral(pixel: &Vector3, current: usize, img: &Vec, width: u32, height: u32, diameter: u32, sigma_i: f64, sigma_s: f64) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vector3]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/filter.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / fn bilateral(pixel: &Vector3, current: usize, img: &Vec, width: u32, height: u32, diameter: u32, sigma_i: f64, sigma_s: f64) -> Vector3 { [INFO] [stderr] 33 | | let (x, y) = index_to_xy(current, width); [INFO] [stderr] 34 | | let current_sum = pixel.x + pixel.y + pixel.z; [INFO] [stderr] 35 | | let sum_scale = 1.0 / 3.0; [INFO] [stderr] ... | [INFO] [stderr] 57 | | filtered / w_p [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:47:42 [INFO] [stderr] | [INFO] [stderr] 47 | fn tee(f: &mut BufWriter, message: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/main.rs:390:38 [INFO] [stderr] | [INFO] [stderr] 390 | center: Vector3::new(3.7027464198816952, 0.3917608374245498, -0.40505849281451556), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `3.702_746_419_881_695` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:441:79 [INFO] [stderr] | [INFO] [stderr] 441 | albedo: Texture::from_color(hsv_to_rgb(Color::new(0.2 + 0.1 * count as f64, 1.0, 1.0))), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:446:64 [INFO] [stderr] | [INFO] [stderr] 446 | println!("{}, {}, {} : {}", px, r, pz, 0.2 + 0.1 * count as f64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:664:79 [INFO] [stderr] | [INFO] [stderr] 664 | albedo: Texture::from_color(hsv_to_rgb(Color::new(0.2 + 0.1 * count as f64, 1.0, 1.0))), [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:669:64 [INFO] [stderr] | [INFO] [stderr] 669 | println!("{}, {}, {} : {}", px, r, pz, 0.2 + 0.1 * count as f64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:1121:18 [INFO] [stderr] | [INFO] [stderr] 1121 | let dr = i as f64 / count as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:1121:29 [INFO] [stderr] | [INFO] [stderr] 1121 | let dr = i as f64 / count as f64; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(count)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:1144:75 [INFO] [stderr] | [INFO] [stderr] 1144 | roughness: Texture::from_color(Color::from_one(0.05 * i as f64)), [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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/main.rs:1304:17 [INFO] [stderr] | [INFO] [stderr] 1304 | let p = pixel.data[0] as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pixel.data[0])` [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/main.rs:1309:12 [INFO] [stderr] | [INFO] [stderr] 1309 | avg /= (img.width() * img.height()) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(img.width() * img.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] Finished dev [unoptimized + debuginfo] target(s) in 17.66s [INFO] running `"docker" "inspect" "70c37e03e89bdd4894f1d0c1681aec5b4d70b563a3e99b45f855ea4374713313"` [INFO] running `"docker" "rm" "-f" "70c37e03e89bdd4894f1d0c1681aec5b4d70b563a3e99b45f855ea4374713313"` [INFO] [stdout] 70c37e03e89bdd4894f1d0c1681aec5b4d70b563a3e99b45f855ea4374713313