[INFO] updating cached repository julienduranleau-sandbox/rust-raytracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/julienduranleau-sandbox/rust-raytracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/julienduranleau-sandbox/rust-raytracer" "work/ex/clippy-test-run/sources/stable/gh/julienduranleau-sandbox/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/julienduranleau-sandbox/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/julienduranleau-sandbox/rust-raytracer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/julienduranleau-sandbox/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/julienduranleau-sandbox/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 373d1e493ad7da124d5e7415b343ee8f713fcb5e [INFO] sha for GitHub repo julienduranleau-sandbox/rust-raytracer: 373d1e493ad7da124d5e7415b343ee8f713fcb5e [INFO] validating manifest of julienduranleau-sandbox/rust-raytracer on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of julienduranleau-sandbox/rust-raytracer on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing julienduranleau-sandbox/rust-raytracer [INFO] finished frobbing julienduranleau-sandbox/rust-raytracer [INFO] frobbed toml for julienduranleau-sandbox/rust-raytracer written to work/ex/clippy-test-run/sources/stable/gh/julienduranleau-sandbox/rust-raytracer/Cargo.toml [INFO] started frobbing julienduranleau-sandbox/rust-raytracer [INFO] finished frobbing julienduranleau-sandbox/rust-raytracer [INFO] frobbed toml for julienduranleau-sandbox/rust-raytracer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/julienduranleau-sandbox/rust-raytracer/Cargo.toml [INFO] crate julienduranleau-sandbox/rust-raytracer has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting julienduranleau-sandbox/rust-raytracer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/julienduranleau-sandbox/rust-raytracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 03cccf58ef847ba700c73ac223ab9b82978f2edc9d69a72149609706526dec4f [INFO] running `"docker" "start" "-a" "03cccf58ef847ba700c73ac223ab9b82978f2edc9d69a72149609706526dec4f"` [INFO] [stderr] Checking rust-tracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:452:9 [INFO] [stderr] | [INFO] [stderr] 452 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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/main.rs:452:9 [INFO] [stderr] | [INFO] [stderr] 452 | t: t, [INFO] [stderr] | ^^^^ help: replace it with: `t` [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: unneeded return statement [INFO] [stderr] --> src/vec3.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | / return Vec3 { [INFO] [stderr] 63 | | x: self.x / mag, [INFO] [stderr] 64 | | y: self.y / mag, [INFO] [stderr] 65 | | z: self.z / mag, [INFO] [stderr] 66 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 62 | Vec3 { [INFO] [stderr] 63 | x: self.x / mag, [INFO] [stderr] 64 | y: self.y / mag, [INFO] [stderr] 65 | z: self.z / mag, [INFO] [stderr] 66 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/vec3.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | return Vec3 { x: 0.0, y: 0.0, z: 0.0 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vec3 { x: 0.0, y: 0.0, z: 0.0 }` [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/main.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | const RAY_MIN_LENGTH: f64 = 0.000000001; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_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: long literal lacking separators [INFO] [stderr] --> src/main.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | const INFINITY: f64 = 100000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `100_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:371:17 [INFO] [stderr] | [INFO] [stderr] 371 | } else { [INFO] [stderr] | _________________^ [INFO] [stderr] 372 | | if let Some(next_ray_safe) = next_ray { [INFO] [stderr] 373 | | frac = next_frac; [INFO] [stderr] 374 | | ray = next_ray_safe; [INFO] [stderr] ... | [INFO] [stderr] 377 | | } [INFO] [stderr] 378 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 371 | } else if let Some(next_ray_safe) = next_ray { [INFO] [stderr] 372 | frac = next_frac; [INFO] [stderr] 373 | ray = next_ray_safe; [INFO] [stderr] 374 | } else { [INFO] [stderr] 375 | break; [INFO] [stderr] 376 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:494:9 [INFO] [stderr] | [INFO] [stderr] 494 | return Err(RayError::NoIntersections) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(RayError::NoIntersections)` [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: unneeded return statement [INFO] [stderr] --> src/vec3.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | / return Vec3 { [INFO] [stderr] 63 | | x: self.x / mag, [INFO] [stderr] 64 | | y: self.y / mag, [INFO] [stderr] 65 | | z: self.z / mag, [INFO] [stderr] 66 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 62 | Vec3 { [INFO] [stderr] 63 | x: self.x / mag, [INFO] [stderr] 64 | y: self.y / mag, [INFO] [stderr] 65 | z: self.z / mag, [INFO] [stderr] 66 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/vec3.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | return Vec3 { x: 0.0, y: 0.0, z: 0.0 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vec3 { x: 0.0, y: 0.0, z: 0.0 }` [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/main.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | const RAY_MIN_LENGTH: f64 = 0.000000001; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_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: long literal lacking separators [INFO] [stderr] --> src/main.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | const INFINITY: f64 = 100000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `100_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:371:17 [INFO] [stderr] | [INFO] [stderr] 371 | } else { [INFO] [stderr] | _________________^ [INFO] [stderr] 372 | | if let Some(next_ray_safe) = next_ray { [INFO] [stderr] 373 | | frac = next_frac; [INFO] [stderr] 374 | | ray = next_ray_safe; [INFO] [stderr] ... | [INFO] [stderr] 377 | | } [INFO] [stderr] 378 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 371 | } else if let Some(next_ray_safe) = next_ray { [INFO] [stderr] 372 | frac = next_frac; [INFO] [stderr] 373 | ray = next_ray_safe; [INFO] [stderr] 374 | } else { [INFO] [stderr] 375 | break; [INFO] [stderr] 376 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:494:9 [INFO] [stderr] | [INFO] [stderr] 494 | return Err(RayError::NoIntersections) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(RayError::NoIntersections)` [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: the operation is ineffective. Consider reducing it to `800` [INFO] [stderr] --> src/main.rs:92:34 [INFO] [stderr] | [INFO] [stderr] 92 | let screen = Screen { width: 800 * 1, height: 600 * 1 }; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `600` [INFO] [stderr] --> src/main.rs:92:51 [INFO] [stderr] | [INFO] [stderr] 92 | let screen = Screen { width: 800 * 1, height: 600 * 1 }; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | let aspect_ratio = screen.width as f64 / screen.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.width)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:98:46 [INFO] [stderr] | [INFO] [stderr] 98 | let aspect_ratio = screen.width as f64 / screen.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.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/main.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | x as f64 / screen.width as f64 * 2.0 - 1.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/main.rs:109:28 [INFO] [stderr] | [INFO] [stderr] 109 | x as f64 / screen.width as f64 * 2.0 - 1.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.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/main.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | y as f64 / screen.height as f64 * 2.0 - 1.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/main.rs:110:28 [INFO] [stderr] | [INFO] [stderr] 110 | y as f64 / screen.height as f64 * 2.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:410:9 [INFO] [stderr] | [INFO] [stderr] 410 | / match intersect_sphere(ray, sphere) { [INFO] [stderr] 411 | | Ok(intersection) => { [INFO] [stderr] 412 | | if intersection.t < closest_intersection.t { [INFO] [stderr] 413 | | closest_intersection = intersection; [INFO] [stderr] ... | [INFO] [stderr] 416 | | _ => {} [INFO] [stderr] 417 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 410 | if let Ok(intersection) = intersect_sphere(ray, sphere) { [INFO] [stderr] 411 | if intersection.t < closest_intersection.t { [INFO] [stderr] 412 | closest_intersection = intersection; [INFO] [stderr] 413 | } [INFO] [stderr] 414 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:421:9 [INFO] [stderr] | [INFO] [stderr] 421 | / match intersect_plane(ray, plane) { [INFO] [stderr] 422 | | Ok(intersection) => { [INFO] [stderr] 423 | | if intersection.t < closest_intersection.t { [INFO] [stderr] 424 | | closest_intersection = intersection; [INFO] [stderr] ... | [INFO] [stderr] 427 | | _ => {} [INFO] [stderr] 428 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 421 | if let Ok(intersection) = intersect_plane(ray, plane) { [INFO] [stderr] 422 | if intersection.t < closest_intersection.t { [INFO] [stderr] 423 | closest_intersection = intersection; [INFO] [stderr] 424 | } [INFO] [stderr] 425 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `800` [INFO] [stderr] --> src/main.rs:92:34 [INFO] [stderr] | [INFO] [stderr] 92 | let screen = Screen { width: 800 * 1, height: 600 * 1 }; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `600` [INFO] [stderr] --> src/main.rs:92:51 [INFO] [stderr] | [INFO] [stderr] 92 | let screen = Screen { width: 800 * 1, height: 600 * 1 }; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | let aspect_ratio = screen.width as f64 / screen.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.width)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:98:46 [INFO] [stderr] | [INFO] [stderr] 98 | let aspect_ratio = screen.width as f64 / screen.height as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.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/main.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | x as f64 / screen.width as f64 * 2.0 - 1.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/main.rs:109:28 [INFO] [stderr] | [INFO] [stderr] 109 | x as f64 / screen.width as f64 * 2.0 - 1.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.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/main.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | y as f64 / screen.height as f64 * 2.0 - 1.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/main.rs:110:28 [INFO] [stderr] | [INFO] [stderr] 110 | y as f64 / screen.height as f64 * 2.0 - 1.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(screen.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:410:9 [INFO] [stderr] | [INFO] [stderr] 410 | / match intersect_sphere(ray, sphere) { [INFO] [stderr] 411 | | Ok(intersection) => { [INFO] [stderr] 412 | | if intersection.t < closest_intersection.t { [INFO] [stderr] 413 | | closest_intersection = intersection; [INFO] [stderr] ... | [INFO] [stderr] 416 | | _ => {} [INFO] [stderr] 417 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 410 | if let Ok(intersection) = intersect_sphere(ray, sphere) { [INFO] [stderr] 411 | if intersection.t < closest_intersection.t { [INFO] [stderr] 412 | closest_intersection = intersection; [INFO] [stderr] 413 | } [INFO] [stderr] 414 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:421:9 [INFO] [stderr] | [INFO] [stderr] 421 | / match intersect_plane(ray, plane) { [INFO] [stderr] 422 | | Ok(intersection) => { [INFO] [stderr] 423 | | if intersection.t < closest_intersection.t { [INFO] [stderr] 424 | | closest_intersection = intersection; [INFO] [stderr] ... | [INFO] [stderr] 427 | | _ => {} [INFO] [stderr] 428 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 421 | if let Ok(intersection) = intersect_plane(ray, plane) { [INFO] [stderr] 422 | if intersection.t < closest_intersection.t { [INFO] [stderr] 423 | closest_intersection = intersection; [INFO] [stderr] 424 | } [INFO] [stderr] 425 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.84s [INFO] running `"docker" "inspect" "03cccf58ef847ba700c73ac223ab9b82978f2edc9d69a72149609706526dec4f"` [INFO] running `"docker" "rm" "-f" "03cccf58ef847ba700c73ac223ab9b82978f2edc9d69a72149609706526dec4f"` [INFO] [stdout] 03cccf58ef847ba700c73ac223ab9b82978f2edc9d69a72149609706526dec4f