[INFO] updating cached repository https://github.com/alsor/durer_renderer [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5c91997c3b183b501cdd06c4d33f9045e05878f9 [INFO] testing alsor/durer_renderer against beta-2020-06-03 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falsor%2Fdurer_renderer" "/workspace/builds/worker-2/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/alsor/durer_renderer on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "read-manifest" "--manifest-path" "Cargo.toml"` [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-2/source/Cargo.toml [INFO] crate git repo https://github.com/alsor/durer_renderer already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "build" "--frozen"` [INFO] [stdout] 665845dbac96e81a8da658ea9258c0b01764ca7e6c07187ad74f9dc31fe240eb [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "665845dbac96e81a8da658ea9258c0b01764ca7e6c07187ad74f9dc31fe240eb"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling either v1.4.0 [INFO] [stderr] Compiling rayon-core v1.3.0 [INFO] [stderr] Compiling syn v0.15.42 [INFO] [stderr] Compiling regex v1.0.2 [INFO] [stderr] Compiling termcolor v0.3.6 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Compiling atty v0.2.8 [INFO] [stderr] Compiling gif v0.10.2 [INFO] [stderr] Compiling deflate v0.7.17 [INFO] [stderr] Compiling inflate v0.4.5 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling num-iter v0.1.35 [INFO] [stderr] Compiling coco v0.1.1 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling png v0.15.0 [INFO] [stderr] Compiling rayon v0.8.2 [INFO] [stderr] Compiling sdl2 v0.31.0 [INFO] [stderr] Compiling env_logger v0.5.10 [INFO] [stderr] Compiling jpeg-decoder v0.1.13 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling tiff v0.3.1 [INFO] [stderr] Compiling image v0.22.0 [INFO] [stderr] Compiling durer v0.1.0 (/opt/rustwide/workdir) [INFO] [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: `rand::Rng` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::rect::Rect` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use sdl2::rect::Rect; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ray_tracing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::plane::PlaneType` [INFO] [stderr] --> src/projective_camera.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::plane::PlaneType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/buffer_canvas.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Vector3f` [INFO] [stderr] --> src/buffer_canvas.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Vector3f; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:84:22 [INFO] [stderr] | [INFO] [stderr] 84 | let result = (canvas_width / 2 + x_canvas); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Color`, `Triangle` [INFO] [stderr] --> src/instance.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::{Color, Triangle}; [INFO] [stderr] | ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ply2.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::triangle` [INFO] [stderr] --> src/ply2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::triangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::video::WindowPos::Positioned` [INFO] [stderr] --> src/rendering.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use sdl2::video::WindowPos::Positioned; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `face_visible` [INFO] [stderr] --> src/rendering.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{face_visible, Triangle, Triangle4f}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `transform` [INFO] [stderr] --> src/rendering.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{face_visible_4f, transform}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/rendering.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ply2.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | 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:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | 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:488:9 [INFO] [stderr] | [INFO] [stderr] 488 | 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:710:9 [INFO] [stderr] | [INFO] [stderr] 710 | 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: `red` [INFO] [stderr] --> src/main.rs:1185:9 [INFO] [stderr] | [INFO] [stderr] 1185 | 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:1186:9 [INFO] [stderr] | [INFO] [stderr] 1186 | 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:1187:9 [INFO] [stderr] | [INFO] [stderr] 1187 | 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:1188:9 [INFO] [stderr] | [INFO] [stderr] 1188 | 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:1194:9 [INFO] [stderr] | [INFO] [stderr] 1194 | 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:1195:9 [INFO] [stderr] | [INFO] [stderr] 1195 | 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:1199:9 [INFO] [stderr] | [INFO] [stderr] 1199 | 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:1204:9 [INFO] [stderr] | [INFO] [stderr] 1204 | 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: `rng` [INFO] [stderr] --> src/ray_tracing.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | for i in 1..dy { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `camera` [INFO] [stderr] --> src/rendering.rs:417:5 [INFO] [stderr] | [INFO] [stderr] 417 | camera: &ProjectiveCamera, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:589:13 [INFO] [stderr] | [INFO] [stderr] 589 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:800:9 [INFO] [stderr] | [INFO] [stderr] 800 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:813:9 [INFO] [stderr] | [INFO] [stderr] 813 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:814:9 [INFO] [stderr] | [INFO] [stderr] 814 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:927:13 [INFO] [stderr] | [INFO] [stderr] 927 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:1004:9 [INFO] [stderr] | [INFO] [stderr] 1004 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:1021:9 [INFO] [stderr] | [INFO] [stderr] 1021 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:1022:9 [INFO] [stderr] | [INFO] [stderr] 1022 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:1171:13 [INFO] [stderr] | [INFO] [stderr] 1171 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1247:9 [INFO] [stderr] | [INFO] [stderr] 1247 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1263:9 [INFO] [stderr] | [INFO] [stderr] 1263 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | 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:488:9 [INFO] [stderr] | [INFO] [stderr] 488 | 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:1147:9 [INFO] [stderr] | [INFO] [stderr] 1147 | 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:1204:9 [INFO] [stderr] | [INFO] [stderr] 1204 | 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/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] warning: variable does not need to be mutable [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/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: 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] 20 | | Point2D { [INFO] [stderr] 21 | | x: point.x * self.projection_plane_z / point.z, [INFO] [stderr] 22 | | y: point.y * self.projection_plane_z / point.z [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point2D` in public interface (error E0446) [INFO] [stderr] --> src/projective_camera.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stderr] 27 | | Point2D { [INFO] [stderr] 28 | | x: vertex.x * self.projection_plane_z / vertex.z, [INFO] [stderr] 29 | | y: vertex.y * self.projection_plane_z / vertex.z [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stderr] 47 | | let point = camera.project_vertex(vertex); [INFO] [stderr] 48 | | let canvas_size = self.size as f64; [INFO] [stderr] 49 | | Point { [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stderr] 109 | | trace!("drawing line [{},{}] - [{},{}]", start.x, start.y, end.x, end.y); [INFO] [stderr] 110 | | let start_pixel = self.point_to_pixel(start.x, start.y, color); [INFO] [stderr] 111 | | let end_pixel = self.point_to_pixel(end.x, end.y, color); [INFO] [stderr] ... | [INFO] [stderr] 118 | | self.rasterize_line(start_pixel, end_pixel); [INFO] [stderr] 119 | | } [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: function is never used: `render_scene_to_buffer` [INFO] [stderr] --> src/ray_tracing.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn render_scene_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `canvas_to_viewport` [INFO] [stderr] --> src/ray_tracing.rs:69:4 [INFO] [stderr] | [INFO] [stderr] 69 | fn canvas_to_viewport(x: i32, y: i32, canvas_width: i32, canvas_height: i32) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_lighting` [INFO] [stderr] --> src/ray_tracing.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn compute_lighting( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_light_from_direction` [INFO] [stderr] --> src/ray_tracing.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | fn compute_light_from_direction( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closest_intersection` [INFO] [stderr] --> src/ray_tracing.rs:174:4 [INFO] [stderr] | [INFO] [stderr] 174 | fn closest_intersection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `trace_ray` [INFO] [stderr] --> src/ray_tracing.rs:199:4 [INFO] [stderr] | [INFO] [stderr] 199 | fn trace_ray( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_colors` [INFO] [stderr] --> src/ray_tracing.rs:271:4 [INFO] [stderr] | [INFO] [stderr] 271 | fn add_colors(color1: Color, color2: Color) -> Color { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `contains` [INFO] [stderr] --> src/ray_tracing.rs:279:4 [INFO] [stderr] | [INFO] [stderr] 279 | fn contains(range: (f64, f64), n: f64) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `intersect_ray_with_sphere` [INFO] [stderr] --> src/ray_tracing.rs:284:4 [INFO] [stderr] | [INFO] [stderr] 284 | fn intersect_ray_with_sphere(origin: Vector3f, direction: Vector3f, sphere: Sphere) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `multiply_vec_and_mat` [INFO] [stderr] --> src/vectors.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn multiply_vec_and_mat(vec: [f64; 3], mat: [[f64; 3]; 3]) -> [f64; 3] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotation_around_y` [INFO] [stderr] --> src/vectors.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn rotation_around_y(d: f64) -> [[f64; 3]; 3] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `project` [INFO] [stderr] --> src/projective_camera.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_min` [INFO] [stderr] --> src/main.rs:70:16 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_max` [INFO] [stderr] --> src/main.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_min` [INFO] [stderr] --> src/main.rs:70:40 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_max` [INFO] [stderr] --> src/main.rs:70:52 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `project` [INFO] [stderr] --> src/main.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `normalize` [INFO] [stderr] --> src/main.rs:182:4 [INFO] [stderr] | [INFO] [stderr] 182 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rasterize` [INFO] [stderr] --> src/main.rs:189:4 [INFO] [stderr] | [INFO] [stderr] 189 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_line` [INFO] [stderr] --> src/main.rs:267:4 [INFO] [stderr] | [INFO] [stderr] 267 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible` [INFO] [stderr] --> src/main.rs:302:4 [INFO] [stderr] | [INFO] [stderr] 302 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible2` [INFO] [stderr] --> src/main.rs:313:4 [INFO] [stderr] | [INFO] [stderr] 313 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_face` [INFO] [stderr] --> src/main.rs:328:4 [INFO] [stderr] | [INFO] [stderr] 328 | fn draw_face(face: &Vec, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `transform` [INFO] [stderr] --> src/main.rs:350:4 [INFO] [stderr] | [INFO] [stderr] 350 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube_vertices` [INFO] [stderr] --> src/main.rs:364:4 [INFO] [stderr] | [INFO] [stderr] 364 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube` [INFO] [stderr] --> src/main.rs:418:4 [INFO] [stderr] | [INFO] [stderr] 418 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `triangle` [INFO] [stderr] --> src/main.rs:435:4 [INFO] [stderr] | [INFO] [stderr] 435 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `two_unit_cube` [INFO] [stderr] --> src/main.rs:642:4 [INFO] [stderr] | [INFO] [stderr] 642 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `enclosing_frame` [INFO] [stderr] --> src/main.rs:646:4 [INFO] [stderr] | [INFO] [stderr] 646 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_z_transform` [INFO] [stderr] --> src/main.rs:697:4 [INFO] [stderr] | [INFO] [stderr] 697 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_model_to_buffer` [INFO] [stderr] --> src/main.rs:715:4 [INFO] [stderr] | [INFO] [stderr] 715 | fn render_model_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `show_buffer_in_window` [INFO] [stderr] --> src/main.rs:763:4 [INFO] [stderr] | [INFO] [stderr] 763 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotating_cube_window` [INFO] [stderr] --> src/main.rs:817:4 [INFO] [stderr] | [INFO] [stderr] 817 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `three_spheres_window` [INFO] [stderr] --> src/main.rs:927:4 [INFO] [stderr] | [INFO] [stderr] 927 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_video` [INFO] [stderr] --> src/main.rs:1073:4 [INFO] [stderr] | [INFO] [stderr] 1073 | fn render_video() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_wireframe_triangle` [INFO] [stderr] --> src/main.rs:1085:4 [INFO] [stderr] | [INFO] [stderr] 1085 | fn draw_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_right` [INFO] [stderr] --> src/rendering.rs:155:4 [INFO] [stderr] | [INFO] [stderr] 155 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_left` [INFO] [stderr] --> src/rendering.rs:167:4 [INFO] [stderr] | [INFO] [stderr] 167 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_outside` [INFO] [stderr] --> src/rendering.rs:312:4 [INFO] [stderr] | [INFO] [stderr] 312 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_inside` [INFO] [stderr] --> src/rendering.rs:318:4 [INFO] [stderr] | [INFO] [stderr] 318 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_wireframe_triangle` [INFO] [stderr] --> src/rendering.rs:475:4 [INFO] [stderr] | [INFO] [stderr] 475 | fn render_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 136 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `"docker" "inspect" "665845dbac96e81a8da658ea9258c0b01764ca7e6c07187ad74f9dc31fe240eb"` [INFO] running `"docker" "rm" "-f" "665845dbac96e81a8da658ea9258c0b01764ca7e6c07187ad74f9dc31fe240eb"` [INFO] [stdout] 665845dbac96e81a8da658ea9258c0b01764ca7e6c07187ad74f9dc31fe240eb [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 47060ff572238a1d99a658635a24274495ca016b863183be3ca06987603002b3 [INFO] running `"docker" "start" "-a" "47060ff572238a1d99a658635a24274495ca016b863183be3ca06987603002b3"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling durer v0.1.0 (/opt/rustwide/workdir) [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: `rand::Rng` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::rect::Rect` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use sdl2::rect::Rect; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ray_tracing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::plane::PlaneType` [INFO] [stderr] --> src/projective_camera.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::plane::PlaneType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/buffer_canvas.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Vector3f` [INFO] [stderr] --> src/buffer_canvas.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Vector3f; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:84:22 [INFO] [stderr] | [INFO] [stderr] 84 | let result = (canvas_width / 2 + x_canvas); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ply2.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::triangle` [INFO] [stderr] --> src/ply2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::triangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::video::WindowPos::Positioned` [INFO] [stderr] --> src/rendering.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use sdl2::video::WindowPos::Positioned; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `face_visible` [INFO] [stderr] --> src/rendering.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{face_visible, Triangle, Triangle4f}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `transform` [INFO] [stderr] --> src/rendering.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{face_visible_4f, transform}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/rendering.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ply2.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | 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:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | 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:488:9 [INFO] [stderr] | [INFO] [stderr] 488 | 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:710:9 [INFO] [stderr] | [INFO] [stderr] 710 | 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: `red` [INFO] [stderr] --> src/main.rs:1185:9 [INFO] [stderr] | [INFO] [stderr] 1185 | 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:1186:9 [INFO] [stderr] | [INFO] [stderr] 1186 | 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:1187:9 [INFO] [stderr] | [INFO] [stderr] 1187 | 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:1188:9 [INFO] [stderr] | [INFO] [stderr] 1188 | 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:1194:9 [INFO] [stderr] | [INFO] [stderr] 1194 | 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:1195:9 [INFO] [stderr] | [INFO] [stderr] 1195 | 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:1199:9 [INFO] [stderr] | [INFO] [stderr] 1199 | 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:1204:9 [INFO] [stderr] | [INFO] [stderr] 1204 | 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: `rng` [INFO] [stderr] --> src/ray_tracing.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | for i in 1..dy { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `camera` [INFO] [stderr] --> src/rendering.rs:417:5 [INFO] [stderr] | [INFO] [stderr] 417 | camera: &ProjectiveCamera, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:589:13 [INFO] [stderr] | [INFO] [stderr] 589 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:800:9 [INFO] [stderr] | [INFO] [stderr] 800 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:813:9 [INFO] [stderr] | [INFO] [stderr] 813 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:814:9 [INFO] [stderr] | [INFO] [stderr] 814 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:927:13 [INFO] [stderr] | [INFO] [stderr] 927 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:1004:9 [INFO] [stderr] | [INFO] [stderr] 1004 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:1021:9 [INFO] [stderr] | [INFO] [stderr] 1021 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:1022:9 [INFO] [stderr] | [INFO] [stderr] 1022 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:1171:13 [INFO] [stderr] | [INFO] [stderr] 1171 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1247:9 [INFO] [stderr] | [INFO] [stderr] 1247 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1263:9 [INFO] [stderr] | [INFO] [stderr] 1263 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | 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:488:9 [INFO] [stderr] | [INFO] [stderr] 488 | 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:1147:9 [INFO] [stderr] | [INFO] [stderr] 1147 | 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:1204:9 [INFO] [stderr] | [INFO] [stderr] 1204 | 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/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] warning: variable does not need to be mutable [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/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: 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] 20 | | Point2D { [INFO] [stderr] 21 | | x: point.x * self.projection_plane_z / point.z, [INFO] [stderr] 22 | | y: point.y * self.projection_plane_z / point.z [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point2D` in public interface (error E0446) [INFO] [stderr] --> src/projective_camera.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stderr] 27 | | Point2D { [INFO] [stderr] 28 | | x: vertex.x * self.projection_plane_z / vertex.z, [INFO] [stderr] 29 | | y: vertex.y * self.projection_plane_z / vertex.z [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stderr] 47 | | let point = camera.project_vertex(vertex); [INFO] [stderr] 48 | | let canvas_size = self.size as f64; [INFO] [stderr] 49 | | Point { [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stderr] 109 | | trace!("drawing line [{},{}] - [{},{}]", start.x, start.y, end.x, end.y); [INFO] [stderr] 110 | | let start_pixel = self.point_to_pixel(start.x, start.y, color); [INFO] [stderr] 111 | | let end_pixel = self.point_to_pixel(end.x, end.y, color); [INFO] [stderr] ... | [INFO] [stderr] 118 | | self.rasterize_line(start_pixel, end_pixel); [INFO] [stderr] 119 | | } [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: function is never used: `render_scene_to_buffer` [INFO] [stderr] --> src/ray_tracing.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn render_scene_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_lighting` [INFO] [stderr] --> src/ray_tracing.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn compute_lighting( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_light_from_direction` [INFO] [stderr] --> src/ray_tracing.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | fn compute_light_from_direction( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closest_intersection` [INFO] [stderr] --> src/ray_tracing.rs:174:4 [INFO] [stderr] | [INFO] [stderr] 174 | fn closest_intersection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `trace_ray` [INFO] [stderr] --> src/ray_tracing.rs:199:4 [INFO] [stderr] | [INFO] [stderr] 199 | fn trace_ray( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_colors` [INFO] [stderr] --> src/ray_tracing.rs:271:4 [INFO] [stderr] | [INFO] [stderr] 271 | fn add_colors(color1: Color, color2: Color) -> Color { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `contains` [INFO] [stderr] --> src/ray_tracing.rs:279:4 [INFO] [stderr] | [INFO] [stderr] 279 | fn contains(range: (f64, f64), n: f64) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `intersect_ray_with_sphere` [INFO] [stderr] --> src/ray_tracing.rs:284:4 [INFO] [stderr] | [INFO] [stderr] 284 | fn intersect_ray_with_sphere(origin: Vector3f, direction: Vector3f, sphere: Sphere) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotation_around_y` [INFO] [stderr] --> src/vectors.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn rotation_around_y(d: f64) -> [[f64; 3]; 3] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `project` [INFO] [stderr] --> src/projective_camera.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_min` [INFO] [stderr] --> src/main.rs:70:16 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_max` [INFO] [stderr] --> src/main.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_min` [INFO] [stderr] --> src/main.rs:70:40 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_max` [INFO] [stderr] --> src/main.rs:70:52 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `project` [INFO] [stderr] --> src/main.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `normalize` [INFO] [stderr] --> src/main.rs:182:4 [INFO] [stderr] | [INFO] [stderr] 182 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rasterize` [INFO] [stderr] --> src/main.rs:189:4 [INFO] [stderr] | [INFO] [stderr] 189 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_line` [INFO] [stderr] --> src/main.rs:267:4 [INFO] [stderr] | [INFO] [stderr] 267 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible` [INFO] [stderr] --> src/main.rs:302:4 [INFO] [stderr] | [INFO] [stderr] 302 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible2` [INFO] [stderr] --> src/main.rs:313:4 [INFO] [stderr] | [INFO] [stderr] 313 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_face` [INFO] [stderr] --> src/main.rs:328:4 [INFO] [stderr] | [INFO] [stderr] 328 | fn draw_face(face: &Vec, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `transform` [INFO] [stderr] --> src/main.rs:350:4 [INFO] [stderr] | [INFO] [stderr] 350 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube_vertices` [INFO] [stderr] --> src/main.rs:364:4 [INFO] [stderr] | [INFO] [stderr] 364 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube` [INFO] [stderr] --> src/main.rs:418:4 [INFO] [stderr] | [INFO] [stderr] 418 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `triangle` [INFO] [stderr] --> src/main.rs:435:4 [INFO] [stderr] | [INFO] [stderr] 435 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `two_unit_cube` [INFO] [stderr] --> src/main.rs:642:4 [INFO] [stderr] | [INFO] [stderr] 642 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `enclosing_frame` [INFO] [stderr] --> src/main.rs:646:4 [INFO] [stderr] | [INFO] [stderr] 646 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_z_transform` [INFO] [stderr] --> src/main.rs:697:4 [INFO] [stderr] | [INFO] [stderr] 697 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_model_to_buffer` [INFO] [stderr] --> src/main.rs:715:4 [INFO] [stderr] | [INFO] [stderr] 715 | fn render_model_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `show_buffer_in_window` [INFO] [stderr] --> src/main.rs:763:4 [INFO] [stderr] | [INFO] [stderr] 763 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotating_cube_window` [INFO] [stderr] --> src/main.rs:817:4 [INFO] [stderr] | [INFO] [stderr] 817 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `three_spheres_window` [INFO] [stderr] --> src/main.rs:927:4 [INFO] [stderr] | [INFO] [stderr] 927 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_video` [INFO] [stderr] --> src/main.rs:1073:4 [INFO] [stderr] | [INFO] [stderr] 1073 | fn render_video() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_wireframe_triangle` [INFO] [stderr] --> src/main.rs:1085:4 [INFO] [stderr] | [INFO] [stderr] 1085 | fn draw_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_right` [INFO] [stderr] --> src/rendering.rs:155:4 [INFO] [stderr] | [INFO] [stderr] 155 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_left` [INFO] [stderr] --> src/rendering.rs:167:4 [INFO] [stderr] | [INFO] [stderr] 167 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_outside` [INFO] [stderr] --> src/rendering.rs:312:4 [INFO] [stderr] | [INFO] [stderr] 312 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_inside` [INFO] [stderr] --> src/rendering.rs:318:4 [INFO] [stderr] | [INFO] [stderr] 318 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_wireframe_triangle` [INFO] [stderr] --> src/rendering.rs:475:4 [INFO] [stderr] | [INFO] [stderr] 475 | fn render_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 133 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.39s [INFO] running `"docker" "inspect" "47060ff572238a1d99a658635a24274495ca016b863183be3ca06987603002b3"` [INFO] running `"docker" "rm" "-f" "47060ff572238a1d99a658635a24274495ca016b863183be3ca06987603002b3"` [INFO] [stdout] 47060ff572238a1d99a658635a24274495ca016b863183be3ca06987603002b3 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e999f90449857d5368bc5bcd96233681a8662e9a21c84ad43afe27a436dcc07b [INFO] running `"docker" "start" "-a" "e999f90449857d5368bc5bcd96233681a8662e9a21c84ad43afe27a436dcc07b"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [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: `rand::Rng` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::rect::Rect` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use sdl2::rect::Rect; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `plane::Plane` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use plane::Plane; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ray_tracing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::plane::PlaneType` [INFO] [stderr] --> src/projective_camera.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::plane::PlaneType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/buffer_canvas.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Vector3f` [INFO] [stderr] --> src/buffer_canvas.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::Vector3f; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:84:22 [INFO] [stderr] | [INFO] [stderr] 84 | let result = (canvas_width / 2 + x_canvas); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/buffer_canvas.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let result = (canvas_height / 2 - y_canvas - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/ply2.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::triangle` [INFO] [stderr] --> src/ply2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::triangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::video::WindowPos::Positioned` [INFO] [stderr] --> src/rendering.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use sdl2::video::WindowPos::Positioned; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `face_visible` [INFO] [stderr] --> src/rendering.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{face_visible, Triangle, Triangle4f}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `transform` [INFO] [stderr] --> src/rendering.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{face_visible_4f, transform}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Point2D` [INFO] [stderr] --> src/rendering.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crate::Point2D; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ply2.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | _ => () [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | 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:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | 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:488:9 [INFO] [stderr] | [INFO] [stderr] 488 | 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:710:9 [INFO] [stderr] | [INFO] [stderr] 710 | 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: `red` [INFO] [stderr] --> src/main.rs:1185:9 [INFO] [stderr] | [INFO] [stderr] 1185 | 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:1186:9 [INFO] [stderr] | [INFO] [stderr] 1186 | 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:1187:9 [INFO] [stderr] | [INFO] [stderr] 1187 | 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:1188:9 [INFO] [stderr] | [INFO] [stderr] 1188 | 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:1194:9 [INFO] [stderr] | [INFO] [stderr] 1194 | 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:1195:9 [INFO] [stderr] | [INFO] [stderr] 1195 | 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:1199:9 [INFO] [stderr] | [INFO] [stderr] 1199 | 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:1204:9 [INFO] [stderr] | [INFO] [stderr] 1204 | 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: `rng` [INFO] [stderr] --> src/ray_tracing.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | for i in 1..dx { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/buffer_canvas.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | for i in 1..dy { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rng` [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `camera` [INFO] [stderr] --> src/rendering.rs:417:5 [INFO] [stderr] | [INFO] [stderr] 417 | camera: &ProjectiveCamera, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:589:13 [INFO] [stderr] | [INFO] [stderr] 589 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:800:9 [INFO] [stderr] | [INFO] [stderr] 800 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:813:9 [INFO] [stderr] | [INFO] [stderr] 813 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:814:9 [INFO] [stderr] | [INFO] [stderr] 814 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:927:13 [INFO] [stderr] | [INFO] [stderr] 927 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v0` is never read [INFO] [stderr] --> src/rendering.rs:1004:9 [INFO] [stderr] | [INFO] [stderr] 1004 | v0 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v1` is never read [INFO] [stderr] --> src/rendering.rs:1021:9 [INFO] [stderr] | [INFO] [stderr] 1021 | v1 = v2; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `v2` is never read [INFO] [stderr] --> src/rendering.rs:1022:9 [INFO] [stderr] | [INFO] [stderr] 1022 | v2 = swap; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_segment` [INFO] [stderr] --> src/rendering.rs:1171:13 [INFO] [stderr] | [INFO] [stderr] 1171 | let h_segment = interpolate_float(x_l, h_left[y_index], x_r, h_right[y_index]); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_h_segment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1247:9 [INFO] [stderr] | [INFO] [stderr] 1247 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/rendering.rs:1263:9 [INFO] [stderr] | [INFO] [stderr] 1263 | for i in i0..(i1 + 1) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:448:9 [INFO] [stderr] | [INFO] [stderr] 448 | 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:488:9 [INFO] [stderr] | [INFO] [stderr] 488 | 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:1147:9 [INFO] [stderr] | [INFO] [stderr] 1147 | 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:1204:9 [INFO] [stderr] | [INFO] [stderr] 1204 | 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/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] warning: variable does not need to be mutable [INFO] [stderr] --> src/ply2.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/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: 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] 20 | | Point2D { [INFO] [stderr] 21 | | x: point.x * self.projection_plane_z / point.z, [INFO] [stderr] 22 | | y: point.y * self.projection_plane_z / point.z [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point2D` in public interface (error E0446) [INFO] [stderr] --> src/projective_camera.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn project_vertex(&self, vertex: Vector4f) -> Point2D { [INFO] [stderr] 27 | | Point2D { [INFO] [stderr] 28 | | x: vertex.x * self.projection_plane_z / vertex.z, [INFO] [stderr] 29 | | y: vertex.y * self.projection_plane_z / vertex.z [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / pub fn viewport_to_canvas(&self, vertex: Vector4f, camera: &ProjectiveCamera) -> Point { [INFO] [stderr] 47 | | let point = camera.project_vertex(vertex); [INFO] [stderr] 48 | | let canvas_size = self.size as f64; [INFO] [stderr] 49 | | Point { [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `Point` in public interface (error E0446) [INFO] [stderr] --> src/buffer_canvas.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / pub fn draw_line(&mut self, start: Point, end: Point, color: Color) { [INFO] [stderr] 109 | | trace!("drawing line [{},{}] - [{},{}]", start.x, start.y, end.x, end.y); [INFO] [stderr] 110 | | let start_pixel = self.point_to_pixel(start.x, start.y, color); [INFO] [stderr] 111 | | let end_pixel = self.point_to_pixel(end.x, end.y, color); [INFO] [stderr] ... | [INFO] [stderr] 118 | | self.rasterize_line(start_pixel, end_pixel); [INFO] [stderr] 119 | | } [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: function is never used: `render_scene_to_buffer` [INFO] [stderr] --> src/ray_tracing.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn render_scene_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_lighting` [INFO] [stderr] --> src/ray_tracing.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn compute_lighting( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compute_light_from_direction` [INFO] [stderr] --> src/ray_tracing.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | fn compute_light_from_direction( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `closest_intersection` [INFO] [stderr] --> src/ray_tracing.rs:174:4 [INFO] [stderr] | [INFO] [stderr] 174 | fn closest_intersection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `trace_ray` [INFO] [stderr] --> src/ray_tracing.rs:199:4 [INFO] [stderr] | [INFO] [stderr] 199 | fn trace_ray( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_colors` [INFO] [stderr] --> src/ray_tracing.rs:271:4 [INFO] [stderr] | [INFO] [stderr] 271 | fn add_colors(color1: Color, color2: Color) -> Color { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `contains` [INFO] [stderr] --> src/ray_tracing.rs:279:4 [INFO] [stderr] | [INFO] [stderr] 279 | fn contains(range: (f64, f64), n: f64) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `intersect_ray_with_sphere` [INFO] [stderr] --> src/ray_tracing.rs:284:4 [INFO] [stderr] | [INFO] [stderr] 284 | fn intersect_ray_with_sphere(origin: Vector3f, direction: Vector3f, sphere: Sphere) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotation_around_y` [INFO] [stderr] --> src/vectors.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn rotation_around_y(d: f64) -> [[f64; 3]; 3] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `project` [INFO] [stderr] --> src/projective_camera.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn project(&self, point: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_min` [INFO] [stderr] --> src/main.rs:70:16 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `x_max` [INFO] [stderr] --> src/main.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_min` [INFO] [stderr] --> src/main.rs:70:40 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `y_max` [INFO] [stderr] --> src/main.rs:70:52 [INFO] [stderr] | [INFO] [stderr] 70 | struct Frame { x_min: f64, x_max: f64, y_min: f64, y_max: f64 } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `project` [INFO] [stderr] --> src/main.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | fn project(point3d: Vector3f) -> Point2D { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `normalize` [INFO] [stderr] --> src/main.rs:182:4 [INFO] [stderr] | [INFO] [stderr] 182 | fn normalize(point2d: Point2D, frame: Frame) -> Point2D { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rasterize` [INFO] [stderr] --> src/main.rs:189:4 [INFO] [stderr] | [INFO] [stderr] 189 | fn rasterize(point: Point2D, size: usize) -> Pixel { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_line` [INFO] [stderr] --> src/main.rs:267:4 [INFO] [stderr] | [INFO] [stderr] 267 | fn simple_line(start: Pixel, end: Pixel, buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible` [INFO] [stderr] --> src/main.rs:302:4 [INFO] [stderr] | [INFO] [stderr] 302 | fn face_visible(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_visible2` [INFO] [stderr] --> src/main.rs:313:4 [INFO] [stderr] | [INFO] [stderr] 313 | fn face_visible2(face: &Vec, vertices: &[Vector3f]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_face` [INFO] [stderr] --> src/main.rs:328:4 [INFO] [stderr] | [INFO] [stderr] 328 | fn draw_face(face: &Vec, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `transform` [INFO] [stderr] --> src/main.rs:350:4 [INFO] [stderr] | [INFO] [stderr] 350 | fn transform(vertices: &Vec, vector: Vector3f) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube_vertices` [INFO] [stderr] --> src/main.rs:364:4 [INFO] [stderr] | [INFO] [stderr] 364 | fn rotated_cube_vertices(t: f64) -> [Vector3f; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotated_cube` [INFO] [stderr] --> src/main.rs:418:4 [INFO] [stderr] | [INFO] [stderr] 418 | fn rotated_cube(t: f64) -> (Vec, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `triangle` [INFO] [stderr] --> src/main.rs:435:4 [INFO] [stderr] | [INFO] [stderr] 435 | fn triangle<'a>(size: f64) -> Model<'a> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `two_unit_cube` [INFO] [stderr] --> src/main.rs:642:4 [INFO] [stderr] | [INFO] [stderr] 642 | fn two_unit_cube<'a>() -> Model<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `enclosing_frame` [INFO] [stderr] --> src/main.rs:646:4 [INFO] [stderr] | [INFO] [stderr] 646 | fn enclosing_frame(vertices: &Vec) -> Frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_z_transform` [INFO] [stderr] --> src/main.rs:697:4 [INFO] [stderr] | [INFO] [stderr] 697 | fn find_z_transform(vertices: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_model_to_buffer` [INFO] [stderr] --> src/main.rs:715:4 [INFO] [stderr] | [INFO] [stderr] 715 | fn render_model_to_buffer( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `show_buffer_in_window` [INFO] [stderr] --> src/main.rs:763:4 [INFO] [stderr] | [INFO] [stderr] 763 | fn show_buffer_in_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `rotating_cube_window` [INFO] [stderr] --> src/main.rs:817:4 [INFO] [stderr] | [INFO] [stderr] 817 | fn rotating_cube_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `three_spheres_window` [INFO] [stderr] --> src/main.rs:927:4 [INFO] [stderr] | [INFO] [stderr] 927 | fn three_spheres_window(buffer: &mut [u8], size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_video` [INFO] [stderr] --> src/main.rs:1073:4 [INFO] [stderr] | [INFO] [stderr] 1073 | fn render_video() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_wireframe_triangle` [INFO] [stderr] --> src/main.rs:1085:4 [INFO] [stderr] | [INFO] [stderr] 1085 | fn draw_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_right` [INFO] [stderr] --> src/rendering.rs:155:4 [INFO] [stderr] | [INFO] [stderr] 155 | fn face_normal_direction_in_right(face: &Vec, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `face_normal_direction_in_left` [INFO] [stderr] --> src/rendering.rs:167:4 [INFO] [stderr] | [INFO] [stderr] 167 | fn face_normal_direction_in_left(triangle: &Triangle, vertices: &[Vector4f]) -> Vector3f { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_outside` [INFO] [stderr] --> src/rendering.rs:312:4 [INFO] [stderr] | [INFO] [stderr] 312 | fn is_vertex_outside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_vertex_inside` [INFO] [stderr] --> src/rendering.rs:318:4 [INFO] [stderr] | [INFO] [stderr] 318 | fn is_vertex_inside(plane: &Plane, vertex: Vector4f) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `render_wireframe_triangle` [INFO] [stderr] --> src/rendering.rs:475:4 [INFO] [stderr] | [INFO] [stderr] 475 | fn render_wireframe_triangle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 133 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/durer-7885782e09061935 [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test instance::test_new_with_rotation ... ok [INFO] [stdout] test instance::test_new_with_position ... ok [INFO] [stdout] test ray_tracing::test_canvas_to_viewport ... ok [INFO] [stdout] test instance::test_new_with_scale ... ok [INFO] [stdout] test instance::test_new ... ok [INFO] [stdout] test test_new_with_calculated_normal ... ok [INFO] [stdout] test vectors::test_length ... ok [INFO] [stdout] test vector4f::test_transform ... ok [INFO] [stdout] test matrix44f::test_transpose ... ok [INFO] [stdout] test vectors::test_multiply_vec_and_mat ... ok [INFO] [stdout] test rendering::test_interpolate_float ... ok [INFO] [stdout] test rendering::test_interpolate_int ... ok [INFO] [stdout] test vectors::test_normalize ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "e999f90449857d5368bc5bcd96233681a8662e9a21c84ad43afe27a436dcc07b"` [INFO] running `"docker" "rm" "-f" "e999f90449857d5368bc5bcd96233681a8662e9a21c84ad43afe27a436dcc07b"` [INFO] [stdout] e999f90449857d5368bc5bcd96233681a8662e9a21c84ad43afe27a436dcc07b