[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] 4a87b93a07d038bb1712616a4bcfd78b793f7461 [INFO] testing alsor/durer_renderer against master#159ba8a92c9e2fa4121f106176309521f4af87e9+rustflags=-Copt-level=3 for pr-107051 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falsor%2Fdurer_renderer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/alsor/durer_renderer on toolchain 159ba8a92c9e2fa4121f106176309521f4af87e9 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+159ba8a92c9e2fa4121f106176309521f4af87e9" "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-0-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" "+159ba8a92c9e2fa4121f106176309521f4af87e9" "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 bindgen v0.30.0 [INFO] [stderr] Downloaded ffmpeg-sys v3.3.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7c93e6f9a94679f34221d1005849d4c83862f85b14a264fa0883942f4d043a66" "/opt/rustwide/cargo-home/bin/cargo" "+159ba8a92c9e2fa4121f106176309521f4af87e9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] af3754f60a50e886e938811b9dfa7e80c8deabf3cc24d5766114a290f4693e49 [INFO] running `Command { std: "docker" "start" "-a" "af3754f60a50e886e938811b9dfa7e80c8deabf3cc24d5766114a290f4693e49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "af3754f60a50e886e938811b9dfa7e80c8deabf3cc24d5766114a290f4693e49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af3754f60a50e886e938811b9dfa7e80c8deabf3cc24d5766114a290f4693e49", kill_on_drop: false }` [INFO] [stdout] af3754f60a50e886e938811b9dfa7e80c8deabf3cc24d5766114a290f4693e49 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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:7c93e6f9a94679f34221d1005849d4c83862f85b14a264fa0883942f4d043a66" "/opt/rustwide/cargo-home/bin/cargo" "+159ba8a92c9e2fa4121f106176309521f4af87e9" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c33535d533516f811933992044b7f4b19ffd1b77afe2980b2e36ea93707ad3f [INFO] running `Command { std: "docker" "start" "-a" "6c33535d533516f811933992044b7f4b19ffd1b77afe2980b2e36ea93707ad3f", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.137 [INFO] [stderr] Compiling crossbeam-utils v0.8.14 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling rayon-core v1.10.1 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling crossbeam-channel v0.5.6 [INFO] [stderr] Compiling num_cpus v1.14.0 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling quote v0.6.13 [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] Compiling aho-corasick v0.7.20 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling regex-syntax v0.6.28 [INFO] [stderr] Compiling crossbeam-deque v0.8.2 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling gif v0.10.3 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling regex v1.7.0 [INFO] [stderr] Compiling rayon v1.6.0 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling png v0.15.3 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling sdl2 v0.31.0 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling tiff v0.3.1 [INFO] [stderr] Compiling image v0.22.5 [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 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: `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:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | _ => () [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [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: 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/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: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] [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: `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] = 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: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: 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: `starfield` [INFO] [stdout] --> src/main.rs:1304:13 [INFO] [stdout] | [INFO] [stdout] 1304 | 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:1342:13 [INFO] [stdout] | [INFO] [stdout] 1342 | 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/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/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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1304:9 [INFO] [stdout] | [INFO] [stdout] 1304 | 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: 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] = 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] = note: `#[warn(private_in_public)]` on by default [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:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | 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:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | 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: fields `x_min`, `x_max`, `y_min`, and `y_max` are never read [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] | fields in this struct [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] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project` is never used [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 `normalize` is never used [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 `rasterize` is never used [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 `simple_line` is never used [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 `face_visible` is never used [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 `face_visible2` is never used [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 `draw_face` is never used [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 `transform` is never used [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 `rotated_cube_vertices` is never used [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 `rotated_cube` is never used [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 `triangle` is never used [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 `two_unit_cube` is never used [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 `enclosing_frame` is never used [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 `find_z_transform` is never used [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 `render_model_to_buffer` is never used [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 `show_buffer_in_window` is never used [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 `rotating_cube_window` is never used [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 `three_spheres_window` is never used [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 `render_video` is never used [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 `draw_wireframe_triangle` is never used [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 `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: associated function `project` is never used [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: 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: associated function `update_and_render` is never used [INFO] [stdout] --> src/starfield.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn update_and_render(&mut self, delta: &Duration, canvas: &mut BufferCanvas) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_star` is never used [INFO] [stdout] --> src/starfield.rs:54:8 [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: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 `face_normal_direction_in_left` is never used [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_vertex_outside` is never used [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_vertex_inside` is never used [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 `render_wireframe_triangle` is never used [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: 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: 136 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 43s [INFO] running `Command { std: "docker" "inspect" "6c33535d533516f811933992044b7f4b19ffd1b77afe2980b2e36ea93707ad3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c33535d533516f811933992044b7f4b19ffd1b77afe2980b2e36ea93707ad3f", kill_on_drop: false }` [INFO] [stdout] 6c33535d533516f811933992044b7f4b19ffd1b77afe2980b2e36ea93707ad3f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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:7c93e6f9a94679f34221d1005849d4c83862f85b14a264fa0883942f4d043a66" "/opt/rustwide/cargo-home/bin/cargo" "+159ba8a92c9e2fa4121f106176309521f4af87e9" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1fd7c3f96116f56199b481a20f748857b51d3a8a3a6d956abc70faa7f2f27058 [INFO] running `Command { std: "docker" "start" "-a" "1fd7c3f96116f56199b481a20f748857b51d3a8a3a6d956abc70faa7f2f27058", 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: `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:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | _ => () [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [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: 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/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: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] [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: `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] = 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: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: 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: `starfield` [INFO] [stdout] --> src/main.rs:1304:13 [INFO] [stdout] | [INFO] [stdout] 1304 | 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:1342:13 [INFO] [stdout] | [INFO] [stdout] 1342 | 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/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/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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1304:9 [INFO] [stdout] | [INFO] [stdout] 1304 | 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: 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] = 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] = note: `#[warn(private_in_public)]` on by default [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:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | 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:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | 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: fields `x_min`, `x_max`, `y_min`, and `y_max` are never read [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] | fields in this struct [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] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `project` is never used [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 `normalize` is never used [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 `rasterize` is never used [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 `simple_line` is never used [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 `face_visible` is never used [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 `face_visible2` is never used [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 `draw_face` is never used [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 `transform` is never used [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 `rotated_cube_vertices` is never used [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 `rotated_cube` is never used [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 `triangle` is never used [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 `two_unit_cube` is never used [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 `enclosing_frame` is never used [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 `find_z_transform` is never used [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 `render_model_to_buffer` is never used [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 `show_buffer_in_window` is never used [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 `rotating_cube_window` is never used [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 `three_spheres_window` is never used [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 `render_video` is never used [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 `draw_wireframe_triangle` is never used [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 `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: associated function `project` is never used [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: 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: associated function `update_and_render` is never used [INFO] [stdout] --> src/starfield.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn update_and_render(&mut self, delta: &Duration, canvas: &mut BufferCanvas) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_star` is never used [INFO] [stdout] --> src/starfield.rs:54:8 [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: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 `face_normal_direction_in_left` is never used [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_vertex_outside` is never used [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_vertex_inside` is never used [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 `render_wireframe_triangle` is never used [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: 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: 133 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.66s [INFO] running `Command { std: "docker" "inspect" "1fd7c3f96116f56199b481a20f748857b51d3a8a3a6d956abc70faa7f2f27058", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fd7c3f96116f56199b481a20f748857b51d3a8a3a6d956abc70faa7f2f27058", kill_on_drop: false }` [INFO] [stdout] 1fd7c3f96116f56199b481a20f748857b51d3a8a3a6d956abc70faa7f2f27058 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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:7c93e6f9a94679f34221d1005849d4c83862f85b14a264fa0883942f4d043a66" "/opt/rustwide/cargo-home/bin/cargo" "+159ba8a92c9e2fa4121f106176309521f4af87e9" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2f795b7a117d3c0a4712ddd93dee37f78836ea3d31de74b45a689d0300fdd23c [INFO] running `Command { std: "docker" "start" "-a" "2f795b7a117d3c0a4712ddd93dee37f78836ea3d31de74b45a689d0300fdd23c", 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: `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:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [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] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | 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:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | 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:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let 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: `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] 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: `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] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [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: 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: `starfield` [INFO] [stderr] --> src/main.rs:1304:13 [INFO] [stderr] | [INFO] [stderr] 1304 | let mut starfield = Starfield::new(1000, 5.0, 110000.0); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starfield` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delta` [INFO] [stderr] --> src/main.rs:1342:13 [INFO] [stderr] | [INFO] [stderr] 1342 | let delta = now.elapsed(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta` [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/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: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:1304:9 [INFO] [stderr] | [INFO] [stderr] 1304 | let mut starfield = Starfield::new(1000, 5.0, 110000.0); [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] = 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] = note: `#[warn(private_in_public)]` on by default [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:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | 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:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | 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: fields `x_min`, `x_max`, `y_min`, and `y_max` are never read [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] | fields in this struct [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] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `project` is never used [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 `normalize` is never used [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 `rasterize` is never used [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 `simple_line` is never used [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 `face_visible` is never used [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 `face_visible2` is never used [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 `draw_face` is never used [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 `transform` is never used [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 `rotated_cube_vertices` is never used [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 `rotated_cube` is never used [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 `triangle` is never used [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 `two_unit_cube` is never used [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 `enclosing_frame` is never used [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 `find_z_transform` is never used [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 `render_model_to_buffer` is never used [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 `show_buffer_in_window` is never used [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 `rotating_cube_window` is never used [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 `three_spheres_window` is never used [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 `render_video` is never used [INFO] [stderr] --> src/main.rs:1076:4 [INFO] [stderr] | [INFO] [stderr] 1076 | fn render_video() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `draw_wireframe_triangle` is never used [INFO] [stderr] --> src/main.rs:1088:4 [INFO] [stderr] | [INFO] [stderr] 1088 | fn draw_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `render_scene_to_buffer` is never used [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 `compute_lighting` is never used [INFO] [stderr] --> src/ray_tracing.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn compute_lighting( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `compute_light_from_direction` is never used [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 `closest_intersection` is never used [INFO] [stderr] --> src/ray_tracing.rs:174:4 [INFO] [stderr] | [INFO] [stderr] 174 | fn closest_intersection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `trace_ray` is never used [INFO] [stderr] --> src/ray_tracing.rs:199:4 [INFO] [stderr] | [INFO] [stderr] 199 | fn trace_ray( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `add_colors` is never used [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 `contains` is never used [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 `intersect_ray_with_sphere` is never used [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 `rotation_around_y` is never used [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 `project` is never used [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: fields `num_stars`, `spread`, `speed`, `star_x`, `star_y`, and `star_z` are never read [INFO] [stderr] --> src/starfield.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Starfield { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 7 | num_stars: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 8 | spread: f64, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 9 | speed: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 10 | star_x: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 11 | star_y: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 12 | star_z: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `update_and_render` is never used [INFO] [stderr] --> src/starfield.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn update_and_render(&mut self, delta: &Duration, canvas: &mut BufferCanvas) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new_star` is never used [INFO] [stderr] --> src/starfield.rs:54:8 [INFO] [stderr] | [INFO] [stderr] 54 | fn new_star(&mut self, i: usize) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `face_normal_direction_in_right` is never used [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 `face_normal_direction_in_left` is never used [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_vertex_outside` is never used [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_vertex_inside` is never used [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 `render_wireframe_triangle` is never used [INFO] [stderr] --> src/rendering.rs:475:4 [INFO] [stderr] | [INFO] [stderr] 475 | fn render_wireframe_triangle( [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 133 warnings (run `cargo fix --bin "durer" --tests` to apply 81 suggestions) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/durer-c9ace27ea565d5e6) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test instance::test_new ... ok [INFO] [stdout] test instance::test_new_with_position ... ok [INFO] [stdout] test instance::test_new_with_rotation ... ok [INFO] [stdout] test instance::test_new_with_scale ... ok [INFO] [stdout] test matrix44f::test_transpose ... ok [INFO] [stdout] test rendering::test_interpolate_float ... ok [INFO] [stdout] test rendering::test_interpolate_int ... ok [INFO] [stdout] test starfield::test_init_star ... ok [INFO] [stdout] test vector4f::test_transform ... ok [INFO] [stdout] test test_new_with_calculated_normal ... ok [INFO] [stdout] test vectors::test_length ... ok [INFO] [stdout] test ray_tracing::test_canvas_to_viewport ... ok [INFO] [stdout] test vectors::test_multiply_vec_and_mat ... ok [INFO] [stdout] test vectors::test_normalize ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2f795b7a117d3c0a4712ddd93dee37f78836ea3d31de74b45a689d0300fdd23c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f795b7a117d3c0a4712ddd93dee37f78836ea3d31de74b45a689d0300fdd23c", kill_on_drop: false }` [INFO] [stdout] 2f795b7a117d3c0a4712ddd93dee37f78836ea3d31de74b45a689d0300fdd23c