[INFO] updating cached repository andreml8/ray-tracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/andreml8/ray-tracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/andreml8/ray-tracer" "work/ex/clippy-test-run/sources/stable/gh/andreml8/ray-tracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/andreml8/ray-tracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/andreml8/ray-tracer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/andreml8/ray-tracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/andreml8/ray-tracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8ca2dac791ce2e7a9cf9be4ebb2d3281be24e876 [INFO] sha for GitHub repo andreml8/ray-tracer: 8ca2dac791ce2e7a9cf9be4ebb2d3281be24e876 [INFO] validating manifest of andreml8/ray-tracer 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 andreml8/ray-tracer 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 andreml8/ray-tracer [INFO] finished frobbing andreml8/ray-tracer [INFO] frobbed toml for andreml8/ray-tracer written to work/ex/clippy-test-run/sources/stable/gh/andreml8/ray-tracer/Cargo.toml [INFO] started frobbing andreml8/ray-tracer [INFO] finished frobbing andreml8/ray-tracer [INFO] frobbed toml for andreml8/ray-tracer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/andreml8/ray-tracer/Cargo.toml [INFO] crate andreml8/ray-tracer 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 andreml8/ray-tracer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/andreml8/ray-tracer:/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] fd01bb91ab7dd22e84ebc98c837366ab4eef48bc854d3f29a1434e63464e6c6d [INFO] running `"docker" "start" "-a" "fd01bb91ab7dd22e84ebc98c837366ab4eef48bc854d3f29a1434e63464e6c6d"` [INFO] [stderr] Compiling serde v0.9.12 [INFO] [stderr] Checking lazy_static v0.2.5 [INFO] [stderr] Checking cgmath v0.14.1 [INFO] [stderr] Checking quaternion v0.3.0 [INFO] [stderr] Checking x11-dl v2.12.0 [INFO] [stderr] Checking shared_library v0.1.5 [INFO] [stderr] Checking collada v0.5.0 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling serde_json v0.9.9 [INFO] [stderr] Compiling target_build_utils v0.3.0 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.7.8 [INFO] [stderr] Checking wayland-client v0.7.8 [INFO] [stderr] Checking wayland-window v0.4.4 [INFO] [stderr] Checking wayland-kbd v0.6.3 [INFO] [stderr] Checking winit v0.5.11 [INFO] [stderr] Checking glutin v0.7.4 [INFO] [stderr] Checking glium v0.16.0 [INFO] [stderr] Checking ray-tracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/object/primitive/plane.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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/object/primitive/plane.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | point: point, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `point` [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/object/primitive/sphere.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | center: center, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `center` [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/object/primitive/sphere.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | radius: radius, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `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: 5th binding whose name is just one char [INFO] [stderr] --> src/object/primitive/sphere.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | let t = (-b - e) / denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/object/primitive/sphere.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let t = (-b - e) / denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/object/primitive/triangle.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | v0: v0, [INFO] [stderr] | ^^^^^^ help: replace it with: `v0` [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/object/primitive/triangle.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | v1: v1, [INFO] [stderr] | ^^^^^^ help: replace it with: `v1` [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/object/primitive/triangle.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | v2: v2, [INFO] [stderr] | ^^^^^^ help: replace it with: `v2` [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/samplers/mod.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | generator: generator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `generator` [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/tracer/raycast.rs:30:25 [INFO] [stderr] | [INFO] [stderr] 30 | ray: ray, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ray` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tracer/raycast.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | hit_point: hit_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `hit_point` [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/tracer/raycast.rs:32:25 [INFO] [stderr] | [INFO] [stderr] 32 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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/tracer/raycast.rs:33:25 [INFO] [stderr] | [INFO] [stderr] 33 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/world.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | tmin: tmin, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `tmin` [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/world.rs:54:25 [INFO] [stderr] | [INFO] [stderr] 54 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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/world.rs:55:25 [INFO] [stderr] | [INFO] [stderr] 55 | hit_point: hit_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `hit_point` [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/world.rs:56:25 [INFO] [stderr] | [INFO] [stderr] 56 | local_hit_point: local_hit_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `local_hit_point` [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/window.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | display: display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `display` [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/window.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | vbo: vbo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `vbo` [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/window.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | ibo: ibo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ibo` [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/window.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | texture: texture, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `texture` [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/window.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | program: program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `program` [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/lib.rs:111:29 [INFO] [stderr] | [INFO] [stderr] 111 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:112:29 [INFO] [stderr] | [INFO] [stderr] 112 | s: s, [INFO] [stderr] | ^^^^ help: replace it with: `s` [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/object/primitive/plane.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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/object/primitive/plane.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | point: point, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `point` [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/object/primitive/sphere.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | center: center, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `center` [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/object/primitive/sphere.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | radius: radius, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `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: 5th binding whose name is just one char [INFO] [stderr] --> src/object/primitive/sphere.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | let t = (-b - e) / denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/object/primitive/sphere.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let t = (-b - e) / denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/object/primitive/triangle.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | v0: v0, [INFO] [stderr] | ^^^^^^ help: replace it with: `v0` [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/object/primitive/triangle.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | v1: v1, [INFO] [stderr] | ^^^^^^ help: replace it with: `v1` [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/object/primitive/triangle.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | v2: v2, [INFO] [stderr] | ^^^^^^ help: replace it with: `v2` [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/samplers/mod.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | generator: generator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `generator` [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/tracer/raycast.rs:30:25 [INFO] [stderr] | [INFO] [stderr] 30 | ray: ray, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ray` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tracer/raycast.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | hit_point: hit_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `hit_point` [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/tracer/raycast.rs:32:25 [INFO] [stderr] | [INFO] [stderr] 32 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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/tracer/raycast.rs:33:25 [INFO] [stderr] | [INFO] [stderr] 33 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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/world.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | tmin: tmin, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `tmin` [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/world.rs:54:25 [INFO] [stderr] | [INFO] [stderr] 54 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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/world.rs:55:25 [INFO] [stderr] | [INFO] [stderr] 55 | hit_point: hit_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `hit_point` [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/world.rs:56:25 [INFO] [stderr] | [INFO] [stderr] 56 | local_hit_point: local_hit_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `local_hit_point` [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/window.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | display: display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `display` [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/window.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | vbo: vbo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `vbo` [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/window.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | ibo: ibo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ibo` [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/window.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | texture: texture, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `texture` [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/window.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | program: program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `program` [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/lib.rs:111:29 [INFO] [stderr] | [INFO] [stderr] 111 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:112:29 [INFO] [stderr] | [INFO] [stderr] 112 | s: s, [INFO] [stderr] | ^^^^ help: replace it with: `s` [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/object/primitive/triangle.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | / return RayTest::Hit { [INFO] [stderr] 60 | | tmin: t, [INFO] [stderr] 61 | | // TODO calculate normal here [INFO] [stderr] 62 | | normal: Float3::zero(), [INFO] [stderr] ... | [INFO] [stderr] 66 | | material: None, [INFO] [stderr] 67 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 59 | RayTest::Hit { [INFO] [stderr] 60 | tmin: t, [INFO] [stderr] 61 | // TODO calculate normal here [INFO] [stderr] 62 | normal: Float3::zero(), [INFO] [stderr] 63 | hit_point: ray.origin + t * ray.dir, [INFO] [stderr] 64 | local_hit_point: ray.origin + t * ray.dir, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/object/primitive/triangle.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | / return RayTest::Hit { [INFO] [stderr] 93 | | tmin: t, [INFO] [stderr] 94 | | // TODO calculate normal here [INFO] [stderr] 95 | | normal: Float3::zero(), [INFO] [stderr] ... | [INFO] [stderr] 99 | | material: None, [INFO] [stderr] 100 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 92 | RayTest::Hit { [INFO] [stderr] 93 | tmin: t, [INFO] [stderr] 94 | // TODO calculate normal here [INFO] [stderr] 95 | normal: Float3::zero(), [INFO] [stderr] 96 | hit_point: ray.origin + t * ray.dir, [INFO] [stderr] 97 | local_hit_point: ray.origin + t * ray.dir, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::nrooks::generate_samples as nrooks_gen_samples` [INFO] [stderr] --> src/samplers/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use self::nrooks::generate_samples as nrooks_gen_samples; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/samplers/mod.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 116 | | if sp.x < sp.y { [INFO] [stderr] 117 | | // Sector 3 [INFO] [stderr] 118 | | r = -sp.x; [INFO] [stderr] ... | [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | } [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] 115 | } else if sp.x < sp.y { [INFO] [stderr] 116 | // Sector 3 [INFO] [stderr] 117 | r = -sp.x; [INFO] [stderr] 118 | phi = 4.0 + sp.y / sp.x; [INFO] [stderr] 119 | } else { [INFO] [stderr] 120 | // Sector 4 [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/samplers/mod.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | sampler [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/samplers/mod.rs:231:23 [INFO] [stderr] | [INFO] [stderr] 231 | let sampler = Sampler { [INFO] [stderr] | _______________________^ [INFO] [stderr] 232 | | samples: Vec::::with_capacity( [INFO] [stderr] 233 | | (self.num_samples * self.num_sets) as usize), [INFO] [stderr] 234 | | disk_samples: Vec::::new(), [INFO] [stderr] ... | [INFO] [stderr] 240 | | generator: generator, [INFO] [stderr] 241 | | }; [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/utilities/rgbcolor.rs:129:46 [INFO] [stderr] | [INFO] [stderr] 129 | ((((self.r * 255.0) as u32) << 24) & 0xff000000) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xff00_0000` [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/utilities/rgbcolor.rs:130:46 [INFO] [stderr] | [INFO] [stderr] 130 | ((((self.g * 255.0) as u32) << 16) & 0x00ff0000) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x00ff_0000` [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/utilities/rgbcolor.rs:131:46 [INFO] [stderr] | [INFO] [stderr] 131 | ((((self.b * 255.0) as u32) << 8) & 0x0000ff00) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_ff00` [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/utilities/rgbcolor.rs:132:46 [INFO] [stderr] | [INFO] [stderr] 132 | 0x000000ff [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00ff` [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/utilities/rgbcolor.rs:136:46 [INFO] [stderr] | [INFO] [stderr] 136 | 0xff000000 | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xff00_0000` [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/utilities/rgbcolor.rs:137:46 [INFO] [stderr] | [INFO] [stderr] 137 | ((((self.b * 255.0) as u32) << 16) & 0x00ff0000) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x00ff_0000` [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/utilities/rgbcolor.rs:138:46 [INFO] [stderr] | [INFO] [stderr] 138 | ((((self.g * 255.0) as u32) << 8) & 0x0000ff00) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_ff00` [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/utilities/rgbcolor.rs:139:46 [INFO] [stderr] | [INFO] [stderr] 139 | ((((self.r * 255.0) as u32) << 0) & 0x000000ff) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00ff` [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/window.rs:138:38 [INFO] [stderr] | [INFO] [stderr] 138 | let buffer: Vec = vec! [0xff000000u32; pixel_total]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0xff00_0000u32` [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: unneeded return statement [INFO] [stderr] --> src/object/primitive/triangle.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | / return RayTest::Hit { [INFO] [stderr] 60 | | tmin: t, [INFO] [stderr] 61 | | // TODO calculate normal here [INFO] [stderr] 62 | | normal: Float3::zero(), [INFO] [stderr] ... | [INFO] [stderr] 66 | | material: None, [INFO] [stderr] 67 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 59 | RayTest::Hit { [INFO] [stderr] 60 | tmin: t, [INFO] [stderr] 61 | // TODO calculate normal here [INFO] [stderr] 62 | normal: Float3::zero(), [INFO] [stderr] 63 | hit_point: ray.origin + t * ray.dir, [INFO] [stderr] 64 | local_hit_point: ray.origin + t * ray.dir, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/object/primitive/triangle.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | / return RayTest::Hit { [INFO] [stderr] 93 | | tmin: t, [INFO] [stderr] 94 | | // TODO calculate normal here [INFO] [stderr] 95 | | normal: Float3::zero(), [INFO] [stderr] ... | [INFO] [stderr] 99 | | material: None, [INFO] [stderr] 100 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 92 | RayTest::Hit { [INFO] [stderr] 93 | tmin: t, [INFO] [stderr] 94 | // TODO calculate normal here [INFO] [stderr] 95 | normal: Float3::zero(), [INFO] [stderr] 96 | hit_point: ray.origin + t * ray.dir, [INFO] [stderr] 97 | local_hit_point: ray.origin + t * ray.dir, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::nrooks::generate_samples as nrooks_gen_samples` [INFO] [stderr] --> src/samplers/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use self::nrooks::generate_samples as nrooks_gen_samples; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/samplers/mod.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 116 | | if sp.x < sp.y { [INFO] [stderr] 117 | | // Sector 3 [INFO] [stderr] 118 | | r = -sp.x; [INFO] [stderr] ... | [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | } [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] 115 | } else if sp.x < sp.y { [INFO] [stderr] 116 | // Sector 3 [INFO] [stderr] 117 | r = -sp.x; [INFO] [stderr] 118 | phi = 4.0 + sp.y / sp.x; [INFO] [stderr] 119 | } else { [INFO] [stderr] 120 | // Sector 4 [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/samplers/mod.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | sampler [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/samplers/mod.rs:231:23 [INFO] [stderr] | [INFO] [stderr] 231 | let sampler = Sampler { [INFO] [stderr] | _______________________^ [INFO] [stderr] 232 | | samples: Vec::::with_capacity( [INFO] [stderr] 233 | | (self.num_samples * self.num_sets) as usize), [INFO] [stderr] 234 | | disk_samples: Vec::::new(), [INFO] [stderr] ... | [INFO] [stderr] 240 | | generator: generator, [INFO] [stderr] 241 | | }; [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/utilities/rgbcolor.rs:129:46 [INFO] [stderr] | [INFO] [stderr] 129 | ((((self.r * 255.0) as u32) << 24) & 0xff000000) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xff00_0000` [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/utilities/rgbcolor.rs:130:46 [INFO] [stderr] | [INFO] [stderr] 130 | ((((self.g * 255.0) as u32) << 16) & 0x00ff0000) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x00ff_0000` [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/utilities/rgbcolor.rs:131:46 [INFO] [stderr] | [INFO] [stderr] 131 | ((((self.b * 255.0) as u32) << 8) & 0x0000ff00) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_ff00` [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/utilities/rgbcolor.rs:132:46 [INFO] [stderr] | [INFO] [stderr] 132 | 0x000000ff [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00ff` [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/utilities/rgbcolor.rs:136:46 [INFO] [stderr] | [INFO] [stderr] 136 | 0xff000000 | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xff00_0000` [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/utilities/rgbcolor.rs:137:46 [INFO] [stderr] | [INFO] [stderr] 137 | ((((self.b * 255.0) as u32) << 16) & 0x00ff0000) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x00ff_0000` [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/utilities/rgbcolor.rs:138:46 [INFO] [stderr] | [INFO] [stderr] 138 | ((((self.g * 255.0) as u32) << 8) & 0x0000ff00) | [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_ff00` [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/utilities/rgbcolor.rs:139:46 [INFO] [stderr] | [INFO] [stderr] 139 | ((((self.r * 255.0) as u32) << 0) & 0x000000ff) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_00ff` [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/window.rs:138:38 [INFO] [stderr] | [INFO] [stderr] 138 | let buffer: Vec = vec! [0xff000000u32; pixel_total]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0xff00_0000u32` [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: function is never used: `generate_samples` [INFO] [stderr] --> src/samplers/nrooks.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / pub fn generate_samples(samples: &mut Vec, [INFO] [stderr] 8 | | num_sets: u32, [INFO] [stderr] 9 | | num_samples: u32) [INFO] [stderr] 10 | | { [INFO] [stderr] ... | [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `id` [INFO] [stderr] --> src/concurrent.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | id: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `math::ray::RayBuilder` [INFO] [stderr] --> src/math/ray.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> RayBuilder { [INFO] [stderr] 25 | | RayBuilder { [INFO] [stderr] 26 | | origin: Float3::zero(), [INFO] [stderr] 27 | | dir: Float3::zero(), [INFO] [stderr] 28 | | } [INFO] [stderr] 29 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for math::ray::RayBuilder { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `object::plane::Builder<'a>` [INFO] [stderr] --> src/object/plane.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 40 | | Builder { [INFO] [stderr] 41 | | p: Float3::zero(), [INFO] [stderr] 42 | | n: Float3::new(0.0, 1.0, 0.0), [INFO] [stderr] 43 | | material_builder: None, [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | impl Default for object::plane::Builder<'a> { [INFO] [stderr] 39 | fn default() -> Self { [INFO] [stderr] 40 | Self::new() [INFO] [stderr] 41 | } [INFO] [stderr] 42 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `object::sphere::Builder<'a>` [INFO] [stderr] --> src/object/sphere.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 40 | | Builder { [INFO] [stderr] 41 | | center: [0.0; 3], [INFO] [stderr] 42 | | radius: 1.0, [INFO] [stderr] 43 | | material_builder: None, [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `samples[i + p * num_samples + 1].x` and `samples[target].x` manually [INFO] [stderr] --> src/samplers/nrooks.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | / let temp = samples[i + p * num_samples + 1].x; [INFO] [stderr] 34 | | samples[i + p * num_samples + 1].x = samples[target].x; [INFO] [stderr] 35 | | samples[target].x = temp; [INFO] [stderr] | |____________________________________^ help: try: `std::mem::swap(&mut samples[i + p * num_samples + 1].x, &mut samples[target].x)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `samples[i + p * num_samples + 1].y` and `samples[target].y` manually [INFO] [stderr] --> src/samplers/nrooks.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | / let temp = samples[i + p * num_samples + 1].y; [INFO] [stderr] 45 | | samples[i + p * num_samples + 1].y = samples[target].y; [INFO] [stderr] 46 | | samples[target].y = temp; [INFO] [stderr] | |____________________________________^ help: try: `std::mem::swap(&mut samples[i + p * num_samples + 1].y, &mut samples[target].y)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `samplers::Builder` [INFO] [stderr] --> src/samplers/mod.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | / pub fn new() -> Builder { [INFO] [stderr] 174 | | Builder { [INFO] [stderr] 175 | | num_sets: 1, [INFO] [stderr] 176 | | num_samples: 4, [INFO] [stderr] 177 | | generator: GeneratorType::Regular, [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 172 | impl Default for samplers::Builder { [INFO] [stderr] 173 | fn default() -> Self { [INFO] [stderr] 174 | Self::new() [INFO] [stderr] 175 | } [INFO] [stderr] 176 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cameras::pinhole::Builder` [INFO] [stderr] --> src/cameras/pinhole.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | / pub fn new() -> Builder { [INFO] [stderr] 67 | | Builder { [INFO] [stderr] 68 | | viewplane_distance: 30.0, [INFO] [stderr] 69 | | zoom: 1.0, [INFO] [stderr] ... | [INFO] [stderr] 80 | | } [INFO] [stderr] 81 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 65 | impl Default for cameras::pinhole::Builder { [INFO] [stderr] 66 | fn default() -> Self { [INFO] [stderr] 67 | Self::new() [INFO] [stderr] 68 | } [INFO] [stderr] 69 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cameras::thinlens::Builder<'a>` [INFO] [stderr] --> src/cameras/thinlens.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 81 | | Builder { [INFO] [stderr] 82 | | base: BaseCamera { [INFO] [stderr] 83 | | eye: Float3::zero(), [INFO] [stderr] ... | [INFO] [stderr] 97 | | } [INFO] [stderr] 98 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 79 | impl Default for cameras::thinlens::Builder<'a> { [INFO] [stderr] 80 | fn default() -> Self { [INFO] [stderr] 81 | Self::new() [INFO] [stderr] 82 | } [INFO] [stderr] 83 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `((self.r * 255.0) as u32)` [INFO] [stderr] --> src/utilities/rgbcolor.rs:139:10 [INFO] [stderr] | [INFO] [stderr] 139 | ((((self.r * 255.0) as u32) << 0) & 0x000000ff) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `tracer::raycast::RayCast` [INFO] [stderr] --> src/tracer/raycast.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> RayCast { [INFO] [stderr] 14 | | RayCast { [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/viewplane.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if self.gamma != 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.gamma - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/viewplane.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if self.gamma != 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `viewplane::Builder<'a>` [INFO] [stderr] --> src/viewplane.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 58 | | Builder { [INFO] [stderr] 59 | | hres: 100, [INFO] [stderr] 60 | | vres: 100, [INFO] [stderr] ... | [INFO] [stderr] 64 | | } [INFO] [stderr] 65 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> World { [INFO] [stderr] 13 | | World { [INFO] [stderr] 14 | | objects: Vec::<_>::new(), [INFO] [stderr] 15 | | ambient: ::lights::ambient::Builder::new() [INFO] [stderr] ... | [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 11 | impl Default for world::World { [INFO] [stderr] 12 | fn default() -> Self { [INFO] [stderr] 13 | Self::new() [INFO] [stderr] 14 | } [INFO] [stderr] 15 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/brdf/lambertian.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | self.kd * &self.cd * ::std::f32::consts::FRAC_1_PI [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.cd` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/brdf/lambertian.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | self.kd * &self.cd [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.cd` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/ambient.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::ambient::Builder` [INFO] [stderr] --> src/lights/ambient.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> Builder { [INFO] [stderr] 32 | | Builder { [INFO] [stderr] 33 | | ls: 1.0, [INFO] [stderr] 34 | | color: Color::white(), [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | impl Default for lights::ambient::Builder { [INFO] [stderr] 31 | fn default() -> Self { [INFO] [stderr] 32 | Self::new() [INFO] [stderr] 33 | } [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/ambientoccluder.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | self.min_amount * self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/ambientoccluder.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lights/ambientoccluder.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | / match object.shadow_hit(shadow_ray) { [INFO] [stderr] 61 | | (true, _) => return true, [INFO] [stderr] 62 | | _ => (), [INFO] [stderr] 63 | | }; [INFO] [stderr] | |_____________^ help: try this: `if let (true, _) = object.shadow_hit(shadow_ray) { return true }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::ambientoccluder::Builder<'a>` [INFO] [stderr] --> src/lights/ambientoccluder.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 79 | | Builder { [INFO] [stderr] 80 | | sampler_builder: None, [INFO] [stderr] 81 | | ls: 1.0, [INFO] [stderr] ... | [INFO] [stderr] 84 | | } [INFO] [stderr] 85 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | impl Default for lights::ambientoccluder::Builder<'a> { [INFO] [stderr] 78 | fn default() -> Self { [INFO] [stderr] 79 | Self::new() [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/point.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::point::Builder` [INFO] [stderr] --> src/lights/point.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / pub fn new() -> Builder { [INFO] [stderr] 43 | | Builder { [INFO] [stderr] 44 | | ls: 1.0, [INFO] [stderr] 45 | | color: Color::white(), [INFO] [stderr] 46 | | location: Float3::zero(), [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 41 | impl Default for lights::point::Builder { [INFO] [stderr] 42 | fn default() -> Self { [INFO] [stderr] 43 | Self::new() [INFO] [stderr] 44 | } [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/directional.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::directional::Builder` [INFO] [stderr] --> src/lights/directional.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new() -> Builder { [INFO] [stderr] 41 | | Builder { [INFO] [stderr] 42 | | ls: 1.0, [INFO] [stderr] 43 | | color: Color::white(), [INFO] [stderr] 44 | | direction: Float3::zero(), [INFO] [stderr] 45 | | } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 39 | impl Default for lights::directional::Builder { [INFO] [stderr] 40 | fn default() -> Self { [INFO] [stderr] 41 | Self::new() [INFO] [stderr] 42 | } [INFO] [stderr] 43 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::matte::Matte` [INFO] [stderr] --> src/materials/matte.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> Matte { [INFO] [stderr] 15 | | Matte { [INFO] [stderr] 16 | | ambient_brdf: Lambertian { kd: 1.0, cd: Color::white() }, [INFO] [stderr] 17 | | diffuse_brdf: Lambertian { kd: 1.0, cd: Color::white() }, [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 13 | impl Default for materials::matte::Matte { [INFO] [stderr] 14 | fn default() -> Self { [INFO] [stderr] 15 | Self::new() [INFO] [stderr] 16 | } [INFO] [stderr] 17 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/materials/matte.rs:47:17 [INFO] [stderr] | [INFO] [stderr] 47 | / let mut in_shadow = false; [INFO] [stderr] 48 | | [INFO] [stderr] 49 | | if light.casts_shadows() { [INFO] [stderr] 50 | | let shadow_ray = ::math::Ray::new(data.hit_point, wi); [INFO] [stderr] 51 | | in_shadow = light.in_shadow(data.world, shadow_ray); [INFO] [stderr] 52 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let in_shadow = if light.casts_shadows() { ..; light.in_shadow(data.world, shadow_ray) } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::matte::Builder` [INFO] [stderr] --> src/materials/matte.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | / pub fn new() -> Builder { [INFO] [stderr] 74 | | Builder { [INFO] [stderr] 75 | | ka: 0.2, [INFO] [stderr] 76 | | kd: 0.75, [INFO] [stderr] 77 | | color: Color::white(), [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 72 | impl Default for materials::matte::Builder { [INFO] [stderr] 73 | fn default() -> Self { [INFO] [stderr] 74 | Self::new() [INFO] [stderr] 75 | } [INFO] [stderr] 76 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/materials/phong.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | / let mut in_shadow = false; [INFO] [stderr] 26 | | [INFO] [stderr] 27 | | if light.casts_shadows() { [INFO] [stderr] 28 | | let shadow_ray = ::math::Ray::new(data.hit_point, wi); [INFO] [stderr] 29 | | in_shadow = light.in_shadow(data.world, shadow_ray); [INFO] [stderr] 30 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let in_shadow = if light.casts_shadows() { ..; light.in_shadow(data.world, shadow_ray) } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::phong::Builder` [INFO] [stderr] --> src/materials/phong.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | / pub fn new() -> Builder { [INFO] [stderr] 55 | | Builder { [INFO] [stderr] 56 | | ka: 1.0, [INFO] [stderr] 57 | | kd: 0.75, [INFO] [stderr] ... | [INFO] [stderr] 61 | | } [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 53 | impl Default for materials::phong::Builder { [INFO] [stderr] 54 | fn default() -> Self { [INFO] [stderr] 55 | Self::new() [INFO] [stderr] 56 | } [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::Builder` [INFO] [stderr] --> src/materials/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / pub fn new() -> Builder { [INFO] [stderr] 48 | | Builder { [INFO] [stderr] 49 | | ka: 1.0, [INFO] [stderr] 50 | | kd: 0.75, [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 46 | impl Default for materials::Builder { [INFO] [stderr] 47 | fn default() -> Self { [INFO] [stderr] 48 | Self::new() [INFO] [stderr] 49 | } [INFO] [stderr] 50 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/window.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | / match ev { [INFO] [stderr] 66 | | glium::glutin::Event::Closed => return, [INFO] [stderr] 67 | | _ => (), [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________________^ help: try this: `if let glium::glutin::Event::Closed = ev { return }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `window::Builder` [INFO] [stderr] --> src/window.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | / pub fn new() -> Builder { [INFO] [stderr] 84 | | Builder { [INFO] [stderr] 85 | | width: 200, [INFO] [stderr] 86 | | height: 200, [INFO] [stderr] 87 | | title: String::from("GL Window"), [INFO] [stderr] 88 | | } [INFO] [stderr] 89 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | Err(_) => panic!("Failed to create glium::glutin window."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | Err(_) => panic!("Failed to create vertex buffer object."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | Err(_) => panic!("Failed to create index buffer object."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:146:17 [INFO] [stderr] | [INFO] [stderr] 146 | Err(_) => panic!("Failed to create shader program."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `ray-tracer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: function is never used: `generate_samples` [INFO] [stderr] --> src/samplers/nrooks.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / pub fn generate_samples(samples: &mut Vec, [INFO] [stderr] 8 | | num_sets: u32, [INFO] [stderr] 9 | | num_samples: u32) [INFO] [stderr] 10 | | { [INFO] [stderr] ... | [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `id` [INFO] [stderr] --> src/concurrent.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | id: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `math::ray::RayBuilder` [INFO] [stderr] --> src/math/ray.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> RayBuilder { [INFO] [stderr] 25 | | RayBuilder { [INFO] [stderr] 26 | | origin: Float3::zero(), [INFO] [stderr] 27 | | dir: Float3::zero(), [INFO] [stderr] 28 | | } [INFO] [stderr] 29 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for math::ray::RayBuilder { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `object::plane::Builder<'a>` [INFO] [stderr] --> src/object/plane.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 40 | | Builder { [INFO] [stderr] 41 | | p: Float3::zero(), [INFO] [stderr] 42 | | n: Float3::new(0.0, 1.0, 0.0), [INFO] [stderr] 43 | | material_builder: None, [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | impl Default for object::plane::Builder<'a> { [INFO] [stderr] 39 | fn default() -> Self { [INFO] [stderr] 40 | Self::new() [INFO] [stderr] 41 | } [INFO] [stderr] 42 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `object::sphere::Builder<'a>` [INFO] [stderr] --> src/object/sphere.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 40 | | Builder { [INFO] [stderr] 41 | | center: [0.0; 3], [INFO] [stderr] 42 | | radius: 1.0, [INFO] [stderr] 43 | | material_builder: None, [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `samples[i + p * num_samples + 1].x` and `samples[target].x` manually [INFO] [stderr] --> src/samplers/nrooks.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | / let temp = samples[i + p * num_samples + 1].x; [INFO] [stderr] 34 | | samples[i + p * num_samples + 1].x = samples[target].x; [INFO] [stderr] 35 | | samples[target].x = temp; [INFO] [stderr] | |____________________________________^ help: try: `std::mem::swap(&mut samples[i + p * num_samples + 1].x, &mut samples[target].x)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `samples[i + p * num_samples + 1].y` and `samples[target].y` manually [INFO] [stderr] --> src/samplers/nrooks.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | / let temp = samples[i + p * num_samples + 1].y; [INFO] [stderr] 45 | | samples[i + p * num_samples + 1].y = samples[target].y; [INFO] [stderr] 46 | | samples[target].y = temp; [INFO] [stderr] | |____________________________________^ help: try: `std::mem::swap(&mut samples[i + p * num_samples + 1].y, &mut samples[target].y)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `samplers::Builder` [INFO] [stderr] --> src/samplers/mod.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | / pub fn new() -> Builder { [INFO] [stderr] 174 | | Builder { [INFO] [stderr] 175 | | num_sets: 1, [INFO] [stderr] 176 | | num_samples: 4, [INFO] [stderr] 177 | | generator: GeneratorType::Regular, [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 172 | impl Default for samplers::Builder { [INFO] [stderr] 173 | fn default() -> Self { [INFO] [stderr] 174 | Self::new() [INFO] [stderr] 175 | } [INFO] [stderr] 176 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cameras::pinhole::Builder` [INFO] [stderr] --> src/cameras/pinhole.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | / pub fn new() -> Builder { [INFO] [stderr] 67 | | Builder { [INFO] [stderr] 68 | | viewplane_distance: 30.0, [INFO] [stderr] 69 | | zoom: 1.0, [INFO] [stderr] ... | [INFO] [stderr] 80 | | } [INFO] [stderr] 81 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 65 | impl Default for cameras::pinhole::Builder { [INFO] [stderr] 66 | fn default() -> Self { [INFO] [stderr] 67 | Self::new() [INFO] [stderr] 68 | } [INFO] [stderr] 69 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cameras::thinlens::Builder<'a>` [INFO] [stderr] --> src/cameras/thinlens.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 81 | | Builder { [INFO] [stderr] 82 | | base: BaseCamera { [INFO] [stderr] 83 | | eye: Float3::zero(), [INFO] [stderr] ... | [INFO] [stderr] 97 | | } [INFO] [stderr] 98 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 79 | impl Default for cameras::thinlens::Builder<'a> { [INFO] [stderr] 80 | fn default() -> Self { [INFO] [stderr] 81 | Self::new() [INFO] [stderr] 82 | } [INFO] [stderr] 83 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `((self.r * 255.0) as u32)` [INFO] [stderr] --> src/utilities/rgbcolor.rs:139:10 [INFO] [stderr] | [INFO] [stderr] 139 | ((((self.r * 255.0) as u32) << 0) & 0x000000ff) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:311:5 [INFO] [stderr] | [INFO] [stderr] 311 | assert_eq!(c.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:311:5 [INFO] [stderr] | [INFO] [stderr] 311 | assert_eq!(c.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | assert_eq!(c.g, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | assert_eq!(c.g, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:313:5 [INFO] [stderr] | [INFO] [stderr] 313 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:313:5 [INFO] [stderr] | [INFO] [stderr] 313 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/utilities/rgbcolor.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | let c = &c1 + c2; [INFO] [stderr] | ---^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `c1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | assert_eq!(c.r, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | assert_eq!(c.r, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:319:5 [INFO] [stderr] | [INFO] [stderr] 319 | assert_eq!(c.g, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:319:5 [INFO] [stderr] | [INFO] [stderr] 319 | assert_eq!(c.g, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:320:5 [INFO] [stderr] | [INFO] [stderr] 320 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:320:5 [INFO] [stderr] | [INFO] [stderr] 320 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/utilities/rgbcolor.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | let c = c1 + &c2; [INFO] [stderr] | ^^^^^--- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `c2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | assert_eq!(c.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | assert_eq!(c.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:326:5 [INFO] [stderr] | [INFO] [stderr] 326 | assert_eq!(c.g, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:326:5 [INFO] [stderr] | [INFO] [stderr] 326 | assert_eq!(c.g, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/utilities/rgbcolor.rs:331:13 [INFO] [stderr] | [INFO] [stderr] 331 | let c = &c1 + &c2; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 331 | let c = c1 + c2; [INFO] [stderr] | ^^ ^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:332:5 [INFO] [stderr] | [INFO] [stderr] 332 | assert_eq!(c.r, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:332:5 [INFO] [stderr] | [INFO] [stderr] 332 | assert_eq!(c.r, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:333:5 [INFO] [stderr] | [INFO] [stderr] 333 | assert_eq!(c.g, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:333:5 [INFO] [stderr] | [INFO] [stderr] 333 | assert_eq!(c.g, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:334:5 [INFO] [stderr] | [INFO] [stderr] 334 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:334:5 [INFO] [stderr] | [INFO] [stderr] 334 | assert_eq!(c.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:342:5 [INFO] [stderr] | [INFO] [stderr] 342 | assert_eq!(c1.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:342:5 [INFO] [stderr] | [INFO] [stderr] 342 | assert_eq!(c1.r, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:343:5 [INFO] [stderr] | [INFO] [stderr] 343 | assert_eq!(c1.g, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:343:5 [INFO] [stderr] | [INFO] [stderr] 343 | assert_eq!(c1.g, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | assert_eq!(c1.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | assert_eq!(c1.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:349:5 [INFO] [stderr] | [INFO] [stderr] 349 | assert_eq!(c1.r, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:349:5 [INFO] [stderr] | [INFO] [stderr] 349 | assert_eq!(c1.r, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:350:5 [INFO] [stderr] | [INFO] [stderr] 350 | assert_eq!(c1.g, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:350:5 [INFO] [stderr] | [INFO] [stderr] 350 | assert_eq!(c1.g, 1.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:351:5 [INFO] [stderr] | [INFO] [stderr] 351 | assert_eq!(c1.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:351:5 [INFO] [stderr] | [INFO] [stderr] 351 | assert_eq!(c1.b, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:359:5 [INFO] [stderr] | [INFO] [stderr] 359 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:359:5 [INFO] [stderr] | [INFO] [stderr] 359 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:360:5 [INFO] [stderr] | [INFO] [stderr] 360 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:360:5 [INFO] [stderr] | [INFO] [stderr] 360 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:361:5 [INFO] [stderr] | [INFO] [stderr] 361 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:361:5 [INFO] [stderr] | [INFO] [stderr] 361 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/utilities/rgbcolor.rs:365:13 [INFO] [stderr] | [INFO] [stderr] 365 | let c = &c1 * c2; [INFO] [stderr] | ---^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `c1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:366:5 [INFO] [stderr] | [INFO] [stderr] 366 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:366:5 [INFO] [stderr] | [INFO] [stderr] 366 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:368:5 [INFO] [stderr] | [INFO] [stderr] 368 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:368:5 [INFO] [stderr] | [INFO] [stderr] 368 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/utilities/rgbcolor.rs:372:13 [INFO] [stderr] | [INFO] [stderr] 372 | let c = c1 * &c2; [INFO] [stderr] | ^^^^^--- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `c2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:373:5 [INFO] [stderr] | [INFO] [stderr] 373 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:373:5 [INFO] [stderr] | [INFO] [stderr] 373 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:374:5 [INFO] [stderr] | [INFO] [stderr] 374 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:374:5 [INFO] [stderr] | [INFO] [stderr] 374 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:375:5 [INFO] [stderr] | [INFO] [stderr] 375 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:375:5 [INFO] [stderr] | [INFO] [stderr] 375 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/utilities/rgbcolor.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | let c = &c1 * &c2; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 379 | let c = c1 * c2; [INFO] [stderr] | ^^ ^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:381:5 [INFO] [stderr] | [INFO] [stderr] 381 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:381:5 [INFO] [stderr] | [INFO] [stderr] 381 | assert_eq!(c.g, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | assert_eq!(c.b, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | assert_eq!(c1.r, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | assert_eq!(c1.r, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:391:5 [INFO] [stderr] | [INFO] [stderr] 391 | assert_eq!(c1.g, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:391:5 [INFO] [stderr] | [INFO] [stderr] 391 | assert_eq!(c1.g, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:392:5 [INFO] [stderr] | [INFO] [stderr] 392 | assert_eq!(c1.b, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:392:5 [INFO] [stderr] | [INFO] [stderr] 392 | assert_eq!(c1.b, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 397 | assert_eq!(c1.r, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 397 | assert_eq!(c1.r, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | assert_eq!(c1.g, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | assert_eq!(c1.g, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:399:5 [INFO] [stderr] | [INFO] [stderr] 399 | assert_eq!(c1.b, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:399:5 [INFO] [stderr] | [INFO] [stderr] 399 | assert_eq!(c1.b, 0.25); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:406:5 [INFO] [stderr] | [INFO] [stderr] 406 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:406:5 [INFO] [stderr] | [INFO] [stderr] 406 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:408:5 [INFO] [stderr] | [INFO] [stderr] 408 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:408:5 [INFO] [stderr] | [INFO] [stderr] 408 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:412:5 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:412:5 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:413:5 [INFO] [stderr] | [INFO] [stderr] 413 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:413:5 [INFO] [stderr] | [INFO] [stderr] 413 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:414:5 [INFO] [stderr] | [INFO] [stderr] 414 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:414:5 [INFO] [stderr] | [INFO] [stderr] 414 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:418:5 [INFO] [stderr] | [INFO] [stderr] 418 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:418:5 [INFO] [stderr] | [INFO] [stderr] 418 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:419:5 [INFO] [stderr] | [INFO] [stderr] 419 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:419:5 [INFO] [stderr] | [INFO] [stderr] 419 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:420:5 [INFO] [stderr] | [INFO] [stderr] 420 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:420:5 [INFO] [stderr] | [INFO] [stderr] 420 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:424:5 [INFO] [stderr] | [INFO] [stderr] 424 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:424:5 [INFO] [stderr] | [INFO] [stderr] 424 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:425:5 [INFO] [stderr] | [INFO] [stderr] 425 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:425:5 [INFO] [stderr] | [INFO] [stderr] 425 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:433:5 [INFO] [stderr] | [INFO] [stderr] 433 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:433:5 [INFO] [stderr] | [INFO] [stderr] 433 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:434:5 [INFO] [stderr] | [INFO] [stderr] 434 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:434:5 [INFO] [stderr] | [INFO] [stderr] 434 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:435:5 [INFO] [stderr] | [INFO] [stderr] 435 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:435:5 [INFO] [stderr] | [INFO] [stderr] 435 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:439:5 [INFO] [stderr] | [INFO] [stderr] 439 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:439:5 [INFO] [stderr] | [INFO] [stderr] 439 | assert_eq!(c.r, 0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:440:5 [INFO] [stderr] | [INFO] [stderr] 440 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:440:5 [INFO] [stderr] | [INFO] [stderr] 440 | assert_eq!(c.g, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utilities/rgbcolor.rs:441:5 [INFO] [stderr] | [INFO] [stderr] 441 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utilities/rgbcolor.rs:441:5 [INFO] [stderr] | [INFO] [stderr] 441 | assert_eq!(c.b, 0.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `tracer::raycast::RayCast` [INFO] [stderr] --> src/tracer/raycast.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> RayCast { [INFO] [stderr] 14 | | RayCast { [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/viewplane.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if self.gamma != 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.gamma - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/viewplane.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if self.gamma != 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `viewplane::Builder<'a>` [INFO] [stderr] --> src/viewplane.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 58 | | Builder { [INFO] [stderr] 59 | | hres: 100, [INFO] [stderr] 60 | | vres: 100, [INFO] [stderr] ... | [INFO] [stderr] 64 | | } [INFO] [stderr] 65 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> World { [INFO] [stderr] 13 | | World { [INFO] [stderr] 14 | | objects: Vec::<_>::new(), [INFO] [stderr] 15 | | ambient: ::lights::ambient::Builder::new() [INFO] [stderr] ... | [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 11 | impl Default for world::World { [INFO] [stderr] 12 | fn default() -> Self { [INFO] [stderr] 13 | Self::new() [INFO] [stderr] 14 | } [INFO] [stderr] 15 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/brdf/lambertian.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | self.kd * &self.cd * ::std::f32::consts::FRAC_1_PI [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.cd` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/brdf/lambertian.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | self.kd * &self.cd [INFO] [stderr] | ^^^^^^^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.cd` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/ambient.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::ambient::Builder` [INFO] [stderr] --> src/lights/ambient.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> Builder { [INFO] [stderr] 32 | | Builder { [INFO] [stderr] 33 | | ls: 1.0, [INFO] [stderr] 34 | | color: Color::white(), [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | impl Default for lights::ambient::Builder { [INFO] [stderr] 31 | fn default() -> Self { [INFO] [stderr] 32 | Self::new() [INFO] [stderr] 33 | } [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/ambientoccluder.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | self.min_amount * self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/ambientoccluder.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lights/ambientoccluder.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | / match object.shadow_hit(shadow_ray) { [INFO] [stderr] 61 | | (true, _) => return true, [INFO] [stderr] 62 | | _ => (), [INFO] [stderr] 63 | | }; [INFO] [stderr] | |_____________^ help: try this: `if let (true, _) = object.shadow_hit(shadow_ray) { return true }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::ambientoccluder::Builder<'a>` [INFO] [stderr] --> src/lights/ambientoccluder.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn new() -> Builder<'a> { [INFO] [stderr] 79 | | Builder { [INFO] [stderr] 80 | | sampler_builder: None, [INFO] [stderr] 81 | | ls: 1.0, [INFO] [stderr] ... | [INFO] [stderr] 84 | | } [INFO] [stderr] 85 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | impl Default for lights::ambientoccluder::Builder<'a> { [INFO] [stderr] 78 | fn default() -> Self { [INFO] [stderr] 79 | Self::new() [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/point.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::point::Builder` [INFO] [stderr] --> src/lights/point.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / pub fn new() -> Builder { [INFO] [stderr] 43 | | Builder { [INFO] [stderr] 44 | | ls: 1.0, [INFO] [stderr] 45 | | color: Color::white(), [INFO] [stderr] 46 | | location: Float3::zero(), [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 41 | impl Default for lights::point::Builder { [INFO] [stderr] 42 | fn default() -> Self { [INFO] [stderr] 43 | Self::new() [INFO] [stderr] 44 | } [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/lights/directional.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | self.ls * &self.color [INFO] [stderr] | ^^^^^^^^^^----------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `lights::directional::Builder` [INFO] [stderr] --> src/lights/directional.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new() -> Builder { [INFO] [stderr] 41 | | Builder { [INFO] [stderr] 42 | | ls: 1.0, [INFO] [stderr] 43 | | color: Color::white(), [INFO] [stderr] 44 | | direction: Float3::zero(), [INFO] [stderr] 45 | | } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 39 | impl Default for lights::directional::Builder { [INFO] [stderr] 40 | fn default() -> Self { [INFO] [stderr] 41 | Self::new() [INFO] [stderr] 42 | } [INFO] [stderr] 43 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::matte::Matte` [INFO] [stderr] --> src/materials/matte.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> Matte { [INFO] [stderr] 15 | | Matte { [INFO] [stderr] 16 | | ambient_brdf: Lambertian { kd: 1.0, cd: Color::white() }, [INFO] [stderr] 17 | | diffuse_brdf: Lambertian { kd: 1.0, cd: Color::white() }, [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 13 | impl Default for materials::matte::Matte { [INFO] [stderr] 14 | fn default() -> Self { [INFO] [stderr] 15 | Self::new() [INFO] [stderr] 16 | } [INFO] [stderr] 17 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/materials/matte.rs:47:17 [INFO] [stderr] | [INFO] [stderr] 47 | / let mut in_shadow = false; [INFO] [stderr] 48 | | [INFO] [stderr] 49 | | if light.casts_shadows() { [INFO] [stderr] 50 | | let shadow_ray = ::math::Ray::new(data.hit_point, wi); [INFO] [stderr] 51 | | in_shadow = light.in_shadow(data.world, shadow_ray); [INFO] [stderr] 52 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let in_shadow = if light.casts_shadows() { ..; light.in_shadow(data.world, shadow_ray) } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::matte::Builder` [INFO] [stderr] --> src/materials/matte.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | / pub fn new() -> Builder { [INFO] [stderr] 74 | | Builder { [INFO] [stderr] 75 | | ka: 0.2, [INFO] [stderr] 76 | | kd: 0.75, [INFO] [stderr] 77 | | color: Color::white(), [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 72 | impl Default for materials::matte::Builder { [INFO] [stderr] 73 | fn default() -> Self { [INFO] [stderr] 74 | Self::new() [INFO] [stderr] 75 | } [INFO] [stderr] 76 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/materials/phong.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | / let mut in_shadow = false; [INFO] [stderr] 26 | | [INFO] [stderr] 27 | | if light.casts_shadows() { [INFO] [stderr] 28 | | let shadow_ray = ::math::Ray::new(data.hit_point, wi); [INFO] [stderr] 29 | | in_shadow = light.in_shadow(data.world, shadow_ray); [INFO] [stderr] 30 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let in_shadow = if light.casts_shadows() { ..; light.in_shadow(data.world, shadow_ray) } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::phong::Builder` [INFO] [stderr] --> src/materials/phong.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | / pub fn new() -> Builder { [INFO] [stderr] 55 | | Builder { [INFO] [stderr] 56 | | ka: 1.0, [INFO] [stderr] 57 | | kd: 0.75, [INFO] [stderr] ... | [INFO] [stderr] 61 | | } [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 53 | impl Default for materials::phong::Builder { [INFO] [stderr] 54 | fn default() -> Self { [INFO] [stderr] 55 | Self::new() [INFO] [stderr] 56 | } [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `materials::Builder` [INFO] [stderr] --> src/materials/mod.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / pub fn new() -> Builder { [INFO] [stderr] 48 | | Builder { [INFO] [stderr] 49 | | ka: 1.0, [INFO] [stderr] 50 | | kd: 0.75, [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 46 | impl Default for materials::Builder { [INFO] [stderr] 47 | fn default() -> Self { [INFO] [stderr] 48 | Self::new() [INFO] [stderr] 49 | } [INFO] [stderr] 50 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/window.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | / match ev { [INFO] [stderr] 66 | | glium::glutin::Event::Closed => return, [INFO] [stderr] 67 | | _ => (), [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________________^ help: try this: `if let glium::glutin::Event::Closed = ev { return }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `window::Builder` [INFO] [stderr] --> src/window.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | / pub fn new() -> Builder { [INFO] [stderr] 84 | | Builder { [INFO] [stderr] 85 | | width: 200, [INFO] [stderr] 86 | | height: 200, [INFO] [stderr] 87 | | title: String::from("GL Window"), [INFO] [stderr] 88 | | } [INFO] [stderr] 89 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | Err(_) => panic!("Failed to create glium::glutin window."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | Err(_) => panic!("Failed to create vertex buffer object."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | Err(_) => panic!("Failed to create index buffer object."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/window.rs:146:17 [INFO] [stderr] | [INFO] [stderr] 146 | Err(_) => panic!("Failed to create shader program."), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: aborting due to 55 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ray-tracer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "fd01bb91ab7dd22e84ebc98c837366ab4eef48bc854d3f29a1434e63464e6c6d"` [INFO] running `"docker" "rm" "-f" "fd01bb91ab7dd22e84ebc98c837366ab4eef48bc854d3f29a1434e63464e6c6d"` [INFO] [stdout] fd01bb91ab7dd22e84ebc98c837366ab4eef48bc854d3f29a1434e63464e6c6d