[INFO] updating cached repository wwkeyboard/ray_tracer_challenge [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/wwkeyboard/ray_tracer_challenge [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/wwkeyboard/ray_tracer_challenge" "work/ex/clippy-test-run/sources/stable/gh/wwkeyboard/ray_tracer_challenge"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/wwkeyboard/ray_tracer_challenge'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/wwkeyboard/ray_tracer_challenge" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wwkeyboard/ray_tracer_challenge"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wwkeyboard/ray_tracer_challenge'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 907141e512287752e078fa95a1fd5ade20690bba [INFO] sha for GitHub repo wwkeyboard/ray_tracer_challenge: 907141e512287752e078fa95a1fd5ade20690bba [INFO] validating manifest of wwkeyboard/ray_tracer_challenge 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 wwkeyboard/ray_tracer_challenge 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 wwkeyboard/ray_tracer_challenge [INFO] finished frobbing wwkeyboard/ray_tracer_challenge [INFO] frobbed toml for wwkeyboard/ray_tracer_challenge written to work/ex/clippy-test-run/sources/stable/gh/wwkeyboard/ray_tracer_challenge/Cargo.toml [INFO] started frobbing wwkeyboard/ray_tracer_challenge [INFO] finished frobbing wwkeyboard/ray_tracer_challenge [INFO] frobbed toml for wwkeyboard/ray_tracer_challenge written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wwkeyboard/ray_tracer_challenge/Cargo.toml [INFO] crate wwkeyboard/ray_tracer_challenge 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 wwkeyboard/ray_tracer_challenge 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/wwkeyboard/ray_tracer_challenge:/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] d149f20d304cbf23a408688f044ef90bf68483f5480fd7b646f8acc755a7ffbe [INFO] running `"docker" "start" "-a" "d149f20d304cbf23a408688f044ef90bf68483f5480fd7b646f8acc755a7ffbe"` [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling num-bigint v0.2.0 [INFO] [stderr] Compiling num-rational v0.2.1 [INFO] [stderr] Compiling num-complex v0.2.0 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Checking num-integer v0.1.39 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking ray_tracer_challenge v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/canvas.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/canvas.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | z: z, [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | z: z, [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/canvas.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/canvas.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | z: z, [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/point.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | z: z, [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/color.rs:7:27 [INFO] [stderr] | [INFO] [stderr] 7 | const FLOAT_MARGIN: f32 = 0.000001; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/matrix.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | return true [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [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: long literal lacking separators [INFO] [stderr] --> src/point.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | const FLOAT_MARGIN: f32 = 0.0000001; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: unused import: `color::Color` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/color.rs:7:27 [INFO] [stderr] | [INFO] [stderr] 7 | const FLOAT_MARGIN: f32 = 0.000001; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/matrix.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | return true [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [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: long literal lacking separators [INFO] [stderr] --> src/point.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | const FLOAT_MARGIN: f32 = 0.0000001; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: unused import: `color::Color` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use color::Color; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pixel_at` [INFO] [stderr] --> src/canvas.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | fn pixel_at(&self, x: usize, y: usize) -> color::Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/matrix.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(m: Vec>) -> Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ZERO_VECTOR` [INFO] [stderr] --> src/point.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / const ZERO_VECTOR: Tuple = Tuple { [INFO] [stderr] 8 | | x: 0., [INFO] [stderr] 9 | | y: 0., [INFO] [stderr] 10 | | z: 0., [INFO] [stderr] 11 | | w: 0., [INFO] [stderr] 12 | | }; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_vector` [INFO] [stderr] --> src/point.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn is_vector(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_point` [INFO] [stderr] --> src/point.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn is_point(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negate` [INFO] [stderr] --> src/point.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn negate(self) -> Tuple { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `magnitude` [INFO] [stderr] --> src/point.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn magnitude(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `normalize` [INFO] [stderr] --> src/point.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn normalize(&self) -> Tuple { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dot` [INFO] [stderr] --> src/point.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn dot(&self, other: Tuple) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cross` [INFO] [stderr] --> src/point.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn cross(&self, other: Tuple) -> Tuple { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/canvas.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the variable `row_num` is used as a loop counter. Consider using `for (row_num, item) in m.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/matrix.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | for row in m.iter() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `col_num` is used as a loop counter. Consider using `for (col_num, item) in row.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/matrix.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | for col in row.iter() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/point.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | self.w == 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.w - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | self.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: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `ray_tracer_challenge`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/canvas.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/color.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | assert_eq!(c1.red, -0.5); [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/color.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | assert_eq!(c1.red, -0.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/color.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | assert_eq!(c1.green, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/color.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | assert_eq!(c1.green, 0.4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/color.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | assert_eq!(c1.blue, 1.7); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/color.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | assert_eq!(c1.blue, 1.7); [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: the variable `row_num` is used as a loop counter. Consider using `for (row_num, item) in m.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/matrix.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | for row in m.iter() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `col_num` is used as a loop counter. Consider using `for (col_num, item) in row.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/matrix.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | for col in row.iter() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | assert_eq!(m.get(0, 0), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | assert_eq!(m.get(0, 0), 1.); [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/matrix.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | assert_eq!(m.get(0,3), 4.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | assert_eq!(m.get(0,3), 4.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | assert_eq!(m.get(3,2), 15.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | assert_eq!(m.get(3,2), 15.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | assert_eq!(m.get(0, 0), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | assert_eq!(m.get(0, 0), 1.); [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/matrix.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(m.get(0,2), 3.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(m.get(0,2), 3.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | assert_eq!(m.get(2,1), 10.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | assert_eq!(m.get(2,1), 10.); [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/matrix.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | assert_eq!(m.get(0, 0), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | assert_eq!(m.get(0, 0), 1.); [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/matrix.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | assert_eq!(m.get(0,1), 2.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | assert_eq!(m.get(0,1), 2.); [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/matrix.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | assert_eq!(m.get(1,1), 6.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | assert_eq!(m.get(1,1), 6.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/point.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | self.w == 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.w - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | self.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/point.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | assert_eq!(t.x, 4.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | assert_eq!(t.x, 4.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/point.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | assert_eq!(t.y, -4.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | assert_eq!(t.y, -4.2); [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/point.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | assert_eq!(t.z, 3.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | assert_eq!(t.z, 3.1); [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/point.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | assert_eq!(t.w, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | assert_eq!(t.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] = 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/point.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | assert_eq!(t.x, 4.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | assert_eq!(t.x, 4.3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/point.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | assert_eq!(t.y, -4.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | assert_eq!(t.y, -4.2); [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/point.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | assert_eq!(t.z, 3.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:176:9 [INFO] [stderr] | [INFO] [stderr] 176 | assert_eq!(t.z, 3.1); [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/point.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | assert_eq!(t.w, 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | assert_eq!(t.w, 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/point.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | assert_eq!(a1.magnitude(), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | assert_eq!(a1.magnitude(), 1.); [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/point.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(a2.magnitude(), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | assert_eq!(a2.magnitude(), 1.); [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/point.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | assert_eq!(a3.magnitude(), 1.); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:303:9 [INFO] [stderr] | [INFO] [stderr] 303 | assert_eq!(a3.magnitude(), 1.); [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/point.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | assert_eq!(Tuple::vector(1., 2., 3.).magnitude(), m1.sqrt()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | assert_eq!(Tuple::vector(1., 2., 3.).magnitude(), m1.sqrt()); [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/point.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | assert_eq!(Tuple::vector(-1., -2., -3.).magnitude(), m1.sqrt()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/point.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | assert_eq!(Tuple::vector(-1., -2., -3.).magnitude(), m1.sqrt()); [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: aborting due to 26 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ray_tracer_challenge`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d149f20d304cbf23a408688f044ef90bf68483f5480fd7b646f8acc755a7ffbe"` [INFO] running `"docker" "rm" "-f" "d149f20d304cbf23a408688f044ef90bf68483f5480fd7b646f8acc755a7ffbe"` [INFO] [stdout] d149f20d304cbf23a408688f044ef90bf68483f5480fd7b646f8acc755a7ffbe