[INFO] updating cached repository mandeep/rastermind [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mandeep/rastermind [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mandeep/rastermind" "work/ex/clippy-test-run/sources/stable/gh/mandeep/rastermind"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/mandeep/rastermind'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mandeep/rastermind" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mandeep/rastermind"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mandeep/rastermind'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 46b94523e4a61b8acb851f33d3a3e93d6d8c794f [INFO] sha for GitHub repo mandeep/rastermind: 46b94523e4a61b8acb851f33d3a3e93d6d8c794f [INFO] validating manifest of mandeep/rastermind 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 mandeep/rastermind 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 mandeep/rastermind [INFO] finished frobbing mandeep/rastermind [INFO] frobbed toml for mandeep/rastermind written to work/ex/clippy-test-run/sources/stable/gh/mandeep/rastermind/Cargo.toml [INFO] started frobbing mandeep/rastermind [INFO] finished frobbing mandeep/rastermind [INFO] frobbed toml for mandeep/rastermind written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mandeep/rastermind/Cargo.toml [INFO] crate mandeep/rastermind 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 mandeep/rastermind against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/mandeep/rastermind:/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] 13befe7376cbadbf79edc5951b756284192822f34774df60c12d3021fa68c141 [INFO] running `"docker" "start" "-a" "13befe7376cbadbf79edc5951b756284192822f34774df60c12d3021fa68c141"` [INFO] [stderr] Checking cfg-if v0.1.3 [INFO] [stderr] Checking nodrop v0.1.12 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking lazy_static v1.0.1 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Compiling num-traits v0.2.4 [INFO] [stderr] Compiling rayon-core v1.4.0 [INFO] [stderr] Checking libc v0.2.41 [INFO] [stderr] Compiling num-integer v0.1.38 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Checking byteorder v1.2.3 [INFO] [stderr] Compiling matrixmultiply v0.1.14 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Checking adler32 v1.0.2 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking color_quant v1.0.0 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Checking approx v0.1.1 [INFO] [stderr] Checking bitflags v1.0.3 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking arrayvec v0.4.7 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking deflate v0.7.18 [INFO] [stderr] Checking inflate v0.3.4 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking generic-array v0.8.3 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking alga v0.5.4 [INFO] [stderr] Checking jpeg-decoder v0.1.14 [INFO] [stderr] Checking nalgebra v0.14.4 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking rastermind v0.6.17 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/wavefront.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | Object { geometric_vertices: geometric_vertices, geometric_faces: geometric_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `geometric_vertices` [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/wavefront.rs:132:58 [INFO] [stderr] | [INFO] [stderr] 132 | Object { geometric_vertices: geometric_vertices, geometric_faces: geometric_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `geometric_faces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/wavefront.rs:133:18 [INFO] [stderr] | [INFO] [stderr] 133 | texture_vertices: texture_vertices, texture_faces: texture_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `texture_vertices` [INFO] [stderr] | [INFO] [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/wavefront.rs:133:54 [INFO] [stderr] | [INFO] [stderr] 133 | texture_vertices: texture_vertices, texture_faces: texture_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `texture_faces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/wavefront.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | normal_vertices: normal_vertices, normal_faces: normal_faces } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normal_vertices` [INFO] [stderr] | [INFO] [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/wavefront.rs:134:52 [INFO] [stderr] | [INFO] [stderr] 134 | normal_vertices: normal_vertices, normal_faces: normal_faces } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normal_faces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/wavefront.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | Object { geometric_vertices: geometric_vertices, geometric_faces: geometric_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `geometric_vertices` [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/wavefront.rs:132:58 [INFO] [stderr] | [INFO] [stderr] 132 | Object { geometric_vertices: geometric_vertices, geometric_faces: geometric_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `geometric_faces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/wavefront.rs:133:18 [INFO] [stderr] | [INFO] [stderr] 133 | texture_vertices: texture_vertices, texture_faces: texture_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `texture_vertices` [INFO] [stderr] | [INFO] [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/wavefront.rs:133:54 [INFO] [stderr] | [INFO] [stderr] 133 | texture_vertices: texture_vertices, texture_faces: texture_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `texture_faces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/wavefront.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | normal_vertices: normal_vertices, normal_faces: normal_faces } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normal_vertices` [INFO] [stderr] | [INFO] [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/wavefront.rs:134:52 [INFO] [stderr] | [INFO] [stderr] 134 | normal_vertices: normal_vertices, normal_faces: normal_faces } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normal_faces` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/shader.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | return Vector3::new(-1.0, 1.0, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vector3::new(-1.0, 1.0, 1.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/shader.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | return Vector3::new(1.0 - (w.x + w.y) / w.z, w.y / w.z, w.x / w.z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vector3::new(1.0 - (w.x + w.y) / w.z, w.y / w.z, w.x / w.z)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/shader.rs:290:34 [INFO] [stderr] | [INFO] [stderr] 290 | assert!(view.row(1)[1] - 0.948683 < 0.0001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.948_683` [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/shader.rs:291:34 [INFO] [stderr] | [INFO] [stderr] 291 | assert!(view.row(1)[2] - 0.316228 < 0.0001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.316_228` [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/shader.rs:295:34 [INFO] [stderr] | [INFO] [stderr] 295 | assert!(view.row(2)[1] - 0.316228 < 0.0001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.316_228` [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/shader.rs:296:34 [INFO] [stderr] | [INFO] [stderr] 296 | assert!(view.row(2)[2] - 0.948683 < 0.0001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.948_683` [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/shader.rs:329:77 [INFO] [stderr] | [INFO] [stderr] 329 | assert!(view.row(3)[2].is_sign_negative() && view.row(3)[2].abs() - 0.316228 < 0.0001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.316_228` [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/shader.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | return Vector3::new(-1.0, 1.0, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vector3::new(-1.0, 1.0, 1.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/shader.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | return Vector3::new(1.0 - (w.x + w.y) / w.z, w.y / w.z, w.x / w.z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vector3::new(1.0 - (w.x + w.y) / w.z, w.y / w.z, w.x / w.z)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | let alpha = i as f64 / triangle_height as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:99:32 [INFO] [stderr] | [INFO] [stderr] 99 | let alpha = i as f64 / triangle_height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(triangle_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:100:38 [INFO] [stderr] | [INFO] [stderr] 100 | let beta = if second_half { (i as f64 - (t1.y - t0.y) as f64) / segment_height as f64} else [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:100:49 [INFO] [stderr] | [INFO] [stderr] 100 | let beta = if second_half { (i as f64 - (t1.y - t0.y) as f64) / segment_height as f64} else [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(t1.y - t0.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:100:73 [INFO] [stderr] | [INFO] [stderr] 100 | let beta = if second_half { (i as f64 - (t1.y - t0.y) as f64) / segment_height as f64} else [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(segment_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:101:21 [INFO] [stderr] | [INFO] [stderr] 101 | {i as f64 / segment_height as f64}; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | {i as f64 / segment_height as f64}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(segment_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let mut a = t0.x as f64 + ((t2 - t0).x as f64 * alpha); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(t0.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:103:36 [INFO] [stderr] | [INFO] [stderr] 103 | let mut a = t0.x as f64 + ((t2 - t0).x as f64 * alpha); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from((t2 - t0).x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:104:37 [INFO] [stderr] | [INFO] [stderr] 104 | let mut b = if second_half {t1.x as f64 + ((t2 - t1).x as f64 * beta)} else [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(t1.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:104:52 [INFO] [stderr] | [INFO] [stderr] 104 | let mut b = if second_half {t1.x as f64 + ((t2 - t1).x as f64 * beta)} else [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from((t2 - t1).x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:105:22 [INFO] [stderr] | [INFO] [stderr] 105 | {t0.x as f64 + ((t1 - t0).x as f64 * beta)}; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(t0.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:105:37 [INFO] [stderr] | [INFO] [stderr] 105 | {t0.x as f64 + ((t1 - t0).x as f64 * beta)}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from((t1 - t0).x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/render.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | fn find_bounding_box(points: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vector2]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/render.rs:149:26 [INFO] [stderr] | [INFO] [stderr] 149 | fn draw_triangle(points: &Vec>, buffer: &mut image::RgbImage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vector4]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:161:42 [INFO] [stderr] | [INFO] [stderr] 161 | let mut point = Vector4::new(x as f64, y as f64, 0.0, 0.0); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:161:52 [INFO] [stderr] | [INFO] [stderr] 161 | let mut point = Vector4::new(x as f64, y as f64, 0.0, 0.0); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:169:47 [INFO] [stderr] | [INFO] [stderr] 169 | zbuffer[(point.x + (point.y * buffer.width() as f64)) as usize] < point.z / point.w { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:173:47 [INFO] [stderr] | [INFO] [stderr] 173 | zbuffer[(point.x + (point.y * buffer.width() as f64)) as usize] = point.z / point.w; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:201:38 [INFO] [stderr] | [INFO] [stderr] 201 | let x0 = ((v0.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:201:71 [INFO] [stderr] | [INFO] [stderr] 201 | let x0 = ((v0.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:202:38 [INFO] [stderr] | [INFO] [stderr] 202 | let y0 = ((v0.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:202:72 [INFO] [stderr] | [INFO] [stderr] 202 | let y0 = ((v0.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:204:38 [INFO] [stderr] | [INFO] [stderr] 204 | let x1 = ((v1.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:204:71 [INFO] [stderr] | [INFO] [stderr] 204 | let x1 = ((v1.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:205:38 [INFO] [stderr] | [INFO] [stderr] 205 | let y1 = ((v1.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:205:72 [INFO] [stderr] | [INFO] [stderr] 205 | let y1 = ((v1.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/render.rs:226:1 [INFO] [stderr] | [INFO] [stderr] 226 | / pub fn draw_triangle_mesh(filename: &str, buffer: &mut image::RgbImage, [INFO] [stderr] 227 | | texture: &image::RgbImage, depth: u32, [INFO] [stderr] 228 | | light_vector: &Vector3, eye: &Vector3, [INFO] [stderr] 229 | | center: &Vector3, up: &Vector3) { [INFO] [stderr] ... | [INFO] [stderr] 252 | | } [INFO] [stderr] 253 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:53:28 [INFO] [stderr] | [INFO] [stderr] 53 | matrix.row_mut(0)[3] = x as f64 + width as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:53:39 [INFO] [stderr] | [INFO] [stderr] 53 | matrix.row_mut(0)[3] = x as f64 + width as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:54:28 [INFO] [stderr] | [INFO] [stderr] 54 | matrix.row_mut(1)[3] = y as f64 + height as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:54:39 [INFO] [stderr] | [INFO] [stderr] 54 | matrix.row_mut(1)[3] = y as f64 + height as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | matrix.row_mut(2)[3] = depth as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(depth)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:57:28 [INFO] [stderr] | [INFO] [stderr] 57 | matrix.row_mut(0)[0] = width as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:58:28 [INFO] [stderr] | [INFO] [stderr] 58 | matrix.row_mut(1)[1] = height as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:59:28 [INFO] [stderr] | [INFO] [stderr] 59 | matrix.row_mut(2)[2] = depth as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(depth)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/shader.rs:75:33 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn find_barycentric(points: &Vec>, point: &Vector4) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vector2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/shader.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn vertex(&mut self, coordinates: &wavefront::Object, [INFO] [stderr] 93 | | view_port: &Matrix4, projection: &Matrix4, [INFO] [stderr] 94 | | model_view: &Matrix4, light_vector: &Vector3, [INFO] [stderr] 95 | | face_index: usize, vertex_index: usize) -> Vector4; [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:149:29 [INFO] [stderr] | [INFO] [stderr] 149 | let width = (uv.x * texture.width() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:150:30 [INFO] [stderr] | [INFO] [stderr] 150 | let height = (uv.y * texture.height() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:153:51 [INFO] [stderr] | [INFO] [stderr] 153 | (0..=2).for_each(|i| {texture_pixel[i] = (texture_pixel[i] as f64 * intensity) as u8;}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture_pixel[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:209:29 [INFO] [stderr] | [INFO] [stderr] 209 | let width = (uv.x * texture.width() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:210:30 [INFO] [stderr] | [INFO] [stderr] 210 | let height = (uv.y * texture.height() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:213:51 [INFO] [stderr] | [INFO] [stderr] 213 | (0..=2).for_each(|i| {texture_pixel[i] = (texture_pixel[i] as f64 * intensity) as u8;}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture_pixel[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:261:29 [INFO] [stderr] | [INFO] [stderr] 261 | let width = (uv.x * texture.width() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:262:30 [INFO] [stderr] | [INFO] [stderr] 262 | let height = (uv.y * texture.height() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:265:51 [INFO] [stderr] | [INFO] [stderr] 265 | (0..=2).for_each(|i| {texture_pixel[i] = (texture_pixel[i] as f64 * intensity) as u8;}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture_pixel[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let ref mut render = File::create("output.png").unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^--------------------------------------- help: try: `let render = &mut File::create("output.png").unwrap();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | let alpha = i as f64 / triangle_height as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:99:32 [INFO] [stderr] | [INFO] [stderr] 99 | let alpha = i as f64 / triangle_height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(triangle_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:100:38 [INFO] [stderr] | [INFO] [stderr] 100 | let beta = if second_half { (i as f64 - (t1.y - t0.y) as f64) / segment_height as f64} else [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:100:49 [INFO] [stderr] | [INFO] [stderr] 100 | let beta = if second_half { (i as f64 - (t1.y - t0.y) as f64) / segment_height as f64} else [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(t1.y - t0.y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:100:73 [INFO] [stderr] | [INFO] [stderr] 100 | let beta = if second_half { (i as f64 - (t1.y - t0.y) as f64) / segment_height as f64} else [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(segment_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:101:21 [INFO] [stderr] | [INFO] [stderr] 101 | {i as f64 / segment_height as f64}; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | {i as f64 / segment_height as f64}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(segment_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let mut a = t0.x as f64 + ((t2 - t0).x as f64 * alpha); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(t0.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:103:36 [INFO] [stderr] | [INFO] [stderr] 103 | let mut a = t0.x as f64 + ((t2 - t0).x as f64 * alpha); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from((t2 - t0).x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:104:37 [INFO] [stderr] | [INFO] [stderr] 104 | let mut b = if second_half {t1.x as f64 + ((t2 - t1).x as f64 * beta)} else [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(t1.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:104:52 [INFO] [stderr] | [INFO] [stderr] 104 | let mut b = if second_half {t1.x as f64 + ((t2 - t1).x as f64 * beta)} else [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from((t2 - t1).x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:105:22 [INFO] [stderr] | [INFO] [stderr] 105 | {t0.x as f64 + ((t1 - t0).x as f64 * beta)}; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(t0.x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:105:37 [INFO] [stderr] | [INFO] [stderr] 105 | {t0.x as f64 + ((t1 - t0).x as f64 * beta)}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from((t1 - t0).x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/render.rs:119:30 [INFO] [stderr] | [INFO] [stderr] 119 | fn find_bounding_box(points: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vector2]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/render.rs:149:26 [INFO] [stderr] | [INFO] [stderr] 149 | fn draw_triangle(points: &Vec>, buffer: &mut image::RgbImage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vector4]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:161:42 [INFO] [stderr] | [INFO] [stderr] 161 | let mut point = Vector4::new(x as f64, y as f64, 0.0, 0.0); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:161:52 [INFO] [stderr] | [INFO] [stderr] 161 | let mut point = Vector4::new(x as f64, y as f64, 0.0, 0.0); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:169:47 [INFO] [stderr] | [INFO] [stderr] 169 | zbuffer[(point.x + (point.y * buffer.width() as f64)) as usize] < point.z / point.w { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:173:47 [INFO] [stderr] | [INFO] [stderr] 173 | zbuffer[(point.x + (point.y * buffer.width() as f64)) as usize] = point.z / point.w; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:201:38 [INFO] [stderr] | [INFO] [stderr] 201 | let x0 = ((v0.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:201:71 [INFO] [stderr] | [INFO] [stderr] 201 | let x0 = ((v0.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:202:38 [INFO] [stderr] | [INFO] [stderr] 202 | let y0 = ((v0.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:202:72 [INFO] [stderr] | [INFO] [stderr] 202 | let y0 = ((v0.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:204:38 [INFO] [stderr] | [INFO] [stderr] 204 | let x1 = ((v1.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:204:71 [INFO] [stderr] | [INFO] [stderr] 204 | let x1 = ((v1.x + 1.0) * buffer.width() as f64 / 2.0).min(buffer.width() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:205:38 [INFO] [stderr] | [INFO] [stderr] 205 | let y1 = ((v1.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/render.rs:205:72 [INFO] [stderr] | [INFO] [stderr] 205 | let y1 = ((v1.y + 1.0) * buffer.height() as f64 / 2.0).min(buffer.height() as f64 - 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(buffer.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/render.rs:226:1 [INFO] [stderr] | [INFO] [stderr] 226 | / pub fn draw_triangle_mesh(filename: &str, buffer: &mut image::RgbImage, [INFO] [stderr] 227 | | texture: &image::RgbImage, depth: u32, [INFO] [stderr] 228 | | light_vector: &Vector3, eye: &Vector3, [INFO] [stderr] 229 | | center: &Vector3, up: &Vector3) { [INFO] [stderr] ... | [INFO] [stderr] 252 | | } [INFO] [stderr] 253 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render.rs:279:13 [INFO] [stderr] | [INFO] [stderr] 279 | let ref mut fout = File::create(&dir).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^------------------------------- help: try: `let fout = &mut File::create(&dir).unwrap();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/render.rs:311:13 [INFO] [stderr] | [INFO] [stderr] 311 | let ref mut fout = File::create(&dir).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^------------------------------- help: try: `let fout = &mut File::create(&dir).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:53:28 [INFO] [stderr] | [INFO] [stderr] 53 | matrix.row_mut(0)[3] = x as f64 + width as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:53:39 [INFO] [stderr] | [INFO] [stderr] 53 | matrix.row_mut(0)[3] = x as f64 + width as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:54:28 [INFO] [stderr] | [INFO] [stderr] 54 | matrix.row_mut(1)[3] = y as f64 + height as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:54:39 [INFO] [stderr] | [INFO] [stderr] 54 | matrix.row_mut(1)[3] = y as f64 + height as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | matrix.row_mut(2)[3] = depth as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(depth)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:57:28 [INFO] [stderr] | [INFO] [stderr] 57 | matrix.row_mut(0)[0] = width as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:58:28 [INFO] [stderr] | [INFO] [stderr] 58 | matrix.row_mut(1)[1] = height as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:59:28 [INFO] [stderr] | [INFO] [stderr] 59 | matrix.row_mut(2)[2] = depth as f64 / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(depth)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/shader.rs:75:33 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn find_barycentric(points: &Vec>, point: &Vector4) -> Vector3 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vector2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/shader.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn vertex(&mut self, coordinates: &wavefront::Object, [INFO] [stderr] 93 | | view_port: &Matrix4, projection: &Matrix4, [INFO] [stderr] 94 | | model_view: &Matrix4, light_vector: &Vector3, [INFO] [stderr] 95 | | face_index: usize, vertex_index: usize) -> Vector4; [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:149:29 [INFO] [stderr] | [INFO] [stderr] 149 | let width = (uv.x * texture.width() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:150:30 [INFO] [stderr] | [INFO] [stderr] 150 | let height = (uv.y * texture.height() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:153:51 [INFO] [stderr] | [INFO] [stderr] 153 | (0..=2).for_each(|i| {texture_pixel[i] = (texture_pixel[i] as f64 * intensity) as u8;}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture_pixel[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:209:29 [INFO] [stderr] | [INFO] [stderr] 209 | let width = (uv.x * texture.width() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:210:30 [INFO] [stderr] | [INFO] [stderr] 210 | let height = (uv.y * texture.height() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:213:51 [INFO] [stderr] | [INFO] [stderr] 213 | (0..=2).for_each(|i| {texture_pixel[i] = (texture_pixel[i] as f64 * intensity) as u8;}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture_pixel[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:261:29 [INFO] [stderr] | [INFO] [stderr] 261 | let width = (uv.x * texture.width() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.width())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:262:30 [INFO] [stderr] | [INFO] [stderr] 262 | let height = (uv.y * texture.height() as f64) as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture.height())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/shader.rs:265:51 [INFO] [stderr] | [INFO] [stderr] 265 | (0..=2).for_each(|i| {texture_pixel[i] = (texture_pixel[i] as f64 * intensity) as u8;}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(texture_pixel[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:284:9 [INFO] [stderr] | [INFO] [stderr] 284 | assert_eq!(view.row(0)[0], 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/shader.rs:284:9 [INFO] [stderr] | [INFO] [stderr] 284 | assert_eq!(view.row(0)[0], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | assert_eq!(view.row(0)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:285:9 [INFO] [stderr] | [INFO] [stderr] 285 | assert_eq!(view.row(0)[1], 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/shader.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | assert_eq!(view.row(0)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | assert_eq!(view.row(0)[2], 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/shader.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | assert_eq!(view.row(0)[3], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | assert_eq!(view.row(0)[3], 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/shader.rs:289:9 [INFO] [stderr] | [INFO] [stderr] 289 | assert_eq!(view.row(1)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:289:9 [INFO] [stderr] | [INFO] [stderr] 289 | assert_eq!(view.row(1)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | assert_eq!(view.row(1)[3], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | assert_eq!(view.row(1)[3], 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/shader.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | assert_eq!(view.row(2)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:294:9 [INFO] [stderr] | [INFO] [stderr] 294 | assert_eq!(view.row(2)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 297 | assert_eq!(view.row(2)[3], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 297 | assert_eq!(view.row(2)[3], 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/shader.rs:299:9 [INFO] [stderr] | [INFO] [stderr] 299 | assert_eq!(view.row(3)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:299:9 [INFO] [stderr] | [INFO] [stderr] 299 | assert_eq!(view.row(3)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:300:9 [INFO] [stderr] | [INFO] [stderr] 300 | assert_eq!(view.row(3)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:300:9 [INFO] [stderr] | [INFO] [stderr] 300 | assert_eq!(view.row(3)[1], 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/shader.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | assert_eq!(view.row(3)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | assert_eq!(view.row(3)[2], 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/shader.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(view.row(3)[3], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(view.row(3)[3], 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/shader.rs:310:38 [INFO] [stderr] | [INFO] [stderr] 310 | let view = projection(-1.0 / (&eye - ¢er).norm()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 310 | let view = projection(-1.0 / (eye - center).norm()); [INFO] [stderr] | ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:312:9 [INFO] [stderr] | [INFO] [stderr] 312 | assert_eq!(view.row(0)[0], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:312:9 [INFO] [stderr] | [INFO] [stderr] 312 | assert_eq!(view.row(0)[0], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:313:9 [INFO] [stderr] | [INFO] [stderr] 313 | assert_eq!(view.row(0)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:313:9 [INFO] [stderr] | [INFO] [stderr] 313 | assert_eq!(view.row(0)[1], 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/shader.rs:314:9 [INFO] [stderr] | [INFO] [stderr] 314 | assert_eq!(view.row(0)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:314:9 [INFO] [stderr] | [INFO] [stderr] 314 | assert_eq!(view.row(0)[2], 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/shader.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | assert_eq!(view.row(0)[3], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | assert_eq!(view.row(0)[3], 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/shader.rs:317:9 [INFO] [stderr] | [INFO] [stderr] 317 | assert_eq!(view.row(1)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:317:9 [INFO] [stderr] | [INFO] [stderr] 317 | assert_eq!(view.row(1)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:318:9 [INFO] [stderr] | [INFO] [stderr] 318 | assert_eq!(view.row(1)[1], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:318:9 [INFO] [stderr] | [INFO] [stderr] 318 | assert_eq!(view.row(1)[1], 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/shader.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | assert_eq!(view.row(1)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | assert_eq!(view.row(1)[2], 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/shader.rs:320:9 [INFO] [stderr] | [INFO] [stderr] 320 | assert_eq!(view.row(1)[3], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:320:9 [INFO] [stderr] | [INFO] [stderr] 320 | assert_eq!(view.row(1)[3], 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/shader.rs:322:9 [INFO] [stderr] | [INFO] [stderr] 322 | assert_eq!(view.row(2)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:322:9 [INFO] [stderr] | [INFO] [stderr] 322 | assert_eq!(view.row(2)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:323:9 [INFO] [stderr] | [INFO] [stderr] 323 | assert_eq!(view.row(2)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:323:9 [INFO] [stderr] | [INFO] [stderr] 323 | assert_eq!(view.row(2)[1], 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/shader.rs:324:9 [INFO] [stderr] | [INFO] [stderr] 324 | assert_eq!(view.row(2)[2], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:324:9 [INFO] [stderr] | [INFO] [stderr] 324 | assert_eq!(view.row(2)[2], 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/shader.rs:325:9 [INFO] [stderr] | [INFO] [stderr] 325 | assert_eq!(view.row(2)[3], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:325:9 [INFO] [stderr] | [INFO] [stderr] 325 | assert_eq!(view.row(2)[3], 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/shader.rs:327:9 [INFO] [stderr] | [INFO] [stderr] 327 | assert_eq!(view.row(3)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:327:9 [INFO] [stderr] | [INFO] [stderr] 327 | assert_eq!(view.row(3)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:328:9 [INFO] [stderr] | [INFO] [stderr] 328 | assert_eq!(view.row(3)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:328:9 [INFO] [stderr] | [INFO] [stderr] 328 | assert_eq!(view.row(3)[1], 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/shader.rs:330:9 [INFO] [stderr] | [INFO] [stderr] 330 | assert_eq!(view.row(3)[3], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:330:9 [INFO] [stderr] | [INFO] [stderr] 330 | assert_eq!(view.row(3)[3], 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/shader.rs:338:9 [INFO] [stderr] | [INFO] [stderr] 338 | assert_eq!(view.row(0)[0], 300.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:338:9 [INFO] [stderr] | [INFO] [stderr] 338 | assert_eq!(view.row(0)[0], 300.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/shader.rs:339:9 [INFO] [stderr] | [INFO] [stderr] 339 | assert_eq!(view.row(0)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:339:9 [INFO] [stderr] | [INFO] [stderr] 339 | assert_eq!(view.row(0)[1], 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/shader.rs:340:9 [INFO] [stderr] | [INFO] [stderr] 340 | assert_eq!(view.row(0)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:340:9 [INFO] [stderr] | [INFO] [stderr] 340 | assert_eq!(view.row(0)[2], 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/shader.rs:341:9 [INFO] [stderr] | [INFO] [stderr] 341 | assert_eq!(view.row(0)[3], 400.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:341:9 [INFO] [stderr] | [INFO] [stderr] 341 | assert_eq!(view.row(0)[3], 400.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/shader.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | assert_eq!(view.row(1)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | assert_eq!(view.row(1)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:344:9 [INFO] [stderr] | [INFO] [stderr] 344 | assert_eq!(view.row(1)[1], 300.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:344:9 [INFO] [stderr] | [INFO] [stderr] 344 | assert_eq!(view.row(1)[1], 300.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/shader.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | assert_eq!(view.row(1)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | assert_eq!(view.row(1)[2], 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/shader.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | assert_eq!(view.row(1)[3], 400.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | assert_eq!(view.row(1)[3], 400.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/shader.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | assert_eq!(view.row(2)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | assert_eq!(view.row(2)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:349:9 [INFO] [stderr] | [INFO] [stderr] 349 | assert_eq!(view.row(2)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:349:9 [INFO] [stderr] | [INFO] [stderr] 349 | assert_eq!(view.row(2)[1], 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/shader.rs:353:9 [INFO] [stderr] | [INFO] [stderr] 353 | assert_eq!(view.row(3)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:353:9 [INFO] [stderr] | [INFO] [stderr] 353 | assert_eq!(view.row(3)[0], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/shader.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | assert_eq!(view.row(3)[1], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | assert_eq!(view.row(3)[1], 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/shader.rs:355:9 [INFO] [stderr] | [INFO] [stderr] 355 | assert_eq!(view.row(3)[2], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:355:9 [INFO] [stderr] | [INFO] [stderr] 355 | assert_eq!(view.row(3)[2], 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/shader.rs:356:9 [INFO] [stderr] | [INFO] [stderr] 356 | assert_eq!(view.row(3)[3], 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/shader.rs:356:9 [INFO] [stderr] | [INFO] [stderr] 356 | assert_eq!(view.row(3)[3], 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/vector.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(point.x == 1.0 && point.y == 2.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(point.x - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(point.x == 1.0 && point.y == 2.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:73:35 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(point.x == 1.0 && point.y == 2.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(point.y - 2.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:73:35 [INFO] [stderr] | [INFO] [stderr] 73 | assert!(point.x == 1.0 && point.y == 2.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(point.x == 1.0 && point.y == 2.0 && point.z == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(point.x - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(point.x == 1.0 && point.y == 2.0 && point.z == 3.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:80:35 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(point.x == 1.0 && point.y == 2.0 && point.z == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(point.y - 2.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:80:35 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(point.x == 1.0 && point.y == 2.0 && point.z == 3.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:80:53 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(point.x == 1.0 && point.y == 2.0 && point.z == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(point.z - 3.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:80:53 [INFO] [stderr] | [INFO] [stderr] 80 | assert!(point.x == 1.0 && point.y == 2.0 && point.z == 3.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.x - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:87:36 [INFO] [stderr] | [INFO] [stderr] 87 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.y - 2.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:87:36 [INFO] [stderr] | [INFO] [stderr] 87 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:87:55 [INFO] [stderr] | [INFO] [stderr] 87 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.z - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:87:55 [INFO] [stderr] | [INFO] [stderr] 87 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.x - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:94:36 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.y - 2.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:94:36 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:94:55 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.z - 3.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:94:55 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/vector.rs:94:74 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(vector.w - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/vector.rs:94:74 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(vector.x == 1.0 && vector.y == 2.0 && vector.z == 3.0 && vector.w == 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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let ref mut render = File::create("output.png").unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^--------------------------------------- help: try: `let render = &mut File::create("output.png").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 53 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rastermind`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "13befe7376cbadbf79edc5951b756284192822f34774df60c12d3021fa68c141"` [INFO] running `"docker" "rm" "-f" "13befe7376cbadbf79edc5951b756284192822f34774df60c12d3021fa68c141"` [INFO] [stdout] 13befe7376cbadbf79edc5951b756284192822f34774df60c12d3021fa68c141