[INFO] updating cached repository CanisLupus/rust-raytracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/CanisLupus/rust-raytracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/CanisLupus/rust-raytracer" "work/ex/clippy-test-run/sources/stable/gh/CanisLupus/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/CanisLupus/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/CanisLupus/rust-raytracer" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CanisLupus/rust-raytracer"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CanisLupus/rust-raytracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3e607d559aa002a9b41164bb67f27cd5de5d7bf7 [INFO] sha for GitHub repo CanisLupus/rust-raytracer: 3e607d559aa002a9b41164bb67f27cd5de5d7bf7 [INFO] validating manifest of CanisLupus/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 CanisLupus/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 CanisLupus/rust-raytracer [INFO] finished frobbing CanisLupus/rust-raytracer [INFO] frobbed toml for CanisLupus/rust-raytracer written to work/ex/clippy-test-run/sources/stable/gh/CanisLupus/rust-raytracer/Cargo.toml [INFO] started frobbing CanisLupus/rust-raytracer [INFO] finished frobbing CanisLupus/rust-raytracer [INFO] frobbed toml for CanisLupus/rust-raytracer written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/CanisLupus/rust-raytracer/Cargo.toml [INFO] crate CanisLupus/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 CanisLupus/rust-raytracer against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/CanisLupus/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] 65ba246ab879be203f99bb0a1a162c78e6cb1ca04b0a2c9a23bbc6c011cd685b [INFO] running `"docker" "start" "-a" "65ba246ab879be203f99bb0a1a162c78e6cb1ca04b0a2c9a23bbc6c011cd685b"` [INFO] [stderr] Checking raytracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bmp.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/bmp.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/bmp.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | data: data [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/vec4.rs:47:10 [INFO] [stderr] | [INFO] [stderr] 47 | Vec4 { x: x, y: y, z: z, w: 1. } [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/vec4.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | Vec4 { x: x, y: y, z: z, w: 1. } [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/vec4.rs:47:22 [INFO] [stderr] | [INFO] [stderr] 47 | Vec4 { x: x, y: y, z: z, w: 1. } [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/vec4.rs:50:10 [INFO] [stderr] | [INFO] [stderr] 50 | Vec4 { x: x, y: y, z: z, w: 0. } [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/vec4.rs:50:16 [INFO] [stderr] | [INFO] [stderr] 50 | Vec4 { x: x, y: y, z: z, w: 0. } [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/vec4.rs:50:22 [INFO] [stderr] | [INFO] [stderr] 50 | Vec4 { x: x, y: y, z: z, w: 0. } [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/mat4.rs:25:10 [INFO] [stderr] | [INFO] [stderr] 25 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mat4.rs:43:10 [INFO] [stderr] | [INFO] [stderr] 43 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mat4.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mat4.rs:145:10 [INFO] [stderr] | [INFO] [stderr] 145 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:44:4 [INFO] [stderr] | [INFO] [stderr] 44 | look_at: look_at, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `look_at` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:45:4 [INFO] [stderr] | [INFO] [stderr] 45 | up: up, [INFO] [stderr] | ^^^^^^ help: replace it with: `up` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:48:4 [INFO] [stderr] | [INFO] [stderr] 48 | axis_x: axis_x, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `axis_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/scene.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | axis_y: axis_y, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `axis_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/scene.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | axis_z: axis_z, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `axis_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/scene_parser.rs:92:8 [INFO] [stderr] | [INFO] [stderr] 92 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:93:8 [INFO] [stderr] | [INFO] [stderr] 93 | inverse_transform: inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:94:8 [INFO] [stderr] | [INFO] [stderr] 94 | transposed_inverse_transform: transposed_inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transposed_inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | shininess: shininess, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `shininess` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:123:8 [INFO] [stderr] | [INFO] [stderr] 123 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | inverse_transform: inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 125 | transposed_inverse_transform: transposed_inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transposed_inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | shininess: shininess, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `shininess` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:198:3 [INFO] [stderr] | [INFO] [stderr] 198 | graphics: graphics, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `graphics` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:199:3 [INFO] [stderr] | [INFO] [stderr] 199 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:200:3 [INFO] [stderr] | [INFO] [stderr] 200 | camera: camera, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `camera` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:201:3 [INFO] [stderr] | [INFO] [stderr] 201 | ambient_color: ambient_color, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ambient_color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:202:3 [INFO] [stderr] | [INFO] [stderr] 202 | max_raytrace_depth: max_raytrace_depth, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_raytrace_depth` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:203:3 [INFO] [stderr] | [INFO] [stderr] 203 | image_width: image_width, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_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/scene_parser.rs:204:3 [INFO] [stderr] | [INFO] [stderr] 204 | image_height: image_height, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_height` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:205:3 [INFO] [stderr] | [INFO] [stderr] 205 | image_filename: image_filename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_filename` [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/bmp.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/bmp.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/bmp.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | data: data [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/vec4.rs:47:10 [INFO] [stderr] | [INFO] [stderr] 47 | Vec4 { x: x, y: y, z: z, w: 1. } [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/vec4.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | Vec4 { x: x, y: y, z: z, w: 1. } [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/vec4.rs:47:22 [INFO] [stderr] | [INFO] [stderr] 47 | Vec4 { x: x, y: y, z: z, w: 1. } [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/vec4.rs:50:10 [INFO] [stderr] | [INFO] [stderr] 50 | Vec4 { x: x, y: y, z: z, w: 0. } [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/vec4.rs:50:16 [INFO] [stderr] | [INFO] [stderr] 50 | Vec4 { x: x, y: y, z: z, w: 0. } [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/vec4.rs:50:22 [INFO] [stderr] | [INFO] [stderr] 50 | Vec4 { x: x, y: y, z: z, w: 0. } [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/mat4.rs:25:10 [INFO] [stderr] | [INFO] [stderr] 25 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mat4.rs:43:10 [INFO] [stderr] | [INFO] [stderr] 43 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mat4.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mat4.rs:145:10 [INFO] [stderr] | [INFO] [stderr] 145 | Mat4 { data: data } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:44:4 [INFO] [stderr] | [INFO] [stderr] 44 | look_at: look_at, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `look_at` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:45:4 [INFO] [stderr] | [INFO] [stderr] 45 | up: up, [INFO] [stderr] | ^^^^^^ help: replace it with: `up` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene.rs:48:4 [INFO] [stderr] | [INFO] [stderr] 48 | axis_x: axis_x, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `axis_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/scene.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | axis_y: axis_y, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `axis_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/scene.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | axis_z: axis_z, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `axis_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/scene_parser.rs:92:8 [INFO] [stderr] | [INFO] [stderr] 92 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:93:8 [INFO] [stderr] | [INFO] [stderr] 93 | inverse_transform: inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:94:8 [INFO] [stderr] | [INFO] [stderr] 94 | transposed_inverse_transform: transposed_inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transposed_inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | shininess: shininess, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `shininess` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:123:8 [INFO] [stderr] | [INFO] [stderr] 123 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | inverse_transform: inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 125 | transposed_inverse_transform: transposed_inverse_transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transposed_inverse_transform` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | shininess: shininess, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `shininess` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:198:3 [INFO] [stderr] | [INFO] [stderr] 198 | graphics: graphics, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `graphics` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:199:3 [INFO] [stderr] | [INFO] [stderr] 199 | lights: lights, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `lights` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:200:3 [INFO] [stderr] | [INFO] [stderr] 200 | camera: camera, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `camera` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:201:3 [INFO] [stderr] | [INFO] [stderr] 201 | ambient_color: ambient_color, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ambient_color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:202:3 [INFO] [stderr] | [INFO] [stderr] 202 | max_raytrace_depth: max_raytrace_depth, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_raytrace_depth` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:203:3 [INFO] [stderr] | [INFO] [stderr] 203 | image_width: image_width, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_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/scene_parser.rs:204:3 [INFO] [stderr] | [INFO] [stderr] 204 | image_height: image_height, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_height` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/scene_parser.rs:205:3 [INFO] [stderr] | [INFO] [stderr] 205 | image_filename: image_filename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_filename` [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/bmp.rs:104:4 [INFO] [stderr] | [INFO] [stderr] 104 | return 255 as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `255 as u8` [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/bmp.rs:106:4 [INFO] [stderr] | [INFO] [stderr] 106 | return 0 as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `0 as u8` [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/bmp.rs:108:4 [INFO] [stderr] | [INFO] [stderr] 108 | return (value * 255 as f64) as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(value * 255 as f64) as u8` [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/mat4.rs:282:3 [INFO] [stderr] | [INFO] [stderr] 282 | return Ok(Mat4 { data: inv }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Mat4 { data: inv })` [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/graphics.rs:28:2 [INFO] [stderr] | [INFO] [stderr] 28 | return point.dot(normal) + d >= 0.; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `point.dot(normal) + d >= 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: unneeded return statement [INFO] [stderr] --> src/graphics.rs:77:3 [INFO] [stderr] | [INFO] [stderr] 77 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/graphics.rs:156:3 [INFO] [stderr] | [INFO] [stderr] 156 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/main.rs:185:2 [INFO] [stderr] | [INFO] [stderr] 185 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/bmp.rs:104:4 [INFO] [stderr] | [INFO] [stderr] 104 | return 255 as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `255 as u8` [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/bmp.rs:106:4 [INFO] [stderr] | [INFO] [stderr] 106 | return 0 as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `0 as u8` [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/bmp.rs:108:4 [INFO] [stderr] | [INFO] [stderr] 108 | return (value * 255 as f64) as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(value * 255 as f64) as u8` [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/mat4.rs:282:3 [INFO] [stderr] | [INFO] [stderr] 282 | return Ok(Mat4 { data: inv }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Mat4 { data: inv })` [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/graphics.rs:28:2 [INFO] [stderr] | [INFO] [stderr] 28 | return point.dot(normal) + d >= 0.; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `point.dot(normal) + d >= 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: unneeded return statement [INFO] [stderr] --> src/graphics.rs:77:3 [INFO] [stderr] | [INFO] [stderr] 77 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/graphics.rs:156:3 [INFO] [stderr] | [INFO] [stderr] 156 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/main.rs:185:2 [INFO] [stderr] | [INFO] [stderr] 185 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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 character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bmp.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | stream.push('B' as u8); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'B' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bmp.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | stream.push('M' as u8); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'M' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `filesize` [INFO] [stderr] --> src/bmp.rs:42:16 [INFO] [stderr] | [INFO] [stderr] 42 | stream.push(((filesize >> 0) & 0xFF) as u8); [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 `self.width` [INFO] [stderr] --> src/bmp.rs:59:16 [INFO] [stderr] | [INFO] [stderr] 59 | stream.push(((self.width >> 0) & 0xFF) as u8); [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: the operation is ineffective. Consider reducing it to `self.height` [INFO] [stderr] --> src/bmp.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | stream.push(((self.height >> 0) & 0xFF) as u8); [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bmp.rs:90:3 [INFO] [stderr] | [INFO] [stderr] 90 | file.write(&stream).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bmp.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | return (value * 255 as f64) as u8; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(255)` [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: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 20 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 33 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:61:14 [INFO] [stderr] | [INFO] [stderr] 61 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 61 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 139 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is only used to index `inv`. [INFO] [stderr] --> src/mat4.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 276 | for in &mut inv { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene.rs:38:16 [INFO] [stderr] | [INFO] [stderr] 38 | let axis_x = axis_z.clone().normalize().cross(up).normalize(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `axis_z` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/scene_parser.rs:41:23 [INFO] [stderr] | [INFO] [stderr] 41 | if line.starts_with("#") || line.is_empty() { [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene_parser.rs:74:8 [INFO] [stderr] | [INFO] [stderr] 74 | image_width as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(image_width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene_parser.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | image_height as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(image_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene_parser.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | let transform: Mat4 = transformation_stack.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*transformation_stack.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene_parser.rs:109:29 [INFO] [stderr] | [INFO] [stderr] 109 | let transform: Mat4 = transformation_stack.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*transformation_stack.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene_parser.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | let mat = transformation_stack.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*transformation_stack.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:57:20 [INFO] [stderr] | [INFO] [stderr] 57 | let half_width = scene.image_width as f64 / 2.; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(scene.image_width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | let half_height = scene.image_height as f64 / 2.; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(scene.image_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:60:36 [INFO] [stderr] | [INFO] [stderr] 60 | let alpha = f64::tan(fov_x/2.) * (col as f64 - half_width + 0.5) / half_width; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(col)` [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:61:50 [INFO] [stderr] | [INFO] [stderr] 61 | let beta = f64::tan(fov_y/2.) * (half_height - row as f64 - 0.5) / half_height; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(row)` [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/main.rs:120:54 [INFO] [stderr] | [INFO] [stderr] 120 | fn get_closest_intersection<'a>(ray: &Ray, graphics: &'a Vec>) -> Option<(Vec4, Vec4, &'a Box, f64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:120:100 [INFO] [stderr] | [INFO] [stderr] 120 | fn get_closest_intersection<'a>(ray: &Ray, graphics: &'a Vec>) -> Option<(Vec4, Vec4, &'a Box, f64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&'a Graphic` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:151:30 [INFO] [stderr] | [INFO] [stderr] 151 | fn get_lighting_color(light: &Box, graphic: &Box, hit: Vec4, to_camera: Vec4, normal: Vec4) -> Color { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `&Light` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:151:52 [INFO] [stderr] | [INFO] [stderr] 151 | fn get_lighting_color(light: &Box, graphic: &Box, hit: Vec4, to_camera: Vec4, normal: Vec4) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `&Graphic` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:168:70 [INFO] [stderr] | [INFO] [stderr] 168 | fn is_shadowed_from_light(light: &Box, point: Vec4, graphics: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:168:34 [INFO] [stderr] | [INFO] [stderr] 168 | fn is_shadowed_from_light(light: &Box, point: Vec4, graphics: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `&Light` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `raytracer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bmp.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | stream.push('B' as u8); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'B' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bmp.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | stream.push('M' as u8); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'M' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `filesize` [INFO] [stderr] --> src/bmp.rs:42:16 [INFO] [stderr] | [INFO] [stderr] 42 | stream.push(((filesize >> 0) & 0xFF) as u8); [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 `self.width` [INFO] [stderr] --> src/bmp.rs:59:16 [INFO] [stderr] | [INFO] [stderr] 59 | stream.push(((self.width >> 0) & 0xFF) as u8); [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: the operation is ineffective. Consider reducing it to `self.height` [INFO] [stderr] --> src/bmp.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | stream.push(((self.height >> 0) & 0xFF) as u8); [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bmp.rs:90:3 [INFO] [stderr] | [INFO] [stderr] 90 | file.write(&stream).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bmp.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | return (value * 255 as f64) as u8; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(255)` [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: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 20 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 33 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:61:14 [INFO] [stderr] | [INFO] [stderr] 61 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 61 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `data` [INFO] [stderr] --> src/mat4.rs:139:14 [INFO] [stderr] | [INFO] [stderr] 139 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 139 | for (row, ) in data.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is only used to index `inv`. [INFO] [stderr] --> src/mat4.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | for row in 0..4 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 276 | for in &mut inv { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene.rs:38:16 [INFO] [stderr] | [INFO] [stderr] 38 | let axis_x = axis_z.clone().normalize().cross(up).normalize(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `axis_z` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/scene_parser.rs:41:23 [INFO] [stderr] | [INFO] [stderr] 41 | if line.starts_with("#") || line.is_empty() { [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene_parser.rs:74:8 [INFO] [stderr] | [INFO] [stderr] 74 | image_width as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(image_width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/scene_parser.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | image_height as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(image_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene_parser.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | let transform: Mat4 = transformation_stack.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*transformation_stack.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene_parser.rs:109:29 [INFO] [stderr] | [INFO] [stderr] 109 | let transform: Mat4 = transformation_stack.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*transformation_stack.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/scene_parser.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | let mat = transformation_stack.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*transformation_stack.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:57:20 [INFO] [stderr] | [INFO] [stderr] 57 | let half_width = scene.image_width as f64 / 2.; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(scene.image_width)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | let half_height = scene.image_height as f64 / 2.; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(scene.image_height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:60:36 [INFO] [stderr] | [INFO] [stderr] 60 | let alpha = f64::tan(fov_x/2.) * (col as f64 - half_width + 0.5) / half_width; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(col)` [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:61:50 [INFO] [stderr] | [INFO] [stderr] 61 | let beta = f64::tan(fov_y/2.) * (half_height - row as f64 - 0.5) / half_height; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(row)` [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/main.rs:120:54 [INFO] [stderr] | [INFO] [stderr] 120 | fn get_closest_intersection<'a>(ray: &Ray, graphics: &'a Vec>) -> Option<(Vec4, Vec4, &'a Box, f64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:120:100 [INFO] [stderr] | [INFO] [stderr] 120 | fn get_closest_intersection<'a>(ray: &Ray, graphics: &'a Vec>) -> Option<(Vec4, Vec4, &'a Box, f64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&'a Graphic` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:151:30 [INFO] [stderr] | [INFO] [stderr] 151 | fn get_lighting_color(light: &Box, graphic: &Box, hit: Vec4, to_camera: Vec4, normal: Vec4) -> Color { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `&Light` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:151:52 [INFO] [stderr] | [INFO] [stderr] 151 | fn get_lighting_color(light: &Box, graphic: &Box, hit: Vec4, to_camera: Vec4, normal: Vec4) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `&Graphic` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:168:70 [INFO] [stderr] | [INFO] [stderr] 168 | fn is_shadowed_from_light(light: &Box, point: Vec4, graphics: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/main.rs:168:34 [INFO] [stderr] | [INFO] [stderr] 168 | fn is_shadowed_from_light(light: &Box, point: Vec4, graphics: &Vec>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `&Light` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `raytracer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "65ba246ab879be203f99bb0a1a162c78e6cb1ca04b0a2c9a23bbc6c011cd685b"` [INFO] running `"docker" "rm" "-f" "65ba246ab879be203f99bb0a1a162c78e6cb1ca04b0a2c9a23bbc6c011cd685b"` [INFO] [stdout] 65ba246ab879be203f99bb0a1a162c78e6cb1ca04b0a2c9a23bbc6c011cd685b