[INFO] cloning repository https://github.com/Sofiamishel2003/Raytracing [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sofiamishel2003/Raytracing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSofiamishel2003%2FRaytracing", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSofiamishel2003%2FRaytracing'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5b236a3b07f09df3ceb37d4d17fb15ab06cfecc3 [INFO] linting Sofiamishel2003/Raytracing against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSofiamishel2003%2FRaytracing" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 53% (700/1311) Updating files: 54% (708/1311) Updating files: 55% (722/1311) Updating files: 56% (735/1311) Updating files: 57% (748/1311) Updating files: 58% (761/1311) Updating files: 59% (774/1311) Updating files: 60% (787/1311) Updating files: 61% (800/1311) Updating files: 62% (813/1311) Updating files: 63% (826/1311) Updating files: 64% (840/1311) Updating files: 64% (842/1311) Updating files: 65% (853/1311) Updating files: 66% (866/1311) Updating files: 67% (879/1311) Updating files: 68% (892/1311) Updating files: 69% (905/1311) Updating files: 69% (908/1311) Updating files: 70% (918/1311) Updating files: 71% (931/1311) Updating files: 72% (944/1311) Updating files: 73% (958/1311) Updating files: 74% (971/1311) Updating files: 75% (984/1311) Updating files: 76% (997/1311) Updating files: 77% (1010/1311) Updating files: 78% (1023/1311) Updating files: 79% (1036/1311) Updating files: 80% (1049/1311) Updating files: 81% (1062/1311) Updating files: 82% (1076/1311) Updating files: 83% (1089/1311) Updating files: 84% (1102/1311) Updating files: 85% (1115/1311) Updating files: 86% (1128/1311) Updating files: 87% (1141/1311) Updating files: 88% (1154/1311) Updating files: 89% (1167/1311) Updating files: 90% (1180/1311) Updating files: 91% (1194/1311) Updating files: 92% (1207/1311) Updating files: 93% (1220/1311) Updating files: 94% (1233/1311) Updating files: 95% (1246/1311) Updating files: 96% (1259/1311) Updating files: 97% (1272/1311) Updating files: 98% (1285/1311) Updating files: 99% (1298/1311) Updating files: 100% (1311/1311) Updating files: 100% (1311/1311), done. [INFO] started tweaking git repo https://github.com/Sofiamishel2003/Raytracing [INFO] finished tweaking git repo https://github.com/Sofiamishel2003/Raytracing [INFO] tweaked toml for git repo https://github.com/Sofiamishel2003/Raytracing written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Sofiamishel2003/Raytracing on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Sofiamishel2003/Raytracing already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded simba v0.9.0 [INFO] [stderr] Downloaded thiserror-impl v1.0.64 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.94 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.94 [INFO] [stderr] Downloaded ravif v0.11.10 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.44 [INFO] [stderr] Downloaded thiserror v1.0.64 [INFO] [stderr] Downloaded fdeflate v0.3.5 [INFO] [stderr] Downloaded wasm-bindgen v0.2.94 [INFO] [stderr] Downloaded imgref v1.10.1 [INFO] [stderr] Downloaded cc v1.1.28 [INFO] [stderr] Downloaded png v0.17.14 [INFO] [stderr] Downloaded libfuzzer-sys v0.4.7 [INFO] [stderr] Downloaded flate2 v1.0.34 [INFO] [stderr] Downloaded wide v0.7.28 [INFO] [stderr] Downloaded sdl2 v0.35.2 [INFO] [stderr] Downloaded safe_arch v0.7.2 [INFO] [stderr] Downloaded anyhow v1.0.89 [INFO] [stderr] Downloaded js-sys v0.3.71 [INFO] [stderr] Downloaded syn v2.0.79 [INFO] [stderr] Downloaded xml-rs v0.8.22 [INFO] [stderr] Downloaded proc-macro2 v1.0.87 [INFO] [stderr] Downloaded minifb v0.27.0 [INFO] [stderr] Downloaded bitstream-io v2.5.3 [INFO] [stderr] Downloaded built v0.7.4 [INFO] [stderr] Downloaded arbitrary v1.3.2 [INFO] [stderr] Downloaded nalgebra v0.33.0 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.94 [INFO] [stderr] Downloaded libloading v0.8.5 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.94 [INFO] [stderr] Downloaded nalgebra-glm v0.19.0 [INFO] [stderr] Downloaded web-sys v0.3.71 [INFO] [stderr] Downloaded libc v0.2.159 [INFO] [stderr] Downloaded sdl2-sys v0.35.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3abfef3f2904301828402b05f577d3939387c0c665d23d1d65305819553e669d [INFO] running `Command { std: "docker" "start" "-a" "3abfef3f2904301828402b05f577d3939387c0c665d23d1d65305819553e669d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3abfef3f2904301828402b05f577d3939387c0c665d23d1d65305819553e669d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3abfef3f2904301828402b05f577d3939387c0c665d23d1d65305819553e669d", kill_on_drop: false }` [INFO] [stdout] 3abfef3f2904301828402b05f577d3939387c0c665d23d1d65305819553e669d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 83616ca6d4798dfff26ed45459daf335e2ce3db2fdbcc8874859ef9e8ef9c240 [INFO] running `Command { std: "docker" "start" "-a" "83616ca6d4798dfff26ed45459daf335e2ce3db2fdbcc8874859ef9e8ef9c240", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.87 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Compiling xml-rs v0.8.22 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking aligned-vec v0.5.0 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling built v0.7.4 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling syn v2.0.79 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Checking v_frame v0.3.8 [INFO] [stderr] Checking safe_arch v0.7.2 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Checking wide v0.7.28 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling cc v1.1.28 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking av1-grain v0.2.3 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking bitstream-io v2.5.3 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking imgref v1.10.1 [INFO] [stderr] Checking simba v0.9.0 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Compiling minifb v0.27.0 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking avif-serialize v0.8.1 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.5 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking xcursor v0.3.8 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking zune-jpeg v0.4.13 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking image-webp v0.1.3 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking png v0.17.14 [INFO] [stderr] Checking tempfile v3.13.0 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling profiling-procmacros v1.0.15 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking nalgebra v0.33.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking ravif v0.11.10 [INFO] [stderr] Checking image v0.25.2 [INFO] [stderr] Checking nalgebra-glm v0.19.0 [INFO] [stderr] Checking Raytracing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cube.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | u: u, // Asigna el valor de u [INFO] [stdout] | ^^^^ help: replace it with: `u` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cube.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | v: v, // Asigna el valor de v [INFO] [stdout] | ^^^^ help: replace it with: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/material.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:323:36 [INFO] [stdout] | [INFO] [stdout] 323 | let is_door_position = (i == 4 && j == 5); // Ajustar la posición a la nueva altura de la puerta [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 323 - let is_door_position = (i == 4 && j == 5); // Ajustar la posición a la nueva altura de la puerta [INFO] [stdout] 323 + let is_door_position = i == 4 && j == 5 ; // Ajustar la posición a la nueva altura de la puerta [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | material: material, // Asignar el material dependiendo de la capa [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `material` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cube.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | u: u, // Asigna el valor de u [INFO] [stdout] | ^^^^ help: replace it with: `u` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cube.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | v: v, // Asigna el valor de v [INFO] [stdout] | ^^^^ help: replace it with: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/material.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:323:36 [INFO] [stdout] | [INFO] [stdout] 323 | let is_door_position = (i == 4 && j == 5); // Ajustar la posición a la nueva altura de la puerta [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 323 - let is_door_position = (i == 4 && j == 5); // Ajustar la posición a la nueva altura de la puerta [INFO] [stdout] 323 + let is_door_position = i == 4 && j == 5 ; // Ajustar la posición a la nueva altura de la puerta [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | material: material, // Asignar el material dependiendo de la capa [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `material` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `direction` [INFO] [stdout] --> src/main.rs:40:40 [INFO] [stdout] | [INFO] [stdout] 40 | fn offset_point(intersect: &Intersect, direction: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lights` [INFO] [stdout] --> src/main.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | let lights = vec![Light::new(Vec3::new(-10.0, 10.0, 10.0), Color::new(255, 255, 255), 1.0)]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `offset_point` is never used [INFO] [stdout] --> src/main.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn offset_point(intersect: &Intersect, direction: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ray_intersect.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Intersect { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `f32::INFINITY` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `direction` [INFO] [stdout] --> src/main.rs:40:40 [INFO] [stdout] | [INFO] [stdout] 40 | fn offset_point(intersect: &Intersect, direction: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/cube.rs:33:48 [INFO] [stdout] | [INFO] [stdout] 33 | if (point.y - self.max.y).abs() < 1e-4 { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 34 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 35 | | let v = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 36 | | (u, v) [INFO] [stdout] 37 | | } else if (point.y - self.min.y).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/cube.rs:37:55 [INFO] [stdout] | [INFO] [stdout] 37 | } else if (point.y - self.min.y).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 38 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 39 | | let v = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 40 | | (u, v) [INFO] [stdout] 41 | | } else if (point.x - self.min.x).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/cube.rs:41:55 [INFO] [stdout] | [INFO] [stdout] 41 | } else if (point.x - self.min.x).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 42 | | let u = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 43 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 44 | | (u, v) [INFO] [stdout] 45 | | } else if (point.x - self.max.x).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/cube.rs:45:55 [INFO] [stdout] | [INFO] [stdout] 45 | } else if (point.x - self.max.x).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 46 | | let u = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 47 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 48 | | (u, v) [INFO] [stdout] 49 | | } else if (point.z - self.min.z).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/cube.rs:49:55 [INFO] [stdout] | [INFO] [stdout] 49 | } else if (point.z - self.min.z).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 50 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 51 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 52 | | (u, v) [INFO] [stdout] 53 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/cube.rs:53:16 [INFO] [stdout] | [INFO] [stdout] 53 | } else { [INFO] [stdout] | ________________^ [INFO] [stdout] 54 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 55 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 56 | | (u, v) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lights` [INFO] [stdout] --> src/main.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | let lights = vec![Light::new(Vec3::new(-10.0, 10.0, 10.0), Color::new(255, 255, 255), 1.0)]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `offset_point` is never used [INFO] [stdout] --> src/main.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn offset_point(intersect: &Intersect, direction: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ray_intersect.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Intersect { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `f32::INFINITY` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/color.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | pub const fn to_hex(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/cube.rs:33:48 [INFO] [stdout] | [INFO] [stdout] 33 | if (point.y - self.max.y).abs() < 1e-4 { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 34 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 35 | | let v = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 36 | | (u, v) [INFO] [stdout] 37 | | } else if (point.y - self.min.y).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/cube.rs:37:55 [INFO] [stdout] | [INFO] [stdout] 37 | } else if (point.y - self.min.y).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 38 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 39 | | let v = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 40 | | (u, v) [INFO] [stdout] 41 | | } else if (point.x - self.min.x).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/cube.rs:41:55 [INFO] [stdout] | [INFO] [stdout] 41 | } else if (point.x - self.min.x).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 42 | | let u = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 43 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 44 | | (u, v) [INFO] [stdout] 45 | | } else if (point.x - self.max.x).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/cube.rs:45:55 [INFO] [stdout] | [INFO] [stdout] 45 | } else if (point.x - self.max.x).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 46 | | let u = (point.z - self.min.z) / (self.max.z - self.min.z); [INFO] [stdout] 47 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 48 | | (u, v) [INFO] [stdout] 49 | | } else if (point.z - self.min.z).abs() < 1e-4 { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/cube.rs:49:55 [INFO] [stdout] | [INFO] [stdout] 49 | } else if (point.z - self.min.z).abs() < 1e-4 { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 50 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 51 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 52 | | (u, v) [INFO] [stdout] 53 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/cube.rs:53:16 [INFO] [stdout] | [INFO] [stdout] 53 | } else { [INFO] [stdout] | ________________^ [INFO] [stdout] 54 | | let u = (point.x - self.min.x) / (self.max.x - self.min.x); [INFO] [stdout] 55 | | let v = (point.y - self.min.y) / (self.max.y - self.min.y); [INFO] [stdout] 56 | | (u, v) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/color.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | pub const fn to_hex(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.r().min(255)` is never smaller than `0` and has therefore no effect [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | color.r().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `color.r().min(255)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] = note: `#[warn(clippy::unnecessary_min_or_max)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | color.r().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `color.r().clamp(0, 255)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.r()` is never greater than `255` and has therefore no effect [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | color.r().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `color.r()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.g().min(255)` is never smaller than `0` and has therefore no effect [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | color.g().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `color.g().min(255)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | color.g().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `color.g().clamp(0, 255)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.g()` is never greater than `255` and has therefore no effect [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | color.g().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `color.g()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.b().min(255)` is never smaller than `0` and has therefore no effect [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | color.b().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `color.b().min(255)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | color.b().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `color.b().clamp(0, 255)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.b()` is never greater than `255` and has therefore no effect [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | color.b().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `color.b()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/main.rs:125:23 [INFO] [stdout] | [INFO] [stdout] 125 | let mut zbuffer = INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 125 | let mut zbuffer = f32::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:155:33 [INFO] [stdout] | [INFO] [stdout] 155 | let diffuse_intensity = intersect.normal.dot(&light_dir).max(0.0).min(1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `intersect.normal.dot(&light_dir).clamp(0.0, 1.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:212:90 [INFO] [stdout] | [INFO] [stdout] 212 | let pixel_color = cast_ray(&camera.eye, &rotated_direction, objects, lights, ¤t_skybox, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `current_skybox` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.r().min(255)` is never smaller than `0` and has therefore no effect [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | color.r().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `color.r().min(255)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] = note: `#[warn(clippy::unnecessary_min_or_max)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | if !(i == 3 && j == 5 && k == 1) && // Ventana 1 [INFO] [stdout] | ____________________^ [INFO] [stdout] 351 | | !(i == 5 && j == 5 && k == 1) && // Ventana 2 [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 350 - if !(i == 3 && j == 5 && k == 1) && // Ventana 1 [INFO] [stdout] 351 - !(i == 5 && j == 5 && k == 1) && // Ventana 2 [INFO] [stdout] 350 + if !(i == 3 && j == 5 && k == 1 || j == 5 && k == 1 && i == 5) && // Ventana 2 [INFO] [stdout] | [INFO] [stdout] 350 - if !(i == 3 && j == 5 && k == 1) && // Ventana 1 [INFO] [stdout] 351 - !(i == 5 && j == 5 && k == 1) && // Ventana 2 [INFO] [stdout] 350 + if j != 5 || k != 1 || i != 3 && i != 5 && // Ventana 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | color.r().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `color.r().clamp(0, 255)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.r()` is never greater than `255` and has therefore no effect [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | color.r().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `color.r()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.g().min(255)` is never smaller than `0` and has therefore no effect [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | color.g().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `color.g().min(255)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | color.g().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `color.g().clamp(0, 255)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.g()` is never greater than `255` and has therefore no effect [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | color.g().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `color.g()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.b().min(255)` is never smaller than `0` and has therefore no effect [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | color.b().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `color.b().min(255)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | color.b().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `color.b().clamp(0, 255)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `color.b()` is never greater than `255` and has therefore no effect [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | color.b().min(255).max(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `color.b()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/main.rs:125:23 [INFO] [stdout] | [INFO] [stdout] 125 | let mut zbuffer = INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 125 | let mut zbuffer = f32::INFINITY; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> src/main.rs:155:33 [INFO] [stdout] | [INFO] [stdout] 155 | let diffuse_intensity = intersect.normal.dot(&light_dir).max(0.0).min(1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `intersect.normal.dot(&light_dir).clamp(0.0, 1.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:212:90 [INFO] [stdout] | [INFO] [stdout] 212 | let pixel_color = cast_ray(&camera.eye, &rotated_direction, objects, lights, ¤t_skybox, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `current_skybox` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | if !(i == 3 && j == 5 && k == 1) && // Ventana 1 [INFO] [stdout] | ____________________^ [INFO] [stdout] 351 | | !(i == 5 && j == 5 && k == 1) && // Ventana 2 [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 350 - if !(i == 3 && j == 5 && k == 1) && // Ventana 1 [INFO] [stdout] 351 - !(i == 5 && j == 5 && k == 1) && // Ventana 2 [INFO] [stdout] 350 + if !(i == 3 && j == 5 && k == 1 || j == 5 && k == 1 && i == 5) && // Ventana 2 [INFO] [stdout] | [INFO] [stdout] 350 - if !(i == 3 && j == 5 && k == 1) && // Ventana 1 [INFO] [stdout] 351 - !(i == 5 && j == 5 && k == 1) && // Ventana 2 [INFO] [stdout] 350 + if j != 5 || k != 1 || i != 3 && i != 5 && // Ventana 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/main.rs:395:18 [INFO] [stdout] | [INFO] [stdout] 395 | let lights = vec![Light::new(Vec3::new(-10.0, 10.0, 10.0), Color::new(255, 255, 255), 1.0)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[Light::new(Vec3::new(-10.0, 10.0, 10.0), Color::new(255, 255, 255), 1.0)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/main.rs:395:18 [INFO] [stdout] | [INFO] [stdout] 395 | let lights = vec![Light::new(Vec3::new(-10.0, 10.0, 10.0), Color::new(255, 255, 255), 1.0)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[Light::new(Vec3::new(-10.0, 10.0, 10.0), Color::new(255, 255, 255), 1.0)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s [INFO] running `Command { std: "docker" "inspect" "83616ca6d4798dfff26ed45459daf335e2ce3db2fdbcc8874859ef9e8ef9c240", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83616ca6d4798dfff26ed45459daf335e2ce3db2fdbcc8874859ef9e8ef9c240", kill_on_drop: false }` [INFO] [stdout] 83616ca6d4798dfff26ed45459daf335e2ce3db2fdbcc8874859ef9e8ef9c240