[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] 5d13af5cc3d6ca464cf47189793139bea8240dfd [INFO] checking alsor/durer_renderer/5d13af5cc3d6ca464cf47189793139bea8240dfd against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falsor%2Fdurer_renderer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/alsor/durer_renderer on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "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-4-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/sebcrozet/mpeg_encoder` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded which v1.0.5 [INFO] [stderr] Downloaded num-iter v0.1.43 [INFO] [stderr] Downloaded num v0.1.42 [INFO] [stderr] Downloaded lazy_static v0.2.11 [INFO] [stderr] Downloaded peeking_take_while v0.1.2 [INFO] [stderr] Downloaded quote v0.6.13 [INFO] [stderr] Downloaded unicode-xid v0.0.4 [INFO] [stderr] Downloaded quasi v0.32.0 [INFO] [stderr] Downloaded quick-error v1.2.3 [INFO] [stderr] Downloaded cexpr v0.2.3 [INFO] [stderr] Downloaded unicode-xid v0.1.0 [INFO] [stderr] Downloaded termcolor v1.1.3 [INFO] [stderr] Downloaded humantime v1.3.0 [INFO] [stderr] Downloaded proc-macro2 v0.4.30 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.13 [INFO] [stderr] Downloaded rayon-core v1.10.1 [INFO] [stderr] Downloaded aho-corasick v0.7.20 [INFO] [stderr] Downloaded deflate v0.7.20 [INFO] [stderr] Downloaded nom v3.2.1 [INFO] [stderr] Downloaded rayon v1.6.0 [INFO] [stderr] Downloaded bindgen v0.30.0 [INFO] [stderr] Downloaded image v0.22.5 [INFO] [stderr] Downloaded syn v0.15.44 [INFO] [stderr] Downloaded regex v1.7.0 [INFO] [stderr] Downloaded syntex_syntax v0.58.1 [INFO] [stderr] Downloaded regex-syntax v0.5.6 [INFO] [stderr] Downloaded regex-syntax v0.6.28 [INFO] [stderr] Downloaded sdl2-sys v0.31.0 [INFO] [stderr] Downloaded regex v0.2.11 [INFO] [stderr] Downloaded libloading v0.4.3 [INFO] [stderr] Downloaded rustc-serialize v0.3.24 [INFO] [stderr] Downloaded crossbeam-utils v0.8.14 [INFO] [stderr] Downloaded inflate v0.4.5 [INFO] [stderr] Downloaded png v0.15.3 [INFO] [stderr] Downloaded rand v0.3.23 [INFO] [stderr] Downloaded libc v0.2.137 [INFO] [stderr] Downloaded sdl2 v0.31.0 [INFO] [stderr] Downloaded clang-sys v0.19.0 [INFO] [stderr] Downloaded syntex_errors v0.58.1 [INFO] [stderr] Downloaded gcc v0.3.55 [INFO] [stderr] Downloaded aho-corasick v0.6.10 [INFO] [stderr] Downloaded ucd-util v0.1.9 [INFO] [stderr] Downloaded rand v0.4.6 [INFO] [stderr] Downloaded env_logger v0.5.13 [INFO] [stderr] Downloaded memoffset v0.7.1 [INFO] [stderr] Downloaded num-rational v0.2.4 [INFO] [stderr] Downloaded tiff v0.3.1 [INFO] [stderr] Downloaded aster v0.41.0 [INFO] [stderr] Downloaded syntex v0.58.1 [INFO] [stderr] Downloaded thread_local v0.3.6 [INFO] [stderr] Downloaded bitflags v0.9.1 [INFO] [stderr] Downloaded env_logger v0.4.3 [INFO] [stderr] Downloaded bitflags v0.8.2 [INFO] [stderr] Downloaded syntex_pos v0.58.1 [INFO] [stderr] Downloaded num_cpus v1.14.0 [INFO] [stderr] Downloaded ffmpeg-sys v3.3.3 [INFO] [stderr] Downloaded glob v0.2.11 [INFO] [stderr] Downloaded pkg-config v0.3.26 [INFO] [stderr] Downloaded num-derive v0.2.5 [INFO] [stderr] Downloaded memchr v1.0.2 [INFO] [stderr] Downloaded unicode-width v0.1.10 [INFO] [stderr] Downloaded quasi_codegen v0.32.0 [INFO] [stderr] Downloaded utf8-ranges v1.0.5 [INFO] [stderr] Downloaded bitflags v0.7.0 [INFO] [stderr] Downloaded term v0.4.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c759db78a50de51c38d87662a70f431e71d5f95d257582a6ec53bf456c335138 [INFO] running `Command { std: "docker" "start" "-a" "c759db78a50de51c38d87662a70f431e71d5f95d257582a6ec53bf456c335138", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c759db78a50de51c38d87662a70f431e71d5f95d257582a6ec53bf456c335138", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c759db78a50de51c38d87662a70f431e71d5f95d257582a6ec53bf456c335138", kill_on_drop: false }` [INFO] [stdout] c759db78a50de51c38d87662a70f431e71d5f95d257582a6ec53bf456c335138 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c9a6e21a8cbc2a19d79ebc77103ff86de8f3dcf8095d6710b2da05e1603c0c45 [INFO] running `Command { std: "docker" "start" "-a" "c9a6e21a8cbc2a19d79ebc77103ff86de8f3dcf8095d6710b2da05e1603c0c45", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.137 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.14 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling rayon-core v1.10.1 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Checking regex-syntax v0.6.28 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking gif v0.10.3 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling crossbeam-epoch v0.9.13 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking crossbeam-channel v0.5.6 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking png v0.15.3 [INFO] [stderr] Checking aho-corasick v0.7.20 [INFO] [stderr] Checking num_cpus v1.14.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking crossbeam-deque v0.8.2 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking rayon v1.6.0 [INFO] [stderr] Checking regex v1.7.0 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking sdl2 v0.31.0 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking tiff v0.3.1 [INFO] [stderr] Checking image v0.22.5 [INFO] [stderr] Checking durer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `thread` and `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 imports: `Color` and `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: `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, RenderingMode, 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: unused imports: `thread` and `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: `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, RenderingMode, 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: 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] = note: `#[warn(unused_variables)]` on by default [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: unused variable: `i` [INFO] [stdout] --> src/buffer_canvas.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | 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:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | 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/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] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ply2.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | _ => () [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/ply2.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 48 | Ply2Parts::NumVertices => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 52 | Ply2Parts::NumFaces => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 56 | Ply2Parts::Vertices => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 67 | Ply2Parts::Faces => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 86 | _ => () [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ply2.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let rng = rand::thread_rng(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [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: unused variable: `i` [INFO] [stdout] --> src/buffer_canvas.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | 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:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | 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: `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: `i` [INFO] [stdout] --> src/main.rs:232:13 [INFO] [stdout] | [INFO] [stdout] 232 | 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/main.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | 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:457:13 [INFO] [stdout] | [INFO] [stdout] 457 | 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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/main.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | 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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/main.rs:719:9 [INFO] [stdout] | [INFO] [stdout] 719 | 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: unreachable pattern [INFO] [stdout] --> src/ply2.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | _ => () [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/ply2.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 48 | Ply2Parts::NumVertices => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 52 | Ply2Parts::NumFaces => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 56 | Ply2Parts::Vertices => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 67 | Ply2Parts::Faces => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 86 | _ => () [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/ply2.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let 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: `i` [INFO] [stdout] --> src/main.rs:232:13 [INFO] [stdout] | [INFO] [stdout] 232 | 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/main.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | 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:457:13 [INFO] [stdout] | [INFO] [stdout] 457 | 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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/main.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | 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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/main.rs:719:9 [INFO] [stdout] | [INFO] [stdout] 719 | 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: `camera` [INFO] [stdout] --> src/rendering.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | 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:596:13 [INFO] [stdout] | [INFO] [stdout] 596 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | 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:545:9 [INFO] [stdout] | [INFO] [stdout] 545 | 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:546:9 [INFO] [stdout] | [INFO] [stdout] 546 | 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:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | 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:564:9 [INFO] [stdout] | [INFO] [stdout] 564 | 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:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | 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:566:9 [INFO] [stdout] | [INFO] [stdout] 566 | 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:567:9 [INFO] [stdout] | [INFO] [stdout] 567 | 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:568:9 [INFO] [stdout] | [INFO] [stdout] 568 | let mut iz_right; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:753:13 [INFO] [stdout] | [INFO] [stdout] 753 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | 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:687:9 [INFO] [stdout] | [INFO] [stdout] 687 | 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:688:9 [INFO] [stdout] | [INFO] [stdout] 688 | 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:689:9 [INFO] [stdout] | [INFO] [stdout] 689 | 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:712:9 [INFO] [stdout] | [INFO] [stdout] 712 | 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:713:9 [INFO] [stdout] | [INFO] [stdout] 713 | 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:714:9 [INFO] [stdout] | [INFO] [stdout] 714 | 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:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | 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:716:9 [INFO] [stdout] | [INFO] [stdout] 716 | 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:717:9 [INFO] [stdout] | [INFO] [stdout] 717 | 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:718:9 [INFO] [stdout] | [INFO] [stdout] 718 | 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:719:9 [INFO] [stdout] | [INFO] [stdout] 719 | let mut i_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:807:9 [INFO] [stdout] | [INFO] [stdout] 807 | v0 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v1` is never read [INFO] [stdout] --> src/rendering.rs:820:9 [INFO] [stdout] | [INFO] [stdout] 820 | 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:821:9 [INFO] [stdout] | [INFO] [stdout] 821 | 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:934:13 [INFO] [stdout] | [INFO] [stdout] 934 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:843:9 [INFO] [stdout] | [INFO] [stdout] 843 | 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:844:9 [INFO] [stdout] | [INFO] [stdout] 844 | 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:845:9 [INFO] [stdout] | [INFO] [stdout] 845 | 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:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | 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:847:9 [INFO] [stdout] | [INFO] [stdout] 847 | 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:848:9 [INFO] [stdout] | [INFO] [stdout] 848 | 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: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:1011:9 [INFO] [stdout] | [INFO] [stdout] 1011 | 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:1028:9 [INFO] [stdout] | [INFO] [stdout] 1028 | 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:1029:9 [INFO] [stdout] | [INFO] [stdout] 1029 | 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:1178:13 [INFO] [stdout] | [INFO] [stdout] 1178 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1059:9 [INFO] [stdout] | [INFO] [stdout] 1059 | 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:1060:9 [INFO] [stdout] | [INFO] [stdout] 1060 | 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:1061:9 [INFO] [stdout] | [INFO] [stdout] 1061 | 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:1062:9 [INFO] [stdout] | [INFO] [stdout] 1062 | 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:1063:9 [INFO] [stdout] | [INFO] [stdout] 1063 | 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:1064:9 [INFO] [stdout] | [INFO] [stdout] 1064 | 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:1065:9 [INFO] [stdout] | [INFO] [stdout] 1065 | 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:1066:9 [INFO] [stdout] | [INFO] [stdout] 1066 | 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: unused variable: `i` [INFO] [stdout] --> src/rendering.rs:1254:9 [INFO] [stdout] | [INFO] [stdout] 1254 | 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:1270:9 [INFO] [stdout] | [INFO] [stdout] 1270 | 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: `red` [INFO] [stdout] --> src/main.rs:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | 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:1196:9 [INFO] [stdout] | [INFO] [stdout] 1196 | 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:1197:9 [INFO] [stdout] | [INFO] [stdout] 1197 | 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:1198:9 [INFO] [stdout] | [INFO] [stdout] 1198 | 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:1204:9 [INFO] [stdout] | [INFO] [stdout] 1204 | 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:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | 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: `wooden_cube` [INFO] [stdout] --> src/main.rs:1206:9 [INFO] [stdout] | [INFO] [stdout] 1206 | let wooden_cube = textured_cube(0.9, &wooden_crate); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wooden_cube` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `brick_cube` [INFO] [stdout] --> src/main.rs:1207:9 [INFO] [stdout] | [INFO] [stdout] 1207 | let brick_cube = textured_cube(1.0, &bricks); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_brick_cube` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_instance_index` [INFO] [stdout] --> src/main.rs:1214:13 [INFO] [stdout] | [INFO] [stdout] 1214 | 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: `starfield` [INFO] [stdout] --> src/main.rs:1311:13 [INFO] [stdout] | [INFO] [stdout] 1311 | let mut starfield = Starfield::new(1000, 5.0, 110000.0); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starfield` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta` [INFO] [stdout] --> src/main.rs:1349:13 [INFO] [stdout] | [INFO] [stdout] 1349 | let delta = now.elapsed(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1214:9 [INFO] [stdout] | [INFO] [stdout] 1214 | let mut current_instance_index: Option = None; [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:1311:9 [INFO] [stdout] | [INFO] [stdout] 1311 | let mut starfield = Starfield::new(1000, 5.0, 110000.0); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Frame` is never constructed [INFO] [stdout] --> src/main.rs:73:8 [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: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project` is never used [INFO] [stdout] --> src/main.rs:187:4 [INFO] [stdout] | [INFO] [stdout] 187 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize` is never used [INFO] [stdout] --> src/main.rs:191:4 [INFO] [stdout] | [INFO] [stdout] 191 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rasterize` is never used [INFO] [stdout] --> src/main.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simple_line` is never used [INFO] [stdout] --> src/main.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_visible` is never used [INFO] [stdout] --> src/main.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_visible2` is never used [INFO] [stdout] --> src/main.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_face` is never used [INFO] [stdout] --> src/main.rs:337:4 [INFO] [stdout] | [INFO] [stdout] 337 | fn draw_face(face: &Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform` is never used [INFO] [stdout] --> src/main.rs:359:4 [INFO] [stdout] | [INFO] [stdout] 359 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotated_cube_vertices` is never used [INFO] [stdout] --> src/main.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotated_cube` is never used [INFO] [stdout] --> src/main.rs:427:4 [INFO] [stdout] | [INFO] [stdout] 427 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `triangle` is never used [INFO] [stdout] --> src/main.rs:444:4 [INFO] [stdout] | [INFO] [stdout] 444 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_unit_cube` is never used [INFO] [stdout] --> src/main.rs:651:4 [INFO] [stdout] | [INFO] [stdout] 651 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enclosing_frame` is never used [INFO] [stdout] --> src/main.rs:655:4 [INFO] [stdout] | [INFO] [stdout] 655 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_z_transform` is never used [INFO] [stdout] --> src/main.rs:706:4 [INFO] [stdout] | [INFO] [stdout] 706 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_model_to_buffer` is never used [INFO] [stdout] --> src/main.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn render_model_to_buffer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_buffer_in_window` is never used [INFO] [stdout] --> src/main.rs:772:4 [INFO] [stdout] | [INFO] [stdout] 772 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotating_cube_window` is never used [INFO] [stdout] --> src/main.rs:826:4 [INFO] [stdout] | [INFO] [stdout] 826 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `three_spheres_window` is never used [INFO] [stdout] --> src/main.rs:936:4 [INFO] [stdout] | [INFO] [stdout] 936 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_video` is never used [INFO] [stdout] --> src/main.rs:1082:4 [INFO] [stdout] | [INFO] [stdout] 1082 | fn render_video() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_wireframe_triangle` is never used [INFO] [stdout] --> src/main.rs:1094:4 [INFO] [stdout] | [INFO] [stdout] 1094 | fn draw_wireframe_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sphere` is never constructed [INFO] [stdout] --> src/ray_tracing.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Sphere { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Sphere` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_scene_to_buffer` is never used [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 `canvas_to_viewport` is never used [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 `compute_lighting` is never used [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 `compute_light_from_direction` is never used [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 `closest_intersection` is never used [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 `trace_ray` is never used [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 `add_colors` is never used [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 `contains` is never used [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 `intersect_ray_with_sphere` is never used [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 `multiply_vec_and_mat` is never used [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 `rotation_around_y` is never used [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: method `project` is never used [INFO] [stdout] --> src/projective_camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ProjectiveCamera { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/model.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Model<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 6 | pub name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `plane_type` is never read [INFO] [stdout] --> src/plane.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Plane { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 7 | pub plane_type: PlaneType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `num_stars`, `spread`, `speed`, `star_x`, `star_y`, and `star_z` are never read [INFO] [stdout] --> src/starfield.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Starfield { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | num_stars: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 8 | spread: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | speed: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | star_x: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | star_y: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | star_z: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_and_render` and `new_star` are never used [INFO] [stdout] --> src/starfield.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Starfield { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn update_and_render(&mut self, delta: &Duration, canvas: &mut BufferCanvas) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn new_star(&mut self, i: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_normal_direction_in_right` is never used [INFO] [stdout] --> src/rendering.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_normal_direction_in_left` is never used [INFO] [stdout] --> src/rendering.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_vertex_outside` is never used [INFO] [stdout] --> src/rendering.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_vertex_inside` is never used [INFO] [stdout] --> src/rendering.rs:325:4 [INFO] [stdout] | [INFO] [stdout] 325 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [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: unused variable: `camera` [INFO] [stdout] --> src/rendering.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | 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:596:13 [INFO] [stdout] | [INFO] [stdout] 596 | 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: 133 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | 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:545:9 [INFO] [stdout] | [INFO] [stdout] 545 | 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:546:9 [INFO] [stdout] | [INFO] [stdout] 546 | 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:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | 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:564:9 [INFO] [stdout] | [INFO] [stdout] 564 | 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:565:9 [INFO] [stdout] | [INFO] [stdout] 565 | 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:566:9 [INFO] [stdout] | [INFO] [stdout] 566 | 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:567:9 [INFO] [stdout] | [INFO] [stdout] 567 | 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:568:9 [INFO] [stdout] | [INFO] [stdout] 568 | let mut iz_right; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_segment` [INFO] [stdout] --> src/rendering.rs:753:13 [INFO] [stdout] | [INFO] [stdout] 753 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:686:9 [INFO] [stdout] | [INFO] [stdout] 686 | 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:687:9 [INFO] [stdout] | [INFO] [stdout] 687 | 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:688:9 [INFO] [stdout] | [INFO] [stdout] 688 | 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:689:9 [INFO] [stdout] | [INFO] [stdout] 689 | 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:712:9 [INFO] [stdout] | [INFO] [stdout] 712 | 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:713:9 [INFO] [stdout] | [INFO] [stdout] 713 | 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:714:9 [INFO] [stdout] | [INFO] [stdout] 714 | 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:715:9 [INFO] [stdout] | [INFO] [stdout] 715 | 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:716:9 [INFO] [stdout] | [INFO] [stdout] 716 | 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:717:9 [INFO] [stdout] | [INFO] [stdout] 717 | 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:718:9 [INFO] [stdout] | [INFO] [stdout] 718 | 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:719:9 [INFO] [stdout] | [INFO] [stdout] 719 | let mut i_right; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:807:9 [INFO] [stdout] | [INFO] [stdout] 807 | v0 = v2; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `v1` is never read [INFO] [stdout] --> src/rendering.rs:820:9 [INFO] [stdout] | [INFO] [stdout] 820 | 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:821:9 [INFO] [stdout] | [INFO] [stdout] 821 | 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:934:13 [INFO] [stdout] | [INFO] [stdout] 934 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:843:9 [INFO] [stdout] | [INFO] [stdout] 843 | 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:844:9 [INFO] [stdout] | [INFO] [stdout] 844 | 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:845:9 [INFO] [stdout] | [INFO] [stdout] 845 | 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:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | 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:847:9 [INFO] [stdout] | [INFO] [stdout] 847 | 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:848:9 [INFO] [stdout] | [INFO] [stdout] 848 | 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: value assigned to `v0` is never read [INFO] [stdout] --> src/rendering.rs:1011:9 [INFO] [stdout] | [INFO] [stdout] 1011 | 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:1028:9 [INFO] [stdout] | [INFO] [stdout] 1028 | 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:1029:9 [INFO] [stdout] | [INFO] [stdout] 1029 | 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:1178:13 [INFO] [stdout] | [INFO] [stdout] 1178 | 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: variable does not need to be mutable [INFO] [stdout] --> src/rendering.rs:1059:9 [INFO] [stdout] | [INFO] [stdout] 1059 | 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:1060:9 [INFO] [stdout] | [INFO] [stdout] 1060 | 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:1061:9 [INFO] [stdout] | [INFO] [stdout] 1061 | 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:1062:9 [INFO] [stdout] | [INFO] [stdout] 1062 | 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:1063:9 [INFO] [stdout] | [INFO] [stdout] 1063 | 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:1064:9 [INFO] [stdout] | [INFO] [stdout] 1064 | 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:1065:9 [INFO] [stdout] | [INFO] [stdout] 1065 | 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:1066:9 [INFO] [stdout] | [INFO] [stdout] 1066 | 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: unused variable: `i` [INFO] [stdout] --> src/rendering.rs:1254:9 [INFO] [stdout] | [INFO] [stdout] 1254 | 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:1270:9 [INFO] [stdout] | [INFO] [stdout] 1270 | 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: `red` [INFO] [stdout] --> src/main.rs:1195:9 [INFO] [stdout] | [INFO] [stdout] 1195 | 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:1196:9 [INFO] [stdout] | [INFO] [stdout] 1196 | 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:1197:9 [INFO] [stdout] | [INFO] [stdout] 1197 | 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:1198:9 [INFO] [stdout] | [INFO] [stdout] 1198 | 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:1204:9 [INFO] [stdout] | [INFO] [stdout] 1204 | 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:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | 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: `wooden_cube` [INFO] [stdout] --> src/main.rs:1206:9 [INFO] [stdout] | [INFO] [stdout] 1206 | let wooden_cube = textured_cube(0.9, &wooden_crate); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wooden_cube` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `brick_cube` [INFO] [stdout] --> src/main.rs:1207:9 [INFO] [stdout] | [INFO] [stdout] 1207 | let brick_cube = textured_cube(1.0, &bricks); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_brick_cube` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_instance_index` [INFO] [stdout] --> src/main.rs:1214:13 [INFO] [stdout] | [INFO] [stdout] 1214 | 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: `starfield` [INFO] [stdout] --> src/main.rs:1311:13 [INFO] [stdout] | [INFO] [stdout] 1311 | let mut starfield = Starfield::new(1000, 5.0, 110000.0); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starfield` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta` [INFO] [stdout] --> src/main.rs:1349:13 [INFO] [stdout] | [INFO] [stdout] 1349 | let delta = now.elapsed(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1214:9 [INFO] [stdout] | [INFO] [stdout] 1214 | let mut current_instance_index: Option = None; [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:1311:9 [INFO] [stdout] | [INFO] [stdout] 1311 | let mut starfield = Starfield::new(1000, 5.0, 110000.0); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Frame` is never constructed [INFO] [stdout] --> src/main.rs:73:8 [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: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project` is never used [INFO] [stdout] --> src/main.rs:187:4 [INFO] [stdout] | [INFO] [stdout] 187 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize` is never used [INFO] [stdout] --> src/main.rs:191:4 [INFO] [stdout] | [INFO] [stdout] 191 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rasterize` is never used [INFO] [stdout] --> src/main.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simple_line` is never used [INFO] [stdout] --> src/main.rs:276:4 [INFO] [stdout] | [INFO] [stdout] 276 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_visible` is never used [INFO] [stdout] --> src/main.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_visible2` is never used [INFO] [stdout] --> src/main.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_face` is never used [INFO] [stdout] --> src/main.rs:337:4 [INFO] [stdout] | [INFO] [stdout] 337 | fn draw_face(face: &Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform` is never used [INFO] [stdout] --> src/main.rs:359:4 [INFO] [stdout] | [INFO] [stdout] 359 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotated_cube_vertices` is never used [INFO] [stdout] --> src/main.rs:373:4 [INFO] [stdout] | [INFO] [stdout] 373 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotated_cube` is never used [INFO] [stdout] --> src/main.rs:427:4 [INFO] [stdout] | [INFO] [stdout] 427 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `triangle` is never used [INFO] [stdout] --> src/main.rs:444:4 [INFO] [stdout] | [INFO] [stdout] 444 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_unit_cube` is never used [INFO] [stdout] --> src/main.rs:651:4 [INFO] [stdout] | [INFO] [stdout] 651 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enclosing_frame` is never used [INFO] [stdout] --> src/main.rs:655:4 [INFO] [stdout] | [INFO] [stdout] 655 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_z_transform` is never used [INFO] [stdout] --> src/main.rs:706:4 [INFO] [stdout] | [INFO] [stdout] 706 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_model_to_buffer` is never used [INFO] [stdout] --> src/main.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn render_model_to_buffer( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_buffer_in_window` is never used [INFO] [stdout] --> src/main.rs:772:4 [INFO] [stdout] | [INFO] [stdout] 772 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotating_cube_window` is never used [INFO] [stdout] --> src/main.rs:826:4 [INFO] [stdout] | [INFO] [stdout] 826 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `three_spheres_window` is never used [INFO] [stdout] --> src/main.rs:936:4 [INFO] [stdout] | [INFO] [stdout] 936 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_video` is never used [INFO] [stdout] --> src/main.rs:1082:4 [INFO] [stdout] | [INFO] [stdout] 1082 | fn render_video() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_wireframe_triangle` is never used [INFO] [stdout] --> src/main.rs:1094:4 [INFO] [stdout] | [INFO] [stdout] 1094 | fn draw_wireframe_triangle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sphere` is never constructed [INFO] [stdout] --> src/ray_tracing.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Sphere { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Sphere` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_scene_to_buffer` is never used [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 `compute_lighting` is never used [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 `compute_light_from_direction` is never used [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 `closest_intersection` is never used [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 `trace_ray` is never used [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 `add_colors` is never used [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 `contains` is never used [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 `intersect_ray_with_sphere` is never used [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 `rotation_around_y` is never used [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: method `project` is never used [INFO] [stdout] --> src/projective_camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ProjectiveCamera { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/model.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Model<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 6 | pub name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `plane_type` is never read [INFO] [stdout] --> src/plane.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Plane { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 7 | pub plane_type: PlaneType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `num_stars`, `spread`, `speed`, `star_x`, `star_y`, and `star_z` are never read [INFO] [stdout] --> src/starfield.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Starfield { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | num_stars: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 8 | spread: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | speed: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | star_x: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | star_y: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | star_z: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_and_render` and `new_star` are never used [INFO] [stdout] --> src/starfield.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Starfield { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn update_and_render(&mut self, delta: &Duration, canvas: &mut BufferCanvas) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn new_star(&mut self, i: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_normal_direction_in_right` is never used [INFO] [stdout] --> src/rendering.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `face_normal_direction_in_left` is never used [INFO] [stdout] --> src/rendering.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_vertex_outside` is never used [INFO] [stdout] --> src/rendering.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_vertex_inside` is never used [INFO] [stdout] --> src/rendering.rs:325:4 [INFO] [stdout] | [INFO] [stdout] 325 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [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: 130 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.63s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "c9a6e21a8cbc2a19d79ebc77103ff86de8f3dcf8095d6710b2da05e1603c0c45", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9a6e21a8cbc2a19d79ebc77103ff86de8f3dcf8095d6710b2da05e1603c0c45", kill_on_drop: false }` [INFO] [stdout] c9a6e21a8cbc2a19d79ebc77103ff86de8f3dcf8095d6710b2da05e1603c0c45