[INFO] cloning repository https://github.com/alsor/durer_renderer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alsor/durer_renderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falsor%2Fdurer_renderer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falsor%2Fdurer_renderer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c4b1df4c4fcc5e215db6fd6f170d2e529ec5caa7 [INFO] testing alsor/durer_renderer against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falsor%2Fdurer_renderer" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/alsor/durer_renderer on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/alsor/durer_renderer [INFO] finished tweaking git repo https://github.com/alsor/durer_renderer [INFO] tweaked toml for git repo https://github.com/alsor/durer_renderer written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/alsor/durer_renderer already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/sebcrozet/mpeg_encoder` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded quasi v0.32.0 [INFO] [stderr] Downloaded syntex v0.58.1 [INFO] [stderr] Downloaded syntex_errors v0.58.1 [INFO] [stderr] Downloaded clang-sys v0.19.0 [INFO] [stderr] Downloaded regex v1.0.2 [INFO] [stderr] Downloaded jpeg-decoder v0.1.13 [INFO] [stderr] Downloaded quasi_codegen v0.32.0 [INFO] [stderr] Downloaded image v0.22.0 [INFO] [stderr] Downloaded aster v0.41.0 [INFO] [stderr] Downloaded syntex_syntax v0.58.1 [INFO] [stderr] Downloaded bindgen v0.30.0 [INFO] [stderr] Downloaded scoped_threadpool v0.1.8 [INFO] [stderr] Downloaded syntex_pos v0.58.1 [INFO] [stderr] Downloaded atty v0.2.8 [INFO] [stderr] Downloaded ffmpeg-sys v3.3.3 [INFO] [stderr] Downloaded deflate v0.7.17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] ec688d57a3a0e57ef472fa25ec9250509c3df846dcf566499a33a430a074485c [INFO] running `Command { std: "docker" "start" "-a" "ec688d57a3a0e57ef472fa25ec9250509c3df846dcf566499a33a430a074485c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ec688d57a3a0e57ef472fa25ec9250509c3df846dcf566499a33a430a074485c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec688d57a3a0e57ef472fa25ec9250509c3df846dcf566499a33a430a074485c", kill_on_drop: false }` [INFO] [stdout] ec688d57a3a0e57ef472fa25ec9250509c3df846dcf566499a33a430a074485c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 353874b411e3f750b4a44dc21a7638446a784958b0a17e3bc747881be5e83004 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "353874b411e3f750b4a44dc21a7638446a784958b0a17e3bc747881be5e83004", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.5 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling either v1.4.0 [INFO] [stderr] Compiling syn v0.15.42 [INFO] [stderr] Compiling rayon-core v1.3.0 [INFO] [stderr] Compiling regex v1.0.2 [INFO] [stderr] Compiling ucd-util v0.1.1 [INFO] [stderr] Compiling bitflags v1.0.1 [INFO] [stderr] Compiling scoped_threadpool v0.1.8 [INFO] [stderr] Compiling termcolor v0.3.6 [INFO] [stderr] Compiling rand v0.4.2 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling deflate v0.7.17 [INFO] [stderr] Compiling atty v0.2.8 [INFO] [stderr] Compiling gif v0.10.2 [INFO] [stderr] Compiling thread_local v0.3.5 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling aho-corasick v0.6.4 [INFO] [stderr] Compiling coco v0.1.1 [INFO] [stderr] Compiling regex-syntax v0.6.2 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling png v0.15.0 [INFO] [stderr] Compiling rand v0.3.22 [INFO] [stderr] Compiling rayon v0.8.2 [INFO] [stderr] Compiling jpeg-decoder v0.1.13 [INFO] [stderr] Compiling num-iter v0.1.35 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling sdl2 v0.31.0 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling env_logger v0.5.10 [INFO] [stderr] Compiling tiff v0.3.1 [INFO] [stderr] Compiling image v0.22.0 [INFO] [stderr] Compiling durer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `thread`, `time` [INFO] [stdout] --> src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{thread, time}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::rect::Rect` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use sdl2::rect::Rect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `plane::Plane` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use plane::Plane; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/ray_tracing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plane::PlaneType` [INFO] [stdout] --> src/projective_camera.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::plane::PlaneType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Point2D` [INFO] [stdout] --> src/buffer_canvas.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::Point2D; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Vector3f` [INFO] [stdout] --> src/buffer_canvas.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::Vector3f; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/buffer_canvas.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let result = (canvas_width / 2 + x_canvas); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - let result = (canvas_width / 2 + x_canvas); [INFO] [stdout] 84 + let result = canvas_width / 2 + x_canvas; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/buffer_canvas.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stdout] 95 + let result = canvas_height / 2 - y_canvas - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `Triangle` [INFO] [stdout] --> src/instance.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{Color, Triangle}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/ply2.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::triangle` [INFO] [stdout] --> src/ply2.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::triangle; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::video::WindowPos::Positioned` [INFO] [stdout] --> src/rendering.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use sdl2::video::WindowPos::Positioned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `face_visible` [INFO] [stdout] --> src/rendering.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{face_visible, Triangle, Triangle4f}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `transform` [INFO] [stdout] --> src/rendering.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{face_visible_4f, transform}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Point2D` [INFO] [stdout] --> src/rendering.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::Point2D; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ply2.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | _ => () [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | for i in 1..dx { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | for i in 1..dy { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/main.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/main.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/main.rs:713:9 [INFO] [stdout] | [INFO] [stdout] 713 | let size = (z_max - z_min).abs(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rendering_settings` [INFO] [stdout] --> src/main.rs:1150:13 [INFO] [stdout] | [INFO] [stdout] 1150 | let mut rendering_settings = RenderingSettings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rendering_settings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `red` [INFO] [stdout] --> src/main.rs:1188:9 [INFO] [stdout] | [INFO] [stdout] 1188 | let red = Color { r: 255, g: 0, b: 0 }; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_red` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `green` [INFO] [stdout] --> src/main.rs:1189:9 [INFO] [stdout] | [INFO] [stdout] 1189 | let green = Color { r: 0, g: 255, b: 0 }; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_green` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blue` [INFO] [stdout] --> src/main.rs:1190:9 [INFO] [stdout] | [INFO] [stdout] 1190 | let blue = Color { r: 0, g: 0, b: 255 }; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_blue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `white` [INFO] [stdout] --> src/main.rs:1191:9 [INFO] [stdout] | [INFO] [stdout] 1191 | let white = Color { r: 255, g: 255, b: 255 }; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_white` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/main.rs:1197:9 [INFO] [stdout] | [INFO] [stdout] 1197 | let sphere = sphere(35); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cube` [INFO] [stdout] --> src/main.rs:1198:9 [INFO] [stdout] | [INFO] [stdout] 1198 | let cube = cube(0.9); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cube` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `torus` [INFO] [stdout] --> src/main.rs:1202:9 [INFO] [stdout] | [INFO] [stdout] 1202 | let torus = ply2::load_model("resources/torus.ply2"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_torus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_instance_index` [INFO] [stdout] --> src/main.rs:1207:13 [INFO] [stdout] | [INFO] [stdout] 1207 | let mut current_instance_index: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_instance_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lights` [INFO] [stdout] --> src/main.rs:1283:9 [INFO] [stdout] | [INFO] [stdout] 1283 | let lights = vec![ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera` [INFO] [stdout] --> src/main.rs:1358:13 [INFO] [stdout] | [INFO] [stdout] 1358 | let camera = ProjectiveCamera { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ray_tracing.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/buffer_canvas.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | for i in 1..dx { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/buffer_canvas.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | for i in 1..dy { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ply2.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/starfield.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | for i in 0..num_stars { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera` [INFO] [stdout] --> src/rendering.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 417 | camera: &ProjectiveCamera, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:589:13 [INFO] [stdout] | [INFO] [stdout] 589 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:800:9 [INFO] [stdout] | [INFO] [stdout] 800 | v0 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v1` is never read [INFO] [stdout] --> src/rendering.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | v1 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v2` is never read [INFO] [stdout] --> src/rendering.rs:814:9 [INFO] [stdout] | [INFO] [stdout] 814 | v2 = swap; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:1004:9 [INFO] [stdout] | [INFO] [stdout] 1004 | v0 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v1` is never read [INFO] [stdout] --> src/rendering.rs:1021:9 [INFO] [stdout] | [INFO] [stdout] 1021 | v1 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v2` is never read [INFO] [stdout] --> src/rendering.rs:1022:9 [INFO] [stdout] | [INFO] [stdout] 1022 | v2 = swap; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:1171:13 [INFO] [stdout] | [INFO] [stdout] 1171 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rendering.rs:1247:9 [INFO] [stdout] | [INFO] [stdout] 1247 | for i in i0..(i1 + 1) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rendering.rs:1263:9 [INFO] [stdout] | [INFO] [stdout] 1263 | for i in i0..(i1 + 1) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ray_tracing.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ply2.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:451:9 [INFO] [stdout] | [INFO] [stdout] 451 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:538:9 [INFO] [stdout] | [INFO] [stdout] 538 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | let mut x_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | let mut x_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | let mut h_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:559:9 [INFO] [stdout] | [INFO] [stdout] 559 | let mut h_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | let mut iz_left; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:561:9 [INFO] [stdout] | [INFO] [stdout] 561 | let mut iz_right; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:679:9 [INFO] [stdout] | [INFO] [stdout] 679 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:680:9 [INFO] [stdout] | [INFO] [stdout] 680 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:681:9 [INFO] [stdout] | [INFO] [stdout] 681 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:682:9 [INFO] [stdout] | [INFO] [stdout] 682 | let mut i02 = interpolate_float(p0.y, i0, p2.y, i2); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:705:9 [INFO] [stdout] | [INFO] [stdout] 705 | let mut x_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:706:9 [INFO] [stdout] | [INFO] [stdout] 706 | let mut x_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | let mut h_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:708:9 [INFO] [stdout] | [INFO] [stdout] 708 | let mut h_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:709:9 [INFO] [stdout] | [INFO] [stdout] 709 | let mut iz_left; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:710:9 [INFO] [stdout] | [INFO] [stdout] 710 | let mut iz_right; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:711:9 [INFO] [stdout] | [INFO] [stdout] 711 | let mut i_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:712:9 [INFO] [stdout] | [INFO] [stdout] 712 | let mut i_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:836:9 [INFO] [stdout] | [INFO] [stdout] 836 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:837:9 [INFO] [stdout] | [INFO] [stdout] 837 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:838:9 [INFO] [stdout] | [INFO] [stdout] 838 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:839:9 [INFO] [stdout] | [INFO] [stdout] 839 | let mut normal_x_02 = interpolate_float(p0.y, normal0.x, p2.y, normal2.x); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | let mut normal_y_02 = interpolate_float(p0.y, normal0.y, p2.y, normal2.y); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:841:9 [INFO] [stdout] | [INFO] [stdout] 841 | let mut normal_z_02 = interpolate_float(p0.y, normal0.z, p2.y, normal2.z); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1052:9 [INFO] [stdout] | [INFO] [stdout] 1052 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1053:9 [INFO] [stdout] | [INFO] [stdout] 1053 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1054:9 [INFO] [stdout] | [INFO] [stdout] 1054 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1055:9 [INFO] [stdout] | [INFO] [stdout] 1055 | let mut uz02 = interpolate_float(p0.y, uv0.u / p0.z, p2.y, uv2.u / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1056:9 [INFO] [stdout] | [INFO] [stdout] 1056 | let mut vz02 = interpolate_float(p0.y, uv0.v / p0.z, p2.y, uv2.v / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1057:9 [INFO] [stdout] | [INFO] [stdout] 1057 | let mut normal_x_02 = interpolate_float(p0.y, normal0.x, p2.y, normal2.x); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1058:9 [INFO] [stdout] | [INFO] [stdout] 1058 | let mut normal_y_02 = interpolate_float(p0.y, normal0.y, p2.y, normal2.y); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1059:9 [INFO] [stdout] | [INFO] [stdout] 1059 | let mut normal_z_02 = interpolate_float(p0.y, normal0.z, p2.y, normal2.z); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | let mut rendering_settings = RenderingSettings { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1207:9 [INFO] [stdout] | [INFO] [stdout] 1207 | let mut current_instance_index: Option = None; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point2D` in public interface (error E0446) [INFO] [stdout] --> src/projective_camera.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(private_in_public)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point2D` in public interface (error E0446) [INFO] [stdout] --> src/projective_camera.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point` in public interface (error E0446) [INFO] [stdout] --> src/buffer_canvas.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point` in public interface (error E0446) [INFO] [stdout] --> src/buffer_canvas.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x` [INFO] [stdout] --> src/main.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | struct Point2D { x: f64, y: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Point2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/main.rs:67:26 [INFO] [stdout] | [INFO] [stdout] 67 | struct Point2D { x: f64, y: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x` [INFO] [stdout] --> src/main.rs:70:16 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/main.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `h` [INFO] [stdout] --> src/main.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `z` [INFO] [stdout] --> src/main.rs:70:40 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x_min` [INFO] [stdout] --> src/main.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x_max` [INFO] [stdout] --> src/main.rs:73:28 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y_min` [INFO] [stdout] --> src/main.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y_max` [INFO] [stdout] --> src/main.rs:73:52 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `project` [INFO] [stdout] --> src/main.rs:181:4 [INFO] [stdout] | [INFO] [stdout] 181 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `normalize` [INFO] [stdout] --> src/main.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rasterize` [INFO] [stdout] --> src/main.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simple_line` [INFO] [stdout] --> src/main.rs:270:4 [INFO] [stdout] | [INFO] [stdout] 270 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_visible` [INFO] [stdout] --> src/main.rs:305:4 [INFO] [stdout] | [INFO] [stdout] 305 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_visible2` [INFO] [stdout] --> src/main.rs:316:4 [INFO] [stdout] | [INFO] [stdout] 316 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_visible_4f` [INFO] [stdout] --> src/main.rs:327:4 [INFO] [stdout] | [INFO] [stdout] 327 | fn face_visible_4f(vertex: Vector3f, normal_direction: Vector3f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw_face` [INFO] [stdout] --> src/main.rs:331:4 [INFO] [stdout] | [INFO] [stdout] 331 | fn draw_face(face: &Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `transform` [INFO] [stdout] --> src/main.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotated_cube_vertices` [INFO] [stdout] --> src/main.rs:367:4 [INFO] [stdout] | [INFO] [stdout] 367 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotated_cube` [INFO] [stdout] --> src/main.rs:421:4 [INFO] [stdout] | [INFO] [stdout] 421 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `triangle` [INFO] [stdout] --> src/main.rs:438:4 [INFO] [stdout] | [INFO] [stdout] 438 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `two_unit_cube` [INFO] [stdout] --> src/main.rs:645:4 [INFO] [stdout] | [INFO] [stdout] 645 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `enclosing_frame` [INFO] [stdout] --> src/main.rs:649:4 [INFO] [stdout] | [INFO] [stdout] 649 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_z_transform` [INFO] [stdout] --> src/main.rs:700:4 [INFO] [stdout] | [INFO] [stdout] 700 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_model_to_buffer` [INFO] [stdout] --> src/main.rs:718:4 [INFO] [stdout] | [INFO] [stdout] 718 | fn render_model_to_buffer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `show_buffer_in_window` [INFO] [stdout] --> src/main.rs:766:4 [INFO] [stdout] | [INFO] [stdout] 766 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotating_cube_window` [INFO] [stdout] --> src/main.rs:820:4 [INFO] [stdout] | [INFO] [stdout] 820 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `three_spheres_window` [INFO] [stdout] --> src/main.rs:930:4 [INFO] [stdout] | [INFO] [stdout] 930 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_video` [INFO] [stdout] --> src/main.rs:1076:4 [INFO] [stdout] | [INFO] [stdout] 1076 | fn render_video() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw_wireframe_triangle` [INFO] [stdout] --> src/main.rs:1088:4 [INFO] [stdout] | [INFO] [stdout] 1088 | fn draw_wireframe_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_scene_to_buffer` [INFO] [stdout] --> src/ray_tracing.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn render_scene_to_buffer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `canvas_to_viewport` [INFO] [stdout] --> src/ray_tracing.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn canvas_to_viewport(x: i32, y: i32, canvas_width: i32, canvas_height: i32) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_lighting` [INFO] [stdout] --> src/ray_tracing.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn compute_lighting( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_light_from_direction` [INFO] [stdout] --> src/ray_tracing.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn compute_light_from_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `closest_intersection` [INFO] [stdout] --> src/ray_tracing.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn closest_intersection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `trace_ray` [INFO] [stdout] --> src/ray_tracing.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn trace_ray( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_colors` [INFO] [stdout] --> src/ray_tracing.rs:271:4 [INFO] [stdout] | [INFO] [stdout] 271 | fn add_colors(color1: Color, color2: Color) -> Color { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `contains` [INFO] [stdout] --> src/ray_tracing.rs:279:4 [INFO] [stdout] | [INFO] [stdout] 279 | fn contains(range: (f64, f64), n: f64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `intersect_ray_with_sphere` [INFO] [stdout] --> src/ray_tracing.rs:284:4 [INFO] [stdout] | [INFO] [stdout] 284 | fn intersect_ray_with_sphere(origin: Vector3f, direction: Vector3f, sphere: Sphere) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dot_product` [INFO] [stdout] --> src/vectors.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn dot_product(v1: Vector3f, v2: Vector3f) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply_vec_and_mat` [INFO] [stdout] --> src/vectors.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn multiply_vec_and_mat(vec: [f64; 3], mat: [[f64; 3]; 3]) -> [f64; 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sum` [INFO] [stdout] --> src/vectors.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn sum(v1: Vector3f, v2: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `negate` [INFO] [stdout] --> src/vectors.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn negate(vector: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `reflect` [INFO] [stdout] --> src/vectors.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn reflect(v1: Vector3f, v2: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `scale` [INFO] [stdout] --> src/vectors.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn scale(scalar: f64, vector: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_around_y` [INFO] [stdout] --> src/vectors.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn rotation_around_y(d: f64) -> [[f64; 3]; 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `project` [INFO] [stdout] --> src/projective_camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `project_vertex` [INFO] [stdout] --> src/projective_camera.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `camera_transform` [INFO] [stdout] --> src/projective_camera.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn camera_transform(&self) -> Matrix44f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clipping_planes` [INFO] [stdout] --> src/projective_camera.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn clipping_planes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `right_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn right_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `top_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn top_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `left_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | fn left_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `bottom_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | fn bottom_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `viewport_to_canvas` [INFO] [stdout] --> src/buffer_canvas.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update_depth_buffer_if_closer` [INFO] [stdout] --> src/buffer_canvas.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn update_depth_buffer_if_closer(&mut self, screen_x: usize, screen_y: usize, iz: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `screen_x` [INFO] [stdout] --> src/buffer_canvas.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn screen_x(&self, x_canvas: i32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `screen_y` [INFO] [stdout] --> src/buffer_canvas.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn screen_y(&self, y_canvas: i32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `point_to_pixel` [INFO] [stdout] --> src/buffer_canvas.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | fn point_to_pixel(&self, x: i32, y: i32, color: Color) -> Pixel { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `draw_line` [INFO] [stdout] --> src/buffer_canvas.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rasterize_line` [INFO] [stdout] --> src/buffer_canvas.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn rasterize_line(&mut self, start: Pixel, end: Pixel) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `transform` [INFO] [stdout] --> src/instance.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn transform(&self) -> Matrix44f { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rotation_transform` [INFO] [stdout] --> src/instance.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn rotation_transform(&self) -> Matrix44f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Near` [INFO] [stdout] --> src/plane.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Left` [INFO] [stdout] --> src/plane.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Right` [INFO] [stdout] --> src/plane.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Top` [INFO] [stdout] --> src/plane.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Bottom` [INFO] [stdout] --> src/plane.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Plane` [INFO] [stdout] --> src/plane.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Plane { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `img` [INFO] [stdout] --> src/texture.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | img: DynamicImage, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/texture.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/texture.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | height: u32 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_texel` [INFO] [stdout] --> src/texture.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn get_texel(&self, u: f64, v: f64) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_scene` [INFO] [stdout] --> src/rendering.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn render_scene( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_instance` [INFO] [stdout] --> src/rendering.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn render_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_normal_direction_in_right` [INFO] [stdout] --> src/rendering.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_normal_direction_in_left` [INFO] [stdout] --> src/rendering.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clip_triangles` [INFO] [stdout] --> src/rendering.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn clip_triangles(triangles: Vec, clipping_planes: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clip_triangles_against_plane` [INFO] [stdout] --> src/rendering.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn clip_triangles_against_plane( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clip_triangle_against_plane` [INFO] [stdout] --> src/rendering.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn clip_triangle_against_plane(triangle: Triangle4f, clipping_plane: &Plane) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_split_vertex` [INFO] [stdout] --> src/rendering.rs:288:4 [INFO] [stdout] | [INFO] [stdout] 288 | fn find_split_vertex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_vertex_outside` [INFO] [stdout] --> src/rendering.rs:312:4 [INFO] [stdout] | [INFO] [stdout] 312 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_vertex_inside` [INFO] [stdout] --> src/rendering.rs:318:4 [INFO] [stdout] | [INFO] [stdout] 318 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `convert_face_to_triangles` [INFO] [stdout] --> src/rendering.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn convert_face_to_triangles( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_filled_triangle` [INFO] [stdout] --> src/rendering.rs:345:4 [INFO] [stdout] | [INFO] [stdout] 345 | fn render_filled_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw_normal_to_vertex` [INFO] [stdout] --> src/rendering.rs:385:4 [INFO] [stdout] | [INFO] [stdout] 385 | fn draw_normal_to_vertex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_point_in_canvas` [INFO] [stdout] --> src/rendering.rs:404:4 [INFO] [stdout] | [INFO] [stdout] 404 | fn is_point_in_canvas(point: Point, canvas: &BufferCanvas) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_illumination` [INFO] [stdout] --> src/rendering.rs:414:4 [INFO] [stdout] | [INFO] [stdout] 414 | fn compute_illumination( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `light_from_direction` [INFO] [stdout] --> src/rendering.rs:438:4 [INFO] [stdout] | [INFO] [stdout] 438 | fn light_from_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_wireframe_triangle` [INFO] [stdout] --> src/rendering.rs:475:4 [INFO] [stdout] | [INFO] [stdout] 475 | fn render_wireframe_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `flat_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:489:4 [INFO] [stdout] | [INFO] [stdout] 489 | fn flat_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gouraud_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:605:4 [INFO] [stdout] | [INFO] [stdout] 605 | fn gouraud_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `phong_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:762:4 [INFO] [stdout] | [INFO] [stdout] 762 | fn phong_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `textured_phong_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:956:4 [INFO] [stdout] | [INFO] [stdout] 956 | fn textured_phong_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `unproject_vertex` [INFO] [stdout] --> src/rendering.rs:1206:4 [INFO] [stdout] | [INFO] [stdout] 1206 | fn unproject_vertex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `vertex_to_canvas_point` [INFO] [stdout] --> src/rendering.rs:1224:4 [INFO] [stdout] | [INFO] [stdout] 1224 | fn vertex_to_canvas_point(vertex: Vector4f, camera: &ProjectiveCamera, canvas: &BufferCanvas) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `interpolate_int` [INFO] [stdout] --> src/rendering.rs:1239:4 [INFO] [stdout] | [INFO] [stdout] 1239 | fn interpolate_int(i0: i32, d0: i32, i1: i32, d1: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `interpolate_float` [INFO] [stdout] --> src/rendering.rs:1255:4 [INFO] [stdout] | [INFO] [stdout] 1255 | fn interpolate_float(i0: i32, d0: f64, i1: i32, d1: f64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply_color` [INFO] [stdout] --> src/rendering.rs:1271:8 [INFO] [stdout] | [INFO] [stdout] 1271 | pub fn multiply_color(k: f64, color: Color) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply_channel` [INFO] [stdout] --> src/rendering.rs:1279:4 [INFO] [stdout] | [INFO] [stdout] 1279 | fn multiply_channel(k: f64, channel: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/starfield.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | if (screen_x < 0 || screen_x >= canvas.size) || (screen_y < 0 || screen_y >= canvas.size) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/starfield.rs:46:62 [INFO] [stdout] | [INFO] [stdout] 46 | if (screen_x < 0 || screen_x >= canvas.size) || (screen_y < 0 || screen_y >= canvas.size) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 203 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 09s [INFO] running `Command { std: "docker" "inspect" "353874b411e3f750b4a44dc21a7638446a784958b0a17e3bc747881be5e83004", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "353874b411e3f750b4a44dc21a7638446a784958b0a17e3bc747881be5e83004", kill_on_drop: false }` [INFO] [stdout] 353874b411e3f750b4a44dc21a7638446a784958b0a17e3bc747881be5e83004 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 44d83bf08a2a74eebd0376e285e98af5165aef515ee7c10822d1461ac8ce7c00 [INFO] running `Command { std: "docker" "start" "-a" "44d83bf08a2a74eebd0376e285e98af5165aef515ee7c10822d1461ac8ce7c00", kill_on_drop: false }` [INFO] [stderr] Compiling durer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `thread`, `time` [INFO] [stdout] --> src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{thread, time}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::rect::Rect` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use sdl2::rect::Rect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `plane::Plane` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use plane::Plane; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/ray_tracing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::plane::PlaneType` [INFO] [stdout] --> src/projective_camera.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::plane::PlaneType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Point2D` [INFO] [stdout] --> src/buffer_canvas.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::Point2D; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Vector3f` [INFO] [stdout] --> src/buffer_canvas.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::Vector3f; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/buffer_canvas.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | let result = (canvas_width / 2 + x_canvas); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 84 - let result = (canvas_width / 2 + x_canvas); [INFO] [stdout] 84 + let result = canvas_width / 2 + x_canvas; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/buffer_canvas.rs:95:22 [INFO] [stdout] | [INFO] [stdout] 95 | let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 95 - let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stdout] 95 + let result = canvas_height / 2 - y_canvas - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/ply2.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::triangle` [INFO] [stdout] --> src/ply2.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::triangle; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::video::WindowPos::Positioned` [INFO] [stdout] --> src/rendering.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use sdl2::video::WindowPos::Positioned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `face_visible` [INFO] [stdout] --> src/rendering.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{face_visible, Triangle, Triangle4f}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `transform` [INFO] [stdout] --> src/rendering.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{face_visible_4f, transform}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Point2D` [INFO] [stdout] --> src/rendering.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::Point2D; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ply2.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | _ => () [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | for i in 1..dx { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | for i in 1..dy { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/main.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/main.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/main.rs:713:9 [INFO] [stdout] | [INFO] [stdout] 713 | let size = (z_max - z_min).abs(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rendering_settings` [INFO] [stdout] --> src/main.rs:1150:13 [INFO] [stdout] | [INFO] [stdout] 1150 | let mut rendering_settings = RenderingSettings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rendering_settings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `red` [INFO] [stdout] --> src/main.rs:1188:9 [INFO] [stdout] | [INFO] [stdout] 1188 | let red = Color { r: 255, g: 0, b: 0 }; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_red` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `green` [INFO] [stdout] --> src/main.rs:1189:9 [INFO] [stdout] | [INFO] [stdout] 1189 | let green = Color { r: 0, g: 255, b: 0 }; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_green` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `blue` [INFO] [stdout] --> src/main.rs:1190:9 [INFO] [stdout] | [INFO] [stdout] 1190 | let blue = Color { r: 0, g: 0, b: 255 }; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_blue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `white` [INFO] [stdout] --> src/main.rs:1191:9 [INFO] [stdout] | [INFO] [stdout] 1191 | let white = Color { r: 255, g: 255, b: 255 }; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_white` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> src/main.rs:1197:9 [INFO] [stdout] | [INFO] [stdout] 1197 | let sphere = sphere(35); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cube` [INFO] [stdout] --> src/main.rs:1198:9 [INFO] [stdout] | [INFO] [stdout] 1198 | let cube = cube(0.9); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cube` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `torus` [INFO] [stdout] --> src/main.rs:1202:9 [INFO] [stdout] | [INFO] [stdout] 1202 | let torus = ply2::load_model("resources/torus.ply2"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_torus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_instance_index` [INFO] [stdout] --> src/main.rs:1207:13 [INFO] [stdout] | [INFO] [stdout] 1207 | let mut current_instance_index: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_instance_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lights` [INFO] [stdout] --> src/main.rs:1283:9 [INFO] [stdout] | [INFO] [stdout] 1283 | let lights = vec![ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera` [INFO] [stdout] --> src/main.rs:1358:13 [INFO] [stdout] | [INFO] [stdout] 1358 | let camera = ProjectiveCamera { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ray_tracing.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/buffer_canvas.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | for i in 1..dx { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/buffer_canvas.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | for i in 1..dy { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ply2.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/starfield.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | for i in 0..num_stars { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera` [INFO] [stdout] --> src/rendering.rs:417:5 [INFO] [stdout] | [INFO] [stdout] 417 | camera: &ProjectiveCamera, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:589:13 [INFO] [stdout] | [INFO] [stdout] 589 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:800:9 [INFO] [stdout] | [INFO] [stdout] 800 | v0 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v1` is never read [INFO] [stdout] --> src/rendering.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | v1 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v2` is never read [INFO] [stdout] --> src/rendering.rs:814:9 [INFO] [stdout] | [INFO] [stdout] 814 | v2 = swap; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:1004:9 [INFO] [stdout] | [INFO] [stdout] 1004 | v0 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v1` is never read [INFO] [stdout] --> src/rendering.rs:1021:9 [INFO] [stdout] | [INFO] [stdout] 1021 | v1 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v2` is never read [INFO] [stdout] --> src/rendering.rs:1022:9 [INFO] [stdout] | [INFO] [stdout] 1022 | v2 = swap; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:1171:13 [INFO] [stdout] | [INFO] [stdout] 1171 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rendering.rs:1247:9 [INFO] [stdout] | [INFO] [stdout] 1247 | for i in i0..(i1 + 1) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/rendering.rs:1263:9 [INFO] [stdout] | [INFO] [stdout] 1263 | for i in i0..(i1 + 1) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ray_tracing.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ply2.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:451:9 [INFO] [stdout] | [INFO] [stdout] 451 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:537:9 [INFO] [stdout] | [INFO] [stdout] 537 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:538:9 [INFO] [stdout] | [INFO] [stdout] 538 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:539:9 [INFO] [stdout] | [INFO] [stdout] 539 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | let mut x_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | let mut x_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | let mut h_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:559:9 [INFO] [stdout] | [INFO] [stdout] 559 | let mut h_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | let mut iz_left; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:561:9 [INFO] [stdout] | [INFO] [stdout] 561 | let mut iz_right; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:679:9 [INFO] [stdout] | [INFO] [stdout] 679 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:680:9 [INFO] [stdout] | [INFO] [stdout] 680 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:681:9 [INFO] [stdout] | [INFO] [stdout] 681 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:682:9 [INFO] [stdout] | [INFO] [stdout] 682 | let mut i02 = interpolate_float(p0.y, i0, p2.y, i2); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:705:9 [INFO] [stdout] | [INFO] [stdout] 705 | let mut x_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:706:9 [INFO] [stdout] | [INFO] [stdout] 706 | let mut x_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | let mut h_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:708:9 [INFO] [stdout] | [INFO] [stdout] 708 | let mut h_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:709:9 [INFO] [stdout] | [INFO] [stdout] 709 | let mut iz_left; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:710:9 [INFO] [stdout] | [INFO] [stdout] 710 | let mut iz_right; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:711:9 [INFO] [stdout] | [INFO] [stdout] 711 | let mut i_left; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:712:9 [INFO] [stdout] | [INFO] [stdout] 712 | let mut i_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:836:9 [INFO] [stdout] | [INFO] [stdout] 836 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:837:9 [INFO] [stdout] | [INFO] [stdout] 837 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:838:9 [INFO] [stdout] | [INFO] [stdout] 838 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:839:9 [INFO] [stdout] | [INFO] [stdout] 839 | let mut normal_x_02 = interpolate_float(p0.y, normal0.x, p2.y, normal2.x); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | let mut normal_y_02 = interpolate_float(p0.y, normal0.y, p2.y, normal2.y); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:841:9 [INFO] [stdout] | [INFO] [stdout] 841 | let mut normal_z_02 = interpolate_float(p0.y, normal0.z, p2.y, normal2.z); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1052:9 [INFO] [stdout] | [INFO] [stdout] 1052 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1053:9 [INFO] [stdout] | [INFO] [stdout] 1053 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1054:9 [INFO] [stdout] | [INFO] [stdout] 1054 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1055:9 [INFO] [stdout] | [INFO] [stdout] 1055 | let mut uz02 = interpolate_float(p0.y, uv0.u / p0.z, p2.y, uv2.u / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1056:9 [INFO] [stdout] | [INFO] [stdout] 1056 | let mut vz02 = interpolate_float(p0.y, uv0.v / p0.z, p2.y, uv2.v / p2.z); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1057:9 [INFO] [stdout] | [INFO] [stdout] 1057 | let mut normal_x_02 = interpolate_float(p0.y, normal0.x, p2.y, normal2.x); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1058:9 [INFO] [stdout] | [INFO] [stdout] 1058 | let mut normal_y_02 = interpolate_float(p0.y, normal0.y, p2.y, normal2.y); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1059:9 [INFO] [stdout] | [INFO] [stdout] 1059 | let mut normal_z_02 = interpolate_float(p0.y, normal0.z, p2.y, normal2.z); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | let mut rendering_settings = RenderingSettings { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1207:9 [INFO] [stdout] | [INFO] [stdout] 1207 | let mut current_instance_index: Option = None; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point2D` in public interface (error E0446) [INFO] [stdout] --> src/projective_camera.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(private_in_public)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point2D` in public interface (error E0446) [INFO] [stdout] --> src/projective_camera.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point` in public interface (error E0446) [INFO] [stdout] --> src/buffer_canvas.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private type `Point` in public interface (error E0446) [INFO] [stdout] --> src/buffer_canvas.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #34537 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x` [INFO] [stdout] --> src/main.rs:67:18 [INFO] [stdout] | [INFO] [stdout] 67 | struct Point2D { x: f64, y: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Point2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/main.rs:67:26 [INFO] [stdout] | [INFO] [stdout] 67 | struct Point2D { x: f64, y: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x` [INFO] [stdout] --> src/main.rs:70:16 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/main.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `h` [INFO] [stdout] --> src/main.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `z` [INFO] [stdout] --> src/main.rs:70:40 [INFO] [stdout] | [INFO] [stdout] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x_min` [INFO] [stdout] --> src/main.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x_max` [INFO] [stdout] --> src/main.rs:73:28 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y_min` [INFO] [stdout] --> src/main.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y_max` [INFO] [stdout] --> src/main.rs:73:52 [INFO] [stdout] | [INFO] [stdout] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/main.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `project` [INFO] [stdout] --> src/main.rs:181:4 [INFO] [stdout] | [INFO] [stdout] 181 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `normalize` [INFO] [stdout] --> src/main.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rasterize` [INFO] [stdout] --> src/main.rs:192:4 [INFO] [stdout] | [INFO] [stdout] 192 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simple_line` [INFO] [stdout] --> src/main.rs:270:4 [INFO] [stdout] | [INFO] [stdout] 270 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_visible` [INFO] [stdout] --> src/main.rs:305:4 [INFO] [stdout] | [INFO] [stdout] 305 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_visible2` [INFO] [stdout] --> src/main.rs:316:4 [INFO] [stdout] | [INFO] [stdout] 316 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_visible_4f` [INFO] [stdout] --> src/main.rs:327:4 [INFO] [stdout] | [INFO] [stdout] 327 | fn face_visible_4f(vertex: Vector3f, normal_direction: Vector3f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw_face` [INFO] [stdout] --> src/main.rs:331:4 [INFO] [stdout] | [INFO] [stdout] 331 | fn draw_face(face: &Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `transform` [INFO] [stdout] --> src/main.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotated_cube_vertices` [INFO] [stdout] --> src/main.rs:367:4 [INFO] [stdout] | [INFO] [stdout] 367 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotated_cube` [INFO] [stdout] --> src/main.rs:421:4 [INFO] [stdout] | [INFO] [stdout] 421 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `triangle` [INFO] [stdout] --> src/main.rs:438:4 [INFO] [stdout] | [INFO] [stdout] 438 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `two_unit_cube` [INFO] [stdout] --> src/main.rs:645:4 [INFO] [stdout] | [INFO] [stdout] 645 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `enclosing_frame` [INFO] [stdout] --> src/main.rs:649:4 [INFO] [stdout] | [INFO] [stdout] 649 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_z_transform` [INFO] [stdout] --> src/main.rs:700:4 [INFO] [stdout] | [INFO] [stdout] 700 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_model_to_buffer` [INFO] [stdout] --> src/main.rs:718:4 [INFO] [stdout] | [INFO] [stdout] 718 | fn render_model_to_buffer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `show_buffer_in_window` [INFO] [stdout] --> src/main.rs:766:4 [INFO] [stdout] | [INFO] [stdout] 766 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotating_cube_window` [INFO] [stdout] --> src/main.rs:820:4 [INFO] [stdout] | [INFO] [stdout] 820 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `three_spheres_window` [INFO] [stdout] --> src/main.rs:930:4 [INFO] [stdout] | [INFO] [stdout] 930 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_video` [INFO] [stdout] --> src/main.rs:1076:4 [INFO] [stdout] | [INFO] [stdout] 1076 | fn render_video() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw_wireframe_triangle` [INFO] [stdout] --> src/main.rs:1088:4 [INFO] [stdout] | [INFO] [stdout] 1088 | fn draw_wireframe_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_scene_to_buffer` [INFO] [stdout] --> src/ray_tracing.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn render_scene_to_buffer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_lighting` [INFO] [stdout] --> src/ray_tracing.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn compute_lighting( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_light_from_direction` [INFO] [stdout] --> src/ray_tracing.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn compute_light_from_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `closest_intersection` [INFO] [stdout] --> src/ray_tracing.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn closest_intersection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `trace_ray` [INFO] [stdout] --> src/ray_tracing.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn trace_ray( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_colors` [INFO] [stdout] --> src/ray_tracing.rs:271:4 [INFO] [stdout] | [INFO] [stdout] 271 | fn add_colors(color1: Color, color2: Color) -> Color { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `contains` [INFO] [stdout] --> src/ray_tracing.rs:279:4 [INFO] [stdout] | [INFO] [stdout] 279 | fn contains(range: (f64, f64), n: f64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `intersect_ray_with_sphere` [INFO] [stdout] --> src/ray_tracing.rs:284:4 [INFO] [stdout] | [INFO] [stdout] 284 | fn intersect_ray_with_sphere(origin: Vector3f, direction: Vector3f, sphere: Sphere) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dot_product` [INFO] [stdout] --> src/vectors.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn dot_product(v1: Vector3f, v2: Vector3f) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sum` [INFO] [stdout] --> src/vectors.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn sum(v1: Vector3f, v2: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `negate` [INFO] [stdout] --> src/vectors.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn negate(vector: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `reflect` [INFO] [stdout] --> src/vectors.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn reflect(v1: Vector3f, v2: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `scale` [INFO] [stdout] --> src/vectors.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn scale(scalar: f64, vector: Vector3f) -> Vector3f { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rotation_around_y` [INFO] [stdout] --> src/vectors.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn rotation_around_y(d: f64) -> [[f64; 3]; 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `project` [INFO] [stdout] --> src/projective_camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `project_vertex` [INFO] [stdout] --> src/projective_camera.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `camera_transform` [INFO] [stdout] --> src/projective_camera.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn camera_transform(&self) -> Matrix44f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `clipping_planes` [INFO] [stdout] --> src/projective_camera.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn clipping_planes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `right_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn right_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `top_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn top_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `left_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | fn left_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `bottom_plane_normal` [INFO] [stdout] --> src/projective_camera.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | fn bottom_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `viewport_to_canvas` [INFO] [stdout] --> src/buffer_canvas.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update_depth_buffer_if_closer` [INFO] [stdout] --> src/buffer_canvas.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn update_depth_buffer_if_closer(&mut self, screen_x: usize, screen_y: usize, iz: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `screen_x` [INFO] [stdout] --> src/buffer_canvas.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn screen_x(&self, x_canvas: i32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `screen_y` [INFO] [stdout] --> src/buffer_canvas.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn screen_y(&self, y_canvas: i32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `point_to_pixel` [INFO] [stdout] --> src/buffer_canvas.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | fn point_to_pixel(&self, x: i32, y: i32, color: Color) -> Pixel { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `draw_line` [INFO] [stdout] --> src/buffer_canvas.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rasterize_line` [INFO] [stdout] --> src/buffer_canvas.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn rasterize_line(&mut self, start: Pixel, end: Pixel) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `transform` [INFO] [stdout] --> src/instance.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn transform(&self) -> Matrix44f { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rotation_transform` [INFO] [stdout] --> src/instance.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn rotation_transform(&self) -> Matrix44f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Near` [INFO] [stdout] --> src/plane.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Left` [INFO] [stdout] --> src/plane.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Right` [INFO] [stdout] --> src/plane.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Top` [INFO] [stdout] --> src/plane.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Bottom` [INFO] [stdout] --> src/plane.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/plane.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Plane` [INFO] [stdout] --> src/plane.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Plane { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `img` [INFO] [stdout] --> src/texture.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | img: DynamicImage, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `width` [INFO] [stdout] --> src/texture.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | width: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `height` [INFO] [stdout] --> src/texture.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | height: u32 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_texel` [INFO] [stdout] --> src/texture.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn get_texel(&self, u: f64, v: f64) -> Color { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_scene` [INFO] [stdout] --> src/rendering.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn render_scene( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_instance` [INFO] [stdout] --> src/rendering.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn render_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_normal_direction_in_right` [INFO] [stdout] --> src/rendering.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `face_normal_direction_in_left` [INFO] [stdout] --> src/rendering.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clip_triangles` [INFO] [stdout] --> src/rendering.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn clip_triangles(triangles: Vec, clipping_planes: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clip_triangles_against_plane` [INFO] [stdout] --> src/rendering.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn clip_triangles_against_plane( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clip_triangle_against_plane` [INFO] [stdout] --> src/rendering.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn clip_triangle_against_plane(triangle: Triangle4f, clipping_plane: &Plane) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_split_vertex` [INFO] [stdout] --> src/rendering.rs:288:4 [INFO] [stdout] | [INFO] [stdout] 288 | fn find_split_vertex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_vertex_outside` [INFO] [stdout] --> src/rendering.rs:312:4 [INFO] [stdout] | [INFO] [stdout] 312 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_vertex_inside` [INFO] [stdout] --> src/rendering.rs:318:4 [INFO] [stdout] | [INFO] [stdout] 318 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `convert_face_to_triangles` [INFO] [stdout] --> src/rendering.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn convert_face_to_triangles( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_filled_triangle` [INFO] [stdout] --> src/rendering.rs:345:4 [INFO] [stdout] | [INFO] [stdout] 345 | fn render_filled_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `draw_normal_to_vertex` [INFO] [stdout] --> src/rendering.rs:385:4 [INFO] [stdout] | [INFO] [stdout] 385 | fn draw_normal_to_vertex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_point_in_canvas` [INFO] [stdout] --> src/rendering.rs:404:4 [INFO] [stdout] | [INFO] [stdout] 404 | fn is_point_in_canvas(point: Point, canvas: &BufferCanvas) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_illumination` [INFO] [stdout] --> src/rendering.rs:414:4 [INFO] [stdout] | [INFO] [stdout] 414 | fn compute_illumination( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `light_from_direction` [INFO] [stdout] --> src/rendering.rs:438:4 [INFO] [stdout] | [INFO] [stdout] 438 | fn light_from_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `render_wireframe_triangle` [INFO] [stdout] --> src/rendering.rs:475:4 [INFO] [stdout] | [INFO] [stdout] 475 | fn render_wireframe_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `flat_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:489:4 [INFO] [stdout] | [INFO] [stdout] 489 | fn flat_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gouraud_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:605:4 [INFO] [stdout] | [INFO] [stdout] 605 | fn gouraud_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `phong_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:762:4 [INFO] [stdout] | [INFO] [stdout] 762 | fn phong_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `textured_phong_shaded_triangle` [INFO] [stdout] --> src/rendering.rs:956:4 [INFO] [stdout] | [INFO] [stdout] 956 | fn textured_phong_shaded_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `unproject_vertex` [INFO] [stdout] --> src/rendering.rs:1206:4 [INFO] [stdout] | [INFO] [stdout] 1206 | fn unproject_vertex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `vertex_to_canvas_point` [INFO] [stdout] --> src/rendering.rs:1224:4 [INFO] [stdout] | [INFO] [stdout] 1224 | fn vertex_to_canvas_point(vertex: Vector4f, camera: &ProjectiveCamera, canvas: &BufferCanvas) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply_color` [INFO] [stdout] --> src/rendering.rs:1271:8 [INFO] [stdout] | [INFO] [stdout] 1271 | pub fn multiply_color(k: f64, color: Color) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `multiply_channel` [INFO] [stdout] --> src/rendering.rs:1279:4 [INFO] [stdout] | [INFO] [stdout] 1279 | fn multiply_channel(k: f64, channel: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/starfield.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | if (screen_x < 0 || screen_x >= canvas.size) || (screen_y < 0 || screen_y >= canvas.size) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/starfield.rs:46:62 [INFO] [stdout] | [INFO] [stdout] 46 | if (screen_x < 0 || screen_x >= canvas.size) || (screen_y < 0 || screen_y >= canvas.size) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 198 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.80s [INFO] running `Command { std: "docker" "inspect" "44d83bf08a2a74eebd0376e285e98af5165aef515ee7c10822d1461ac8ce7c00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "44d83bf08a2a74eebd0376e285e98af5165aef515ee7c10822d1461ac8ce7c00", kill_on_drop: false }` [INFO] [stdout] 44d83bf08a2a74eebd0376e285e98af5165aef515ee7c10822d1461ac8ce7c00 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f6ccf1fd47fbe87ac7b0850863fcdb9802872e8b98577e8a13ad930cc89f302c [INFO] running `Command { std: "docker" "start" "-a" "f6ccf1fd47fbe87ac7b0850863fcdb9802872e8b98577e8a13ad930cc89f302c", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `thread`, `time` [INFO] [stderr] --> src/main.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/main.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::rect::Rect` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use sdl2::rect::Rect; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ray_tracing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::plane::PlaneType` [INFO] [stderr] --> src/projective_camera.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::plane::PlaneType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/buffer_canvas.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Vector3f` [INFO] [stderr] --> src/buffer_canvas.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Vector3f; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:84:22 [INFO] [stderr] | [INFO] [stderr] 84 | let result = (canvas_width / 2 + x_canvas); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 84 - let result = (canvas_width / 2 + x_canvas); [INFO] [stderr] 84 + let result = canvas_width / 2 + x_canvas; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 95 - let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stderr] 95 + let result = canvas_height / 2 - y_canvas - 1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ply2.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::triangle` [INFO] [stderr] --> src/ply2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::triangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::video::WindowPos::Positioned` [INFO] [stderr] --> src/rendering.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use sdl2::video::WindowPos::Positioned; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `face_visible` [INFO] [stderr] --> src/rendering.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{face_visible, Triangle, Triangle4f}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `transform` [INFO] [stderr] --> src/rendering.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{face_visible_4f, transform}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/rendering.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ply2.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | for i in 1..dy { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/main.rs:451:13 [INFO] [stderr] | [INFO] [stderr] 451 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/main.rs:491:13 [INFO] [stderr] | [INFO] [stderr] 491 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/main.rs:713:9 [INFO] [stderr] | [INFO] [stderr] 713 | let size = (z_max - z_min).abs(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rendering_settings` [INFO] [stderr] --> src/main.rs:1150:13 [INFO] [stderr] | [INFO] [stderr] 1150 | let mut rendering_settings = RenderingSettings { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rendering_settings` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `red` [INFO] [stderr] --> src/main.rs:1188:9 [INFO] [stderr] | [INFO] [stderr] 1188 | let red = Color { r: 255, g: 0, b: 0 }; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_red` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `green` [INFO] [stderr] --> src/main.rs:1189:9 [INFO] [stderr] | [INFO] [stderr] 1189 | let green = Color { r: 0, g: 255, b: 0 }; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_green` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `blue` [INFO] [stderr] --> src/main.rs:1190:9 [INFO] [stderr] | [INFO] [stderr] 1190 | let blue = Color { r: 0, g: 0, b: 255 }; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_blue` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `white` [INFO] [stderr] --> src/main.rs:1191:9 [INFO] [stderr] | [INFO] [stderr] 1191 | let white = Color { r: 255, g: 255, b: 255 }; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_white` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sphere` [INFO] [stderr] --> src/main.rs:1197:9 [INFO] [stderr] | [INFO] [stderr] 1197 | let sphere = sphere(35); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cube` [INFO] [stderr] --> src/main.rs:1198:9 [INFO] [stderr] | [INFO] [stderr] 1198 | let cube = cube(0.9); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cube` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `torus` [INFO] [stderr] --> src/main.rs:1202:9 [INFO] [stderr] | [INFO] [stderr] 1202 | let torus = ply2::load_model("resources/torus.ply2"); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_torus` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_instance_index` [INFO] [stderr] --> src/main.rs:1207:13 [INFO] [stderr] | [INFO] [stderr] 1207 | let mut current_instance_index: Option = None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_instance_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lights` [INFO] [stderr] --> src/main.rs:1283:9 [INFO] [stderr] | [INFO] [stderr] 1283 | let lights = vec![ [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `camera` [INFO] [stderr] --> src/main.rs:1358:13 [INFO] [stderr] | [INFO] [stderr] 1358 | let camera = ProjectiveCamera { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/ray_tracing.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | for i in 1..dy { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/ply2.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/starfield.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | for i in 0..num_stars { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `camera` [INFO] [stderr] --> src/rendering.rs:417:5 [INFO] [stderr] | [INFO] [stderr] 417 | camera: &ProjectiveCamera, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:589:13 [INFO] [stderr] | [INFO] [stderr] 589 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:800:9 [INFO] [stderr] | [INFO] [stderr] 800 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:813:9 [INFO] [stderr] | [INFO] [stderr] 813 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:814:9 [INFO] [stderr] | [INFO] [stderr] 814 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:927:13 [INFO] [stderr] | [INFO] [stderr] 927 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:1004:9 [INFO] [stderr] | [INFO] [stderr] 1004 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:1021:9 [INFO] [stderr] | [INFO] [stderr] 1021 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:1022:9 [INFO] [stderr] | [INFO] [stderr] 1022 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:1171:13 [INFO] [stderr] | [INFO] [stderr] 1171 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1247:9 [INFO] [stderr] | [INFO] [stderr] 1247 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1263:9 [INFO] [stderr] | [INFO] [stderr] 1263 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ray_tracing.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:451:9 [INFO] [stderr] | [INFO] [stderr] 451 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:491:9 [INFO] [stderr] | [INFO] [stderr] 491 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:537:9 [INFO] [stderr] | [INFO] [stderr] 537 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:538:9 [INFO] [stderr] | [INFO] [stderr] 538 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:539:9 [INFO] [stderr] | [INFO] [stderr] 539 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:556:9 [INFO] [stderr] | [INFO] [stderr] 556 | let mut x_left; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:557:9 [INFO] [stderr] | [INFO] [stderr] 557 | let mut x_right; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:558:9 [INFO] [stderr] | [INFO] [stderr] 558 | let mut h_left; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:559:9 [INFO] [stderr] | [INFO] [stderr] 559 | let mut h_right; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:560:9 [INFO] [stderr] | [INFO] [stderr] 560 | let mut iz_left; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:561:9 [INFO] [stderr] | [INFO] [stderr] 561 | let mut iz_right; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:679:9 [INFO] [stderr] | [INFO] [stderr] 679 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:680:9 [INFO] [stderr] | [INFO] [stderr] 680 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:681:9 [INFO] [stderr] | [INFO] [stderr] 681 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:682:9 [INFO] [stderr] | [INFO] [stderr] 682 | let mut i02 = interpolate_float(p0.y, i0, p2.y, i2); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:705:9 [INFO] [stderr] | [INFO] [stderr] 705 | let mut x_left; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:706:9 [INFO] [stderr] | [INFO] [stderr] 706 | let mut x_right; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:707:9 [INFO] [stderr] | [INFO] [stderr] 707 | let mut h_left; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:708:9 [INFO] [stderr] | [INFO] [stderr] 708 | let mut h_right; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:709:9 [INFO] [stderr] | [INFO] [stderr] 709 | let mut iz_left; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:710:9 [INFO] [stderr] | [INFO] [stderr] 710 | let mut iz_right; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:711:9 [INFO] [stderr] | [INFO] [stderr] 711 | let mut i_left; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:712:9 [INFO] [stderr] | [INFO] [stderr] 712 | let mut i_right; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:836:9 [INFO] [stderr] | [INFO] [stderr] 836 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:837:9 [INFO] [stderr] | [INFO] [stderr] 837 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:838:9 [INFO] [stderr] | [INFO] [stderr] 838 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:839:9 [INFO] [stderr] | [INFO] [stderr] 839 | let mut normal_x_02 = interpolate_float(p0.y, normal0.x, p2.y, normal2.x); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:840:9 [INFO] [stderr] | [INFO] [stderr] 840 | let mut normal_y_02 = interpolate_float(p0.y, normal0.y, p2.y, normal2.y); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:841:9 [INFO] [stderr] | [INFO] [stderr] 841 | let mut normal_z_02 = interpolate_float(p0.y, normal0.z, p2.y, normal2.z); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1052:9 [INFO] [stderr] | [INFO] [stderr] 1052 | let mut x02 = interpolate_int(p0.y, p0.x, p2.y, p2.x); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1053:9 [INFO] [stderr] | [INFO] [stderr] 1053 | let mut h02 = interpolate_float(p0.y, p0.h, p2.y, p2.h); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1054:9 [INFO] [stderr] | [INFO] [stderr] 1054 | let mut iz02 = interpolate_float(p0.y, 1.0 / p0.z, p2.y, 1.0 / p2.z); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1055:9 [INFO] [stderr] | [INFO] [stderr] 1055 | let mut uz02 = interpolate_float(p0.y, uv0.u / p0.z, p2.y, uv2.u / p2.z); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1056:9 [INFO] [stderr] | [INFO] [stderr] 1056 | let mut vz02 = interpolate_float(p0.y, uv0.v / p0.z, p2.y, uv2.v / p2.z); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1057:9 [INFO] [stderr] | [INFO] [stderr] 1057 | let mut normal_x_02 = interpolate_float(p0.y, normal0.x, p2.y, normal2.x); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1058:9 [INFO] [stderr] | [INFO] [stderr] 1058 | let mut normal_y_02 = interpolate_float(p0.y, normal0.y, p2.y, normal2.y); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rendering.rs:1059:9 [INFO] [stderr] | [INFO] [stderr] 1059 | let mut normal_z_02 = interpolate_float(p0.y, normal0.z, p2.y, normal2.z); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:1150:9 [INFO] [stderr] | [INFO] [stderr] 1150 | let mut rendering_settings = RenderingSettings { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:1207:9 [INFO] [stderr] | [INFO] [stderr] 1207 | let mut current_instance_index: Option = None; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: private type `Point2D` in public interface (error E0446) [INFO] [stderr] --> src/projective_camera.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point2D` in public interface (error E0446) [INFO] [stderr] --> src/projective_camera.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x` [INFO] [stderr] --> src/main.rs:67:18 [INFO] [stderr] | [INFO] [stderr] 67 | struct Point2D { x: f64, y: f64 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `Point2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:66:16 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y` [INFO] [stderr] --> src/main.rs:67:26 [INFO] [stderr] | [INFO] [stderr] 67 | struct Point2D { x: f64, y: f64 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Point2D` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:66:16 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x` [INFO] [stderr] --> src/main.rs:70:16 [INFO] [stderr] | [INFO] [stderr] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:69:16 [INFO] [stderr] | [INFO] [stderr] 69 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y` [INFO] [stderr] --> src/main.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:69:16 [INFO] [stderr] | [INFO] [stderr] 69 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `h` [INFO] [stderr] --> src/main.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:69:16 [INFO] [stderr] | [INFO] [stderr] 69 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `z` [INFO] [stderr] --> src/main.rs:70:40 [INFO] [stderr] | [INFO] [stderr] 70 | struct Point { x: i32, y: i32, h: f64, z: f64 } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Point` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:69:16 [INFO] [stderr] | [INFO] [stderr] 69 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_min` [INFO] [stderr] --> src/main.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_max` [INFO] [stderr] --> src/main.rs:73:28 [INFO] [stderr] | [INFO] [stderr] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_min` [INFO] [stderr] --> src/main.rs:73:40 [INFO] [stderr] | [INFO] [stderr] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_max` [INFO] [stderr] --> src/main.rs:73:52 [INFO] [stderr] | [INFO] [stderr] 73 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Frame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/main.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `project` [INFO] [stderr] --> src/main.rs:181:4 [INFO] [stderr] | [INFO] [stderr] 181 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `normalize` [INFO] [stderr] --> src/main.rs:185:4 [INFO] [stderr] | [INFO] [stderr] 185 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rasterize` [INFO] [stderr] --> src/main.rs:192:4 [INFO] [stderr] | [INFO] [stderr] 192 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_line` [INFO] [stderr] --> src/main.rs:270:4 [INFO] [stderr] | [INFO] [stderr] 270 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible` [INFO] [stderr] --> src/main.rs:305:4 [INFO] [stderr] | [INFO] [stderr] 305 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible2` [INFO] [stderr] --> src/main.rs:316:4 [INFO] [stderr] | [INFO] [stderr] 316 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible_4f` [INFO] [stderr] --> src/main.rs:327:4 [INFO] [stderr] | [INFO] [stderr] 327 | fn face_visible_4f(vertex: Vector3f, normal_direction: Vector3f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_face` [INFO] [stderr] --> src/main.rs:331:4 [INFO] [stderr] | [INFO] [stderr] 331 | fn draw_face(face: &Vec, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `transform` [INFO] [stderr] --> src/main.rs:353:4 [INFO] [stderr] | [INFO] [stderr] 353 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube_vertices` [INFO] [stderr] --> src/main.rs:367:4 [INFO] [stderr] | [INFO] [stderr] 367 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube` [INFO] [stderr] --> src/main.rs:421:4 [INFO] [stderr] | [INFO] [stderr] 421 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `triangle` [INFO] [stderr] --> src/main.rs:438:4 [INFO] [stderr] | [INFO] [stderr] 438 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `two_unit_cube` [INFO] [stderr] --> src/main.rs:645:4 [INFO] [stderr] | [INFO] [stderr] 645 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `enclosing_frame` [INFO] [stderr] --> src/main.rs:649:4 [INFO] [stderr] | [INFO] [stderr] 649 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_z_transform` [INFO] [stderr] --> src/main.rs:700:4 [INFO] [stderr] | [INFO] [stderr] 700 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_model_to_buffer` [INFO] [stderr] --> src/main.rs:718:4 [INFO] [stderr] | [INFO] [stderr] 718 | fn render_model_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `show_buffer_in_window` [INFO] [stderr] --> src/main.rs:766:4 [INFO] [stderr] | [INFO] [stderr] 766 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotating_cube_window` [INFO] [stderr] --> src/main.rs:820:4 [INFO] [stderr] | [INFO] [stderr] 820 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `three_spheres_window` [INFO] [stderr] --> src/main.rs:930:4 [INFO] [stderr] | [INFO] [stderr] 930 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_video` [INFO] [stderr] --> src/main.rs:1076:4 [INFO] [stderr] | [INFO] [stderr] 1076 | fn render_video() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_wireframe_triangle` [INFO] [stderr] --> src/main.rs:1088:4 [INFO] [stderr] | [INFO] [stderr] 1088 | fn draw_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_scene_to_buffer` [INFO] [stderr] --> src/ray_tracing.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn render_scene_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_lighting` [INFO] [stderr] --> src/ray_tracing.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn compute_lighting( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_light_from_direction` [INFO] [stderr] --> src/ray_tracing.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | fn compute_light_from_direction( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closest_intersection` [INFO] [stderr] --> src/ray_tracing.rs:174:4 [INFO] [stderr] | [INFO] [stderr] 174 | fn closest_intersection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `trace_ray` [INFO] [stderr] --> src/ray_tracing.rs:199:4 [INFO] [stderr] | [INFO] [stderr] 199 | fn trace_ray( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_colors` [INFO] [stderr] --> src/ray_tracing.rs:271:4 [INFO] [stderr] | [INFO] [stderr] 271 | fn add_colors(color1: Color, color2: Color) -> Color { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `contains` [INFO] [stderr] --> src/ray_tracing.rs:279:4 [INFO] [stderr] | [INFO] [stderr] 279 | fn contains(range: (f64, f64), n: f64) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `intersect_ray_with_sphere` [INFO] [stderr] --> src/ray_tracing.rs:284:4 [INFO] [stderr] | [INFO] [stderr] 284 | fn intersect_ray_with_sphere(origin: Vector3f, direction: Vector3f, sphere: Sphere) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dot_product` [INFO] [stderr] --> src/vectors.rs:3:8 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn dot_product(v1: Vector3f, v2: Vector3f) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sum` [INFO] [stderr] --> src/vectors.rs:27:8 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn sum(v1: Vector3f, v2: Vector3f) -> Vector3f { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `negate` [INFO] [stderr] --> src/vectors.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn negate(vector: Vector3f) -> Vector3f { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `reflect` [INFO] [stderr] --> src/vectors.rs:47:8 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn reflect(v1: Vector3f, v2: Vector3f) -> Vector3f { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `scale` [INFO] [stderr] --> src/vectors.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn scale(scalar: f64, vector: Vector3f) -> Vector3f { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotation_around_y` [INFO] [stderr] --> src/vectors.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn rotation_around_y(d: f64) -> [[f64; 3]; 3] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `project` [INFO] [stderr] --> src/projective_camera.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `project_vertex` [INFO] [stderr] --> src/projective_camera.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `camera_transform` [INFO] [stderr] --> src/projective_camera.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn camera_transform(&self) -> Matrix44f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `clipping_planes` [INFO] [stderr] --> src/projective_camera.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn clipping_planes(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `right_plane_normal` [INFO] [stderr] --> src/projective_camera.rs:70:8 [INFO] [stderr] | [INFO] [stderr] 70 | fn right_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `top_plane_normal` [INFO] [stderr] --> src/projective_camera.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | fn top_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `left_plane_normal` [INFO] [stderr] --> src/projective_camera.rs:100:8 [INFO] [stderr] | [INFO] [stderr] 100 | fn left_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `bottom_plane_normal` [INFO] [stderr] --> src/projective_camera.rs:115:8 [INFO] [stderr] | [INFO] [stderr] 115 | fn bottom_plane_normal(&self, half_viewport_size: f64) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `viewport_to_canvas` [INFO] [stderr] --> src/buffer_canvas.rs:46:12 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `update_depth_buffer_if_closer` [INFO] [stderr] --> src/buffer_canvas.rs:71:12 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn update_depth_buffer_if_closer(&mut self, screen_x: usize, screen_y: usize, iz: f64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `screen_x` [INFO] [stderr] --> src/buffer_canvas.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn screen_x(&self, x_canvas: i32) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `screen_y` [INFO] [stderr] --> src/buffer_canvas.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn screen_y(&self, y_canvas: i32) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `point_to_pixel` [INFO] [stderr] --> src/buffer_canvas.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | fn point_to_pixel(&self, x: i32, y: i32, color: Color) -> Pixel { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `draw_line` [INFO] [stderr] --> src/buffer_canvas.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `rasterize_line` [INFO] [stderr] --> src/buffer_canvas.rs:121:8 [INFO] [stderr] | [INFO] [stderr] 121 | fn rasterize_line(&mut self, start: Pixel, end: Pixel) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `transform` [INFO] [stderr] --> src/instance.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn transform(&self) -> Matrix44f { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `rotation_transform` [INFO] [stderr] --> src/instance.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn rotation_transform(&self) -> Matrix44f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Near` [INFO] [stderr] --> src/plane.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/plane.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Left` [INFO] [stderr] --> src/plane.rs:4:28 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/plane.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Right` [INFO] [stderr] --> src/plane.rs:4:34 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/plane.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Top` [INFO] [stderr] --> src/plane.rs:4:41 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/plane.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Bottom` [INFO] [stderr] --> src/plane.rs:4:46 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum PlaneType { Near, Left, Right, Top, Bottom } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PlaneType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/plane.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Copy, Clone, Debug)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Plane` [INFO] [stderr] --> src/plane.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Plane { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `img` [INFO] [stderr] --> src/texture.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | img: DynamicImage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `width` [INFO] [stderr] --> src/texture.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | width: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `height` [INFO] [stderr] --> src/texture.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | height: u32 [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_texel` [INFO] [stderr] --> src/texture.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn get_texel(&self, u: f64, v: f64) -> Color { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_scene` [INFO] [stderr] --> src/rendering.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn render_scene( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_instance` [INFO] [stderr] --> src/rendering.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | fn render_instance( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_right` [INFO] [stderr] --> src/rendering.rs:155:4 [INFO] [stderr] | [INFO] [stderr] 155 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_left` [INFO] [stderr] --> src/rendering.rs:167:4 [INFO] [stderr] | [INFO] [stderr] 167 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clip_triangles` [INFO] [stderr] --> src/rendering.rs:179:4 [INFO] [stderr] | [INFO] [stderr] 179 | fn clip_triangles(triangles: Vec, clipping_planes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clip_triangles_against_plane` [INFO] [stderr] --> src/rendering.rs:193:4 [INFO] [stderr] | [INFO] [stderr] 193 | fn clip_triangles_against_plane( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clip_triangle_against_plane` [INFO] [stderr] --> src/rendering.rs:208:4 [INFO] [stderr] | [INFO] [stderr] 208 | fn clip_triangle_against_plane(triangle: Triangle4f, clipping_plane: &Plane) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_split_vertex` [INFO] [stderr] --> src/rendering.rs:288:4 [INFO] [stderr] | [INFO] [stderr] 288 | fn find_split_vertex( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_outside` [INFO] [stderr] --> src/rendering.rs:312:4 [INFO] [stderr] | [INFO] [stderr] 312 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_inside` [INFO] [stderr] --> src/rendering.rs:318:4 [INFO] [stderr] | [INFO] [stderr] 318 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `convert_face_to_triangles` [INFO] [stderr] --> src/rendering.rs:322:4 [INFO] [stderr] | [INFO] [stderr] 322 | fn convert_face_to_triangles( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_filled_triangle` [INFO] [stderr] --> src/rendering.rs:345:4 [INFO] [stderr] | [INFO] [stderr] 345 | fn render_filled_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_normal_to_vertex` [INFO] [stderr] --> src/rendering.rs:385:4 [INFO] [stderr] | [INFO] [stderr] 385 | fn draw_normal_to_vertex( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_point_in_canvas` [INFO] [stderr] --> src/rendering.rs:404:4 [INFO] [stderr] | [INFO] [stderr] 404 | fn is_point_in_canvas(point: Point, canvas: &BufferCanvas) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_illumination` [INFO] [stderr] --> src/rendering.rs:414:4 [INFO] [stderr] | [INFO] [stderr] 414 | fn compute_illumination( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `light_from_direction` [INFO] [stderr] --> src/rendering.rs:438:4 [INFO] [stderr] | [INFO] [stderr] 438 | fn light_from_direction( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_wireframe_triangle` [INFO] [stderr] --> src/rendering.rs:475:4 [INFO] [stderr] | [INFO] [stderr] 475 | fn render_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `flat_shaded_triangle` [INFO] [stderr] --> src/rendering.rs:489:4 [INFO] [stderr] | [INFO] [stderr] 489 | fn flat_shaded_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gouraud_shaded_triangle` [INFO] [stderr] --> src/rendering.rs:605:4 [INFO] [stderr] | [INFO] [stderr] 605 | fn gouraud_shaded_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `phong_shaded_triangle` [INFO] [stderr] --> src/rendering.rs:762:4 [INFO] [stderr] | [INFO] [stderr] 762 | fn phong_shaded_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `textured_phong_shaded_triangle` [INFO] [stderr] --> src/rendering.rs:956:4 [INFO] [stderr] | [INFO] [stderr] 956 | fn textured_phong_shaded_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `unproject_vertex` [INFO] [stderr] --> src/rendering.rs:1206:4 [INFO] [stderr] | [INFO] [stderr] 1206 | fn unproject_vertex( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `vertex_to_canvas_point` [INFO] [stderr] --> src/rendering.rs:1224:4 [INFO] [stderr] | [INFO] [stderr] 1224 | fn vertex_to_canvas_point(vertex: Vector4f, camera: &ProjectiveCamera, canvas: &BufferCanvas) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `multiply_color` [INFO] [stderr] --> src/rendering.rs:1271:8 [INFO] [stderr] | [INFO] [stderr] 1271 | pub fn multiply_color(k: f64, color: Color) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `multiply_channel` [INFO] [stderr] --> src/rendering.rs:1279:4 [INFO] [stderr] | [INFO] [stderr] 1279 | fn multiply_channel(k: f64, channel: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/starfield.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | if (screen_x < 0 || screen_x >= canvas.size) || (screen_y < 0 || screen_y >= canvas.size) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/starfield.rs:46:62 [INFO] [stderr] | [INFO] [stderr] 46 | if (screen_x < 0 || screen_x >= canvas.size) || (screen_y < 0 || screen_y >= canvas.size) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `durer` (bin "durer" test) generated 198 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/durer-bcf58a2b6f40b48a) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test instance::test_new_with_rotation ... ok [INFO] [stdout] test instance::test_new_with_position ... ok [INFO] [stdout] test instance::test_new ... ok [INFO] [stdout] test rendering::test_interpolate_float ... ok [INFO] [stdout] test starfield::test_init_star ... ok [INFO] [stdout] test test_new_with_calculated_normal ... ok [INFO] [stdout] test vector4f::test_transform ... ok [INFO] [stdout] test vectors::test_multiply_vec_and_mat ... ok [INFO] [stdout] test vectors::test_normalize ... ok [INFO] [stdout] test matrix44f::test_transpose ... ok [INFO] [stdout] test vectors::test_length ... ok [INFO] [stdout] test ray_tracing::test_canvas_to_viewport ... ok [INFO] [stdout] test rendering::test_interpolate_int ... ok [INFO] [stdout] test instance::test_new_with_scale ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f6ccf1fd47fbe87ac7b0850863fcdb9802872e8b98577e8a13ad930cc89f302c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6ccf1fd47fbe87ac7b0850863fcdb9802872e8b98577e8a13ad930cc89f302c", kill_on_drop: false }` [INFO] [stdout] f6ccf1fd47fbe87ac7b0850863fcdb9802872e8b98577e8a13ad930cc89f302c