[INFO] cloning repository https://github.com/krrud/krust-renderer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/krrud/krust-renderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrrud%2Fkrust-renderer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrrud%2Fkrust-renderer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ff4b25ea8bb2e710abf51c67691d349dacc72777 [INFO] testing krrud/krust-renderer against 1.84.0 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrrud%2Fkrust-renderer" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/krrud/krust-renderer on toolchain 1.84.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/krrud/krust-renderer [INFO] finished tweaking git repo https://github.com/krrud/krust-renderer [INFO] tweaked toml for git repo https://github.com/krrud/krust-renderer written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/krrud/krust-renderer already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded crossfont v0.5.0 [INFO] [stderr] Downloaded palette_derive v0.6.1 [INFO] [stderr] Downloaded show-image-macros v0.12.3 [INFO] [stderr] Downloaded calloop v0.10.1 [INFO] [stderr] Downloaded nalgebra-macros v0.2.0 [INFO] [stderr] Downloaded palette v0.6.1 [INFO] [stderr] Downloaded wide v0.7.8 [INFO] [stderr] Downloaded simba v0.8.0 [INFO] [stderr] Downloaded show-image v0.13.1 [INFO] [stderr] Downloaded ndk-sys v0.4.0 [INFO] [stderr] Downloaded nalgebra v0.32.2 [INFO] [stderr] Downloaded winit v0.27.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 81ec9a5fb0159dba12923edf0d432dc93f7f280b6b1c506b673482391da87733 [INFO] running `Command { std: "docker" "start" "-a" "81ec9a5fb0159dba12923edf0d432dc93f7f280b6b1c506b673482391da87733", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "81ec9a5fb0159dba12923edf0d432dc93f7f280b6b1c506b673482391da87733", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81ec9a5fb0159dba12923edf0d432dc93f7f280b6b1c506b673482391da87733", kill_on_drop: false }` [INFO] [stdout] 81ec9a5fb0159dba12923edf0d432dc93f7f280b6b1c506b673482391da87733 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 04f2d5aa718dfb0389fe8e05c21e977c71e8e12d43537d5530e4d7c8a806a3dc [INFO] running `Command { std: "docker" "start" "-a" "04f2d5aa718dfb0389fe8e05c21e977c71e8e12d43537d5530e4d7c8a806a3dc", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.135 [INFO] [stderr] Compiling proc-macro2 v1.0.47 [INFO] [stderr] Compiling unicode-ident v1.0.5 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling syn v1.0.102 [INFO] [stderr] Compiling once_cell v1.15.0 [INFO] [stderr] Compiling libloading v0.7.3 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling smallvec v1.10.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling xml-rs v0.8.4 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling thiserror v1.0.37 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling futures-core v0.3.24 [INFO] [stderr] Compiling crossbeam-utils v0.8.12 [INFO] [stderr] Compiling dlib v0.5.0 [INFO] [stderr] Compiling miniz_oxide v0.5.4 [INFO] [stderr] Compiling crossbeam-epoch v0.9.11 [INFO] [stderr] Compiling unicode-width v0.1.10 [INFO] [stderr] Compiling parking_lot_core v0.9.4 [INFO] [stderr] Compiling futures-sink v0.3.24 [INFO] [stderr] Compiling slotmap v1.0.6 [INFO] [stderr] Compiling servo-fontconfig-sys v5.1.0 [INFO] [stderr] Compiling cty v0.2.2 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling rayon-core v1.9.3 [INFO] [stderr] Compiling scoped-tls v1.0.0 [INFO] [stderr] Compiling slab v0.4.7 [INFO] [stderr] Compiling khronos-egl v4.1.0 [INFO] [stderr] Compiling futures-task v0.3.24 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling semver v1.0.14 [INFO] [stderr] Compiling futures-channel v0.3.24 [INFO] [stderr] Compiling serde v1.0.145 [INFO] [stderr] Compiling ash v0.37.0+1.3.209 [INFO] [stderr] Compiling cmake v0.1.48 [INFO] [stderr] Compiling flate2 v1.0.24 [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling raw-window-handle v0.4.3 [INFO] [stderr] Compiling spirv v0.2.0+1.5.4 [INFO] [stderr] Compiling crossfont v0.5.0 [INFO] [stderr] Compiling gpu-alloc-types v0.2.0 [INFO] [stderr] Compiling gpu-descriptor-types v0.1.1 [INFO] [stderr] Compiling codespan-reporting v0.11.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.6 [INFO] [stderr] Compiling smithay-client-toolkit v0.16.0 [INFO] [stderr] Compiling rayon v1.5.3 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling foreign-types-shared v0.3.1 [INFO] [stderr] Compiling hexf-parse v0.2.1 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling siphasher v0.3.10 [INFO] [stderr] Compiling futures-util v0.3.24 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling freetype-sys v0.13.1 [INFO] [stderr] Compiling expat-sys v2.1.6 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling png v0.17.6 [INFO] [stderr] Compiling crossbeam-deque v0.8.2 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling arrayref v0.3.6 [INFO] [stderr] Compiling wgpu-core v0.13.2 [INFO] [stderr] Compiling tiny-skia-path v0.7.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling phf_shared v0.11.1 [INFO] [stderr] Compiling gpu-alloc v0.5.3 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling safe_arch v0.5.2 [INFO] [stderr] Compiling wgpu-types v0.13.2 [INFO] [stderr] Compiling x11-dl v2.20.0 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling inplace_it v0.3.5 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling nix v0.24.2 [INFO] [stderr] Compiling num_cpus v1.15.0 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling servo-fontconfig v0.5.1 [INFO] [stderr] Compiling freetype-rs v0.26.0 [INFO] [stderr] Compiling memmap2 v0.5.7 [INFO] [stderr] Compiling renderdoc-sys v0.7.1 [INFO] [stderr] Compiling pin-project-lite v0.2.9 [INFO] [stderr] Compiling either v1.8.0 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Compiling profiling v1.0.7 [INFO] [stderr] Compiling arrayvec v0.7.2 [INFO] [stderr] Compiling glow v0.11.2 [INFO] [stderr] Compiling paste v1.0.12 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling gpu-descriptor v0.2.3 [INFO] [stderr] Compiling futures-io v0.3.24 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling nanorand v0.7.0 [INFO] [stderr] Compiling phf_generator v0.11.1 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling petgraph v0.6.2 [INFO] [stderr] Compiling tiny-skia v0.7.0 [INFO] [stderr] Compiling spin v0.9.4 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling xcursor v0.3.4 [INFO] [stderr] Compiling weezl v0.1.7 [INFO] [stderr] Compiling copyless v0.1.5 [INFO] [stderr] Compiling wide v0.7.8 [INFO] [stderr] Compiling wayland-commons v0.29.5 [INFO] [stderr] Compiling show-image v0.13.1 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling mio v0.8.4 [INFO] [stderr] Compiling terminal_size v0.1.17 [INFO] [stderr] Compiling raw-window-handle v0.5.0 [INFO] [stderr] Compiling num-complex v0.4.3 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling cgmath v0.18.0 [INFO] [stderr] Compiling palette v0.6.1 [INFO] [stderr] Compiling serde_json v1.0.86 [INFO] [stderr] Compiling toml v0.5.9 [INFO] [stderr] Compiling percent-encoding v2.2.0 [INFO] [stderr] Compiling half v2.1.0 [INFO] [stderr] Compiling lebe v0.5.2 [INFO] [stderr] Compiling bit_field v0.10.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling gif v0.11.4 [INFO] [stderr] Compiling matrixmultiply v0.3.2 [INFO] [stderr] Compiling console v0.15.2 [INFO] [stderr] Compiling jpeg-decoder v0.3.0 [INFO] [stderr] Compiling approx v0.4.0 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling ryu v1.0.11 [INFO] [stderr] Compiling simba v0.8.0 [INFO] [stderr] Compiling itoa v1.0.4 [INFO] [stderr] Compiling glam v0.21.3 [INFO] [stderr] Compiling indicatif v0.17.1 [INFO] [stderr] Compiling futures-executor v0.3.24 [INFO] [stderr] Compiling futures v0.3.24 [INFO] [stderr] Compiling find-crate v0.6.3 [INFO] [stderr] Compiling tiff v0.8.1 [INFO] [stderr] Compiling wayland-cursor v0.29.5 [INFO] [stderr] Compiling thiserror-impl v1.0.37 [INFO] [stderr] Compiling foreign-types-macros v0.2.2 [INFO] [stderr] Compiling pin-project-internal v1.0.12 [INFO] [stderr] Compiling phf_macros v0.11.1 [INFO] [stderr] Compiling nalgebra-macros v0.2.0 [INFO] [stderr] Compiling palette_derive v0.6.1 [INFO] [stderr] Compiling show-image-macros v0.12.3 [INFO] [stderr] Compiling phf v0.11.1 [INFO] [stderr] Compiling foreign-types v0.5.0 [INFO] [stderr] Compiling pin-project v1.0.12 [INFO] [stderr] Compiling flume v0.10.14 [INFO] [stderr] Compiling calloop v0.10.1 [INFO] [stderr] Compiling naga v0.9.0 [INFO] [stderr] Compiling exr v1.5.2 [INFO] [stderr] Compiling nalgebra v0.32.2 [INFO] [stderr] Compiling image v0.24.5 [INFO] [stderr] Compiling wgpu-hal v0.13.2 [INFO] [stderr] Compiling wgpu v0.13.1 [INFO] [stderr] Compiling sctk-adwaita v0.4.3 [INFO] [stderr] Compiling winit v0.27.4 [INFO] [stderr] Compiling krrust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ray_color` [INFO] [stdout] --> src/render_setup.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::render::{ray_color, get_pixel_chunks, render_chunk}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HitRecord` and `Hittable` [INFO] [stdout] --> src/render_setup.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Emits`, `Light`, and `Scatterable` [INFO] [stdout] --> src/render_setup.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::Ray` [INFO] [stdout] --> src/render_setup.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ray::Ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `INF`, `random_float`, and `random_range` [INFO] [stdout] --> src/render_setup.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utility::{random_float, random_range, INF}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::aabb::Aabb` [INFO] [stdout] --> src/render_setup.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::aabb::Aabb; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DynamicImage`, `Rgb32FImage`, `RgbImage`, and `Rgb` [INFO] [stdout] --> src/render_setup.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use image::{DynamicImage, ImageBuffer, Rgb, Rgba, RgbImage, RgbaImage, Rgb32FImage, Rgba32FImage}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Result` and `Value` [INFO] [stdout] --> src/render_setup.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | use serde_json::{Result, Value}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/render_setup.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env` [INFO] [stdout] --> src/render_setup.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | use std::{env, fs, thread}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> src/render_setup.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::drop` [INFO] [stdout] --> src/render_setup.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::mem::drop; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `INF` and `random_int` [INFO] [stdout] --> src/material.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utility::{random_float, random_int, clamp, INF}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HittableList` and `Hittable` [INFO] [stdout] --> src/material.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::onb::Onb` [INFO] [stdout] --> src/material.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::onb::Onb; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lights::QuadLight` [INFO] [stdout] --> src/material.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::lights::QuadLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vec2::Vec2` [INFO] [stdout] --> src/material.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::vec2::Vec2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/material.rs:406:45 [INFO] [stdout] | [INFO] [stdout] 406 | let ggx = f * g * d / f64::max((4.0 * ndv * ndl), 0.015); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 406 - let ggx = f * g * d / f64::max((4.0 * ndv * ndl), 0.015); [INFO] [stdout] 406 + let ggx = f * g * d / f64::max(4.0 * ndv * ndl, 0.015); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/material.rs:527:19 [INFO] [stdout] | [INFO] [stdout] 527 | let a2: f64 = (roughness * roughness); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 527 - let a2: f64 = (roughness * roughness); [INFO] [stdout] 527 + let a2: f64 = roughness * roughness; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/material.rs:528:18 [INFO] [stdout] | [INFO] [stdout] 528 | let d: f64 = ((ndh * a2 - ndh) * ndh + 1.0);//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 528 - let d: f64 = ((ndh * a2 - ndh) * ndh + 1.0);//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stdout] 528 + let d: f64 = (ndh * a2 - ndh) * ndh + 1.0;//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/material.rs:559:21 [INFO] [stdout] | [INFO] [stdout] 559 | let direction = (t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 559 - let direction = (t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta); [INFO] [stdout] 559 + let direction = t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hit::Hittable` [INFO] [stdout] --> src/sphere.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::hit::Hittable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::color::Color` [INFO] [stdout] --> src/tri.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::color::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::texture::TextureMap` [INFO] [stdout] --> src/tri.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::texture::TextureMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp` [INFO] [stdout] --> src/vec3.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{ops, cmp}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Matrix3` and `Vector3` [INFO] [stdout] --> src/vec3.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use nalgebra::{Matrix3, Vector3}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp` [INFO] [stdout] --> src/vec2.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops, cmp}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hit::Hittable` [INFO] [stdout] --> src/aabb.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::hit::Hittable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Light` and `Material` [INFO] [stdout] --> src/aabb.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::material::{Material, Light}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vec3::Vec3` [INFO] [stdout] --> src/bvh.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::vec3::Vec3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HittableList` [INFO] [stdout] --> src/bvh.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::hit::{Object, HittableList, Hittable, BoundingBox}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utility::random_int` [INFO] [stdout] --> src/bvh.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utility::random_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/bvh.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Material` and `Principle` [INFO] [stdout] --> src/bvh.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::material::{Material, Principle}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere::Sphere` [INFO] [stdout] --> src/bvh.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::sphere::Sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/bvh.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/color.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, `Rgb32FImage`, `RgbImage`, and `Rgb` [INFO] [stdout] --> src/buffers.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use image::{DynamicImage, ImageBuffer, Rgb, Rgba, RgbImage, Rgb32FImage, Rgba32FImage}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `RwLock` [INFO] [stdout] --> src/buffers.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bvh::Bvh` [INFO] [stdout] --> src/render.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::bvh::Bvh; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::aabb::Aabb` [INFO] [stdout] --> src/render.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::aabb::Aabb; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FrameBuffers` [INFO] [stdout] --> src/render.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::buffers::{Lobes, FrameBuffers}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ImageBuffer`, `Rgb32FImage`, `RgbImage`, `Rgb`, `Rgba32FImage`, `RgbaImage`, and `Rgba` [INFO] [stdout] --> src/render.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use image::{ImageBuffer, Rgb, Rgba, RgbImage, RgbaImage, Rgb32FImage, Rgba32FImage}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/render.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `fs`, and `thread` [INFO] [stdout] --> src/render.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | use std::{env, fs, thread}; [INFO] [stdout] | ^^^ ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> src/render.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HitRecord` and `HittableList` [INFO] [stdout] --> src/render.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Emits`, `Light`, and `Principle` [INFO] [stdout] --> src/render.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DynamicImage` and `Pixel` [INFO] [stdout] --> src/texture.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use image::{DynamicImage, GenericImageView, Pixel, ImageBuffer, Rgb}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rgbe8Pixel` [INFO] [stdout] --> src/texture.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use image::codecs::hdr::{HdrDecoder, Rgbe8Pixel}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinSrgb` [INFO] [stdout] --> src/texture.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use palette::{Srgb, LinSrgb}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vec3::Vec3` [INFO] [stdout] --> src/texture.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vec3::Vec3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mat3::Mat3` [INFO] [stdout] --> src/texture.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::mat3::Mat3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `random_float` [INFO] [stdout] --> src/lights.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utility::{random_float, INF}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> src/lights.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deg` [INFO] [stdout] --> src/lights.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use cgmath::{Deg, Angle}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rotation3` and `Vector3` [INFO] [stdout] --> src/lights.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use nalgebra::{Rotation3, Vector3}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Emits`, `Principle`, and `Scatterable` [INFO] [stdout] --> src/lights.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lights::QuadLight` [INFO] [stdout] --> src/pdf.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::lights::QuadLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> src/pdf.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/material.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 419 | return Some((scattered, attenuation, emission, "specular".to_string())) [INFO] [stdout] | ----------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 444 | None [INFO] [stdout] | ^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/render_setup.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GenericImageView` [INFO] [stdout] --> src/texture.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use image::{DynamicImage, GenericImageView, Pixel, ImageBuffer, Rgb}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Angle` [INFO] [stdout] --> src/lights.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | use cgmath::{Deg, Angle}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `data` is never read [INFO] [stdout] --> src/render_setup.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut data: serde_json::Value = serde_json::Value::Null; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `preview_output` [INFO] [stdout] --> src/render_setup.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let preview_output = "g:/krrusty_output_new.png"; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preview_output` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sky` [INFO] [stdout] --> src/render_setup.rs:459:17 [INFO] [stdout] | [INFO] [stdout] 459 | let sky = skydome_texture.clone(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sky` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/hit.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/hit.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/hit.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bool` [INFO] [stdout] --> src/hit.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | if let (bool, Some(hit)) = obj.hit(r, t_min, t_nearest) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bool` [INFO] [stdout] --> src/hit.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | if let (bool, Some(hit)) = obj.hit(r, t_min, t_nearest) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> src/material.rs:157:24 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn scatter_pdf(r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/material.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | if let Some(d) = &self.diffuse_texture { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dwt` [INFO] [stdout] --> src/material.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(dwt) = &self.diffuse_weight_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dwt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `st` [INFO] [stdout] --> src/material.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(st) = &self.specular_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_st` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `swt` [INFO] [stdout] --> src/material.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | if let Some(swt) = &self.specular_weight_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_swt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/material.rs:205:21 [INFO] [stdout] | [INFO] [stdout] 205 | if let Some(rt) = &self.roughness_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/material.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(mt) = &self.metallic_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rft` [INFO] [stdout] --> src/material.rs:221:21 [INFO] [stdout] | [INFO] [stdout] 221 | if let Some(rft) = &self.refraction_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rft` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `et` [INFO] [stdout] --> src/material.rs:229:21 [INFO] [stdout] | [INFO] [stdout] 229 | if let Some(et) = &self.emission_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_et` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bump` is assigned to, but never used [INFO] [stdout] --> src/material.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | let mut bump = 0.0; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_bump` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `et` [INFO] [stdout] --> src/material.rs:239:21 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(et) = &self.bump_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_et` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bump` is never read [INFO] [stdout] --> src/material.rs:240:13 [INFO] [stdout] | [INFO] [stdout] 240 | bump = self.bump_texture [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nm` [INFO] [stdout] --> src/material.rs:253:21 [INFO] [stdout] | [INFO] [stdout] 253 | if let Some(nm) = &self.normal_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_nm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `on_light` is never read [INFO] [stdout] --> src/material.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | let mut on_light = Vec3::zeros(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pdf_val` is assigned to, but never used [INFO] [stdout] --> src/material.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | let mut pdf_val = 0.0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_pdf_val` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:287:14 [INFO] [stdout] | [INFO] [stdout] 287 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pdf_val` is never read [INFO] [stdout] --> src/material.rs:306:25 [INFO] [stdout] | [INFO] [stdout] 306 | pdf_val = pdf / sum_pdf; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sin_theta` [INFO] [stdout] --> src/material.rs:335:17 [INFO] [stdout] | [INFO] [stdout] 335 | let sin_theta = (1.0 - cos_theta * cos_theta).sqrt(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sin_theta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `l` is never read [INFO] [stdout] --> src/material.rs:370:21 [INFO] [stdout] | [INFO] [stdout] 370 | let mut l = n; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `h` is never read [INFO] [stdout] --> src/material.rs:371:21 [INFO] [stdout] | [INFO] [stdout] 371 | let mut h = n; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/material.rs:330:13 [INFO] [stdout] | [INFO] [stdout] 330 | let mut specular_prob = specular_weight / (specular_weight + diffuse_weight); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rec` [INFO] [stdout] --> src/material.rs:468:35 [INFO] [stdout] | [INFO] [stdout] 468 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, lights: &Arc>) -> Option<(Ray, Color, Color, String)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lights` [INFO] [stdout] --> src/material.rs:468:52 [INFO] [stdout] | [INFO] [stdout] 468 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, lights: &Arc>) -> Option<(Ray, Color, Color, String)> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:488:10 [INFO] [stdout] | [INFO] [stdout] 488 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:499:10 [INFO] [stdout] | [INFO] [stdout] 499 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to_light` [INFO] [stdout] --> src/material.rs:521:13 [INFO] [stdout] | [INFO] [stdout] 521 | let to_light = on_light - point; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_light` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/material.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | let mut to_light = Vec3::zeros(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tri.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let mut normal: Vec3; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/tri.rs:86:32 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/tri.rs:86:44 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/aabb.rs:28:32 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/aabb.rs:28:44 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lbox` is never read [INFO] [stdout] --> src/bvh.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | let mut lbox = Aabb::empty(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rbox` is never read [INFO] [stdout] --> src/bvh.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | let mut rbox = Aabb::empty(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bbox` is never read [INFO] [stdout] --> src/bvh.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | let mut bbox = Aabb::empty(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `left` is never read [INFO] [stdout] --> src/bvh.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | let mut left = Arc::new(Object::empty()); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `right` is never read [INFO] [stdout] --> src/bvh.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut right = Arc::new(Object::empty()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/bvh.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/bvh.rs:111:44 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comparator` [INFO] [stdout] --> src/bvh.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let comparator = [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `diffuse_weight` is never read [INFO] [stdout] --> src/render.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | let mut diffuse_weight = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `specular_weight` is never read [INFO] [stdout] --> src/render.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | let mut specular_weight = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `roughness` is never read [INFO] [stdout] --> src/render.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | let mut roughness = 0.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dwt` [INFO] [stdout] --> src/render.rs:59:29 [INFO] [stdout] | [INFO] [stdout] 59 | if let Some(dwt) = &principle.diffuse_weight_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dwt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/render.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(rt) = &principle.specular_weight_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/render.rs:73:29 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(rt) = &principle.roughness_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gradient` [INFO] [stdout] --> src/render.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let gradient = Color::new(1.0, 1.0, 1.0, if hide_skydome {0.0} else {1.0}) * (1.0 - t) + gradient_color * t; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gradient` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/render.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | let mut sky_color = sky.sample(u as f32, v as f32); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample` [INFO] [stdout] --> src/render.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | sample: &u16, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/lights.rs:80:32 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/lights.rs:80:44 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit_rec` [INFO] [stdout] --> src/lights.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | if let (true, Some(hit_rec)) = world.hit(&ray, 0.001, INF) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `intensity` is assigned to, but never used [INFO] [stdout] --> src/pdf.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 63 | let mut intensity = 1.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_intensity` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `intensity` is never read [INFO] [stdout] --> src/pdf.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | intensity = quad_light.intensity; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `on_light` is never read [INFO] [stdout] --> src/pdf.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let mut on_light = Vec3::black(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `distance_squared` is assigned to, but never used [INFO] [stdout] --> src/pdf.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | let mut distance_squared = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_distance_squared` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `light_cosine` [INFO] [stdout] --> src/pdf.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | let mut light_cosine = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_cosine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf_val` [INFO] [stdout] --> src/pdf.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut pdf_val = 0.0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdf_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pdf.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | for (i, light) in self.lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pdf.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | for (i, light) in self.lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `distance_squared` is never read [INFO] [stdout] --> src/pdf.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | distance_squared = to_light.length_squared(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pdf.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut light_cosine = 0.0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pdf.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | let mut pdf_val = 0.0; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fov`, `aspect_ratio`, `aim`, and `focus` are never read [INFO] [stdout] --> src/camera.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Camera { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 6 | pub fov: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] 7 | pub aspect_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | pub aim: Vec3, [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | pub focus: Vec3, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Aabb` and `HittableList` are never constructed [INFO] [stdout] --> src/hit.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Object{ [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | Aabb(Aabb), [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | Bvh(Bvh), [INFO] [stdout] 22 | HittableList(HittableList), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pdf_value` and `random` are never used [INFO] [stdout] --> src/hit.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait Hittable { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `hit_world` is never used [INFO] [stdout] --> src/hit.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl HitRecord { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 93 | pub fn hit_world(world: &[Object], r: &Ray, t_min: f64, t_max: f64) -> (bool, Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_from_vec` is never used [INFO] [stdout] --> src/hit.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl HittableList { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn new_from_vec(obj_vec: Vec>) -> HittableList { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bump` is never read [INFO] [stdout] --> src/material.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct Principle { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 57 | pub bump: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Principle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `reflectance` is never used [INFO] [stdout] --> src/material.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl Principle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn reflectance(cosine: f64, ref_idx: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reflect` is never used [INFO] [stdout] --> src/material.rs:475:4 [INFO] [stdout] | [INFO] [stdout] 475 | fn reflect(i: &Vec3, n: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `specular_pdf` is never used [INFO] [stdout] --> src/material.rs:480:4 [INFO] [stdout] | [INFO] [stdout] 480 | fn specular_pdf(cos_theta: f64, refraction_ratio: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sample_lights` is never used [INFO] [stdout] --> src/material.rs:485:4 [INFO] [stdout] | [INFO] [stdout] 485 | fn sample_lights(lights: &Arc>, point: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `schlick_masking_alt` is never used [INFO] [stdout] --> src/material.rs:539:4 [INFO] [stdout] | [INFO] [stdout] 539 | fn schlick_masking_alt(ndl: f64, ndv: f64, roughness: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `area` is never read [INFO] [stdout] --> src/sphere.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Sphere { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub area: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Sphere` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_int` is never used [INFO] [stdout] --> src/utility.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn random_int(min: f64, max: f64) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/vec2.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Vec2 { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn length_sq(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn length(&self) -> f32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn normalize(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn dot(&self, other: &Vec2) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn add(&self, other: &Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sub(&self, other: &Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn scale(&self, s: f32) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `objects`, `time0`, and `time1` are never read [INFO] [stdout] --> src/bvh.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Bvh { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 18 | pub objects: Vec>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub time0: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | pub time1: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Bvh` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `gray` and `green` are never used [INFO] [stdout] --> src/color.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Color { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn gray() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn green() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `average_samples` is never used [INFO] [stdout] --> src/buffers.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl Lobes { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn average_samples(&self, sample: f64, average: f64, color: Lobes) -> Lobes { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `color`, `power`, `vertices`, and `normal` are never read [INFO] [stdout] --> src/lights.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct QuadLight { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 19 | pub color: Color, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | pub intensity: f64, [INFO] [stdout] 21 | pub power: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub tris: Vec, [INFO] [stdout] 23 | pub vertices: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub normal: Vec3, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuadLight` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `radius` is never used [INFO] [stdout] --> src/lights.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl QuadLight { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn radius(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `transpose` is never used [INFO] [stdout] --> src/mat3.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Mat3 { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn transpose(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | / window [INFO] [stdout] 96 | | .as_ref() [INFO] [stdout] 97 | | .expect("REASON") [INFO] [stdout] 98 | | .set_image("image-001", render_view); [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = window [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 111 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:529:9 [INFO] [stdout] | [INFO] [stdout] 529 | / window [INFO] [stdout] 530 | | .as_ref() [INFO] [stdout] 531 | | .expect("REASON") [INFO] [stdout] 532 | | .set_image("image-001", render_view); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 529 | let _ = window [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 533 | preview.save(&output_file); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = preview.save(&output_file); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 26s [INFO] running `Command { std: "docker" "inspect" "04f2d5aa718dfb0389fe8e05c21e977c71e8e12d43537d5530e4d7c8a806a3dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04f2d5aa718dfb0389fe8e05c21e977c71e8e12d43537d5530e4d7c8a806a3dc", kill_on_drop: false }` [INFO] [stdout] 04f2d5aa718dfb0389fe8e05c21e977c71e8e12d43537d5530e4d7c8a806a3dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9fe98a62e26c18548861d9d94f2f52da3f27ab6647701a89ecc8d00d89d84470 [INFO] running `Command { std: "docker" "start" "-a" "9fe98a62e26c18548861d9d94f2f52da3f27ab6647701a89ecc8d00d89d84470", kill_on_drop: false }` [INFO] [stderr] Compiling krrust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ray_color` [INFO] [stdout] --> src/render_setup.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::render::{ray_color, get_pixel_chunks, render_chunk}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HitRecord` and `Hittable` [INFO] [stdout] --> src/render_setup.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Emits`, `Light`, and `Scatterable` [INFO] [stdout] --> src/render_setup.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ray::Ray` [INFO] [stdout] --> src/render_setup.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ray::Ray; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `INF`, `random_float`, and `random_range` [INFO] [stdout] --> src/render_setup.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utility::{random_float, random_range, INF}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::aabb::Aabb` [INFO] [stdout] --> src/render_setup.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::aabb::Aabb; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DynamicImage`, `Rgb32FImage`, `RgbImage`, and `Rgb` [INFO] [stdout] --> src/render_setup.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | use image::{DynamicImage, ImageBuffer, Rgb, Rgba, RgbImage, RgbaImage, Rgb32FImage, Rgba32FImage}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Result` and `Value` [INFO] [stdout] --> src/render_setup.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | use serde_json::{Result, Value}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/render_setup.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env` [INFO] [stdout] --> src/render_setup.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | use std::{env, fs, thread}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> src/render_setup.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::drop` [INFO] [stdout] --> src/render_setup.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::mem::drop; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `INF` and `random_int` [INFO] [stdout] --> src/material.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utility::{random_float, random_int, clamp, INF}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HittableList` and `Hittable` [INFO] [stdout] --> src/material.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::onb::Onb` [INFO] [stdout] --> src/material.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::onb::Onb; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lights::QuadLight` [INFO] [stdout] --> src/material.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::lights::QuadLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vec2::Vec2` [INFO] [stdout] --> src/material.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::vec2::Vec2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/material.rs:406:45 [INFO] [stdout] | [INFO] [stdout] 406 | let ggx = f * g * d / f64::max((4.0 * ndv * ndl), 0.015); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 406 - let ggx = f * g * d / f64::max((4.0 * ndv * ndl), 0.015); [INFO] [stdout] 406 + let ggx = f * g * d / f64::max(4.0 * ndv * ndl, 0.015); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/material.rs:527:19 [INFO] [stdout] | [INFO] [stdout] 527 | let a2: f64 = (roughness * roughness); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 527 - let a2: f64 = (roughness * roughness); [INFO] [stdout] 527 + let a2: f64 = roughness * roughness; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/material.rs:528:18 [INFO] [stdout] | [INFO] [stdout] 528 | let d: f64 = ((ndh * a2 - ndh) * ndh + 1.0);//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 528 - let d: f64 = ((ndh * a2 - ndh) * ndh + 1.0);//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stdout] 528 + let d: f64 = (ndh * a2 - ndh) * ndh + 1.0;//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/material.rs:559:21 [INFO] [stdout] | [INFO] [stdout] 559 | let direction = (t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 559 - let direction = (t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta); [INFO] [stdout] 559 + let direction = t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hit::Hittable` [INFO] [stdout] --> src/sphere.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::hit::Hittable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::color::Color` [INFO] [stdout] --> src/tri.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::color::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::texture::TextureMap` [INFO] [stdout] --> src/tri.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::texture::TextureMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp` [INFO] [stdout] --> src/vec3.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{ops, cmp}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Matrix3` and `Vector3` [INFO] [stdout] --> src/vec3.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use nalgebra::{Matrix3, Vector3}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp` [INFO] [stdout] --> src/vec2.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops, cmp}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hit::Hittable` [INFO] [stdout] --> src/aabb.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::hit::Hittable; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Light` and `Material` [INFO] [stdout] --> src/aabb.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::material::{Material, Light}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vec3::Vec3` [INFO] [stdout] --> src/bvh.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::vec3::Vec3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HittableList` [INFO] [stdout] --> src/bvh.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::hit::{Object, HittableList, Hittable, BoundingBox}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utility::random_int` [INFO] [stdout] --> src/bvh.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utility::random_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/bvh.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Material` and `Principle` [INFO] [stdout] --> src/bvh.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::material::{Material, Principle}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sphere::Sphere` [INFO] [stdout] --> src/bvh.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::sphere::Sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/bvh.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Ordering` [INFO] [stdout] --> src/color.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, `Rgb32FImage`, `RgbImage`, and `Rgb` [INFO] [stdout] --> src/buffers.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use image::{DynamicImage, ImageBuffer, Rgb, Rgba, RgbImage, Rgb32FImage, Rgba32FImage}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `RwLock` [INFO] [stdout] --> src/buffers.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::bvh::Bvh` [INFO] [stdout] --> src/render.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::bvh::Bvh; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::aabb::Aabb` [INFO] [stdout] --> src/render.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::aabb::Aabb; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FrameBuffers` [INFO] [stdout] --> src/render.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::buffers::{Lobes, FrameBuffers}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ImageBuffer`, `Rgb32FImage`, `RgbImage`, `Rgb`, `Rgba32FImage`, `RgbaImage`, and `Rgba` [INFO] [stdout] --> src/render.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use image::{ImageBuffer, Rgb, Rgba, RgbImage, RgbaImage, Rgb32FImage, Rgba32FImage}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/render.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env`, `fs`, and `thread` [INFO] [stdout] --> src/render.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | use std::{env, fs, thread}; [INFO] [stdout] | ^^^ ^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> src/render.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HitRecord` and `HittableList` [INFO] [stdout] --> src/render.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Emits`, `Light`, and `Principle` [INFO] [stdout] --> src/render.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DynamicImage` and `Pixel` [INFO] [stdout] --> src/texture.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use image::{DynamicImage, GenericImageView, Pixel, ImageBuffer, Rgb}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rgbe8Pixel` [INFO] [stdout] --> src/texture.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use image::codecs::hdr::{HdrDecoder, Rgbe8Pixel}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinSrgb` [INFO] [stdout] --> src/texture.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use palette::{Srgb, LinSrgb}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vec3::Vec3` [INFO] [stdout] --> src/texture.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::vec3::Vec3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mat3::Mat3` [INFO] [stdout] --> src/texture.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::mat3::Mat3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `random_float` [INFO] [stdout] --> src/lights.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::utility::{random_float, INF}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> src/lights.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deg` [INFO] [stdout] --> src/lights.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use cgmath::{Deg, Angle}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rotation3` and `Vector3` [INFO] [stdout] --> src/lights.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use nalgebra::{Rotation3, Vector3}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Emits`, `Principle`, and `Scatterable` [INFO] [stdout] --> src/lights.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lights::QuadLight` [INFO] [stdout] --> src/pdf.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::lights::QuadLight; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `RwLock` [INFO] [stdout] --> src/pdf.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/material.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 419 | return Some((scattered, attenuation, emission, "specular".to_string())) [INFO] [stdout] | ----------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 444 | None [INFO] [stdout] | ^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rayon::prelude` [INFO] [stdout] --> src/render_setup.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GenericImageView` [INFO] [stdout] --> src/texture.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use image::{DynamicImage, GenericImageView, Pixel, ImageBuffer, Rgb}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Angle` [INFO] [stdout] --> src/lights.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | use cgmath::{Deg, Angle}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `data` is never read [INFO] [stdout] --> src/render_setup.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut data: serde_json::Value = serde_json::Value::Null; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `preview_output` [INFO] [stdout] --> src/render_setup.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let preview_output = "g:/krrusty_output_new.png"; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preview_output` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sky` [INFO] [stdout] --> src/render_setup.rs:459:17 [INFO] [stdout] | [INFO] [stdout] 459 | let sky = skydome_texture.clone(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sky` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/hit.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/hit.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/hit.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bool` [INFO] [stdout] --> src/hit.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | if let (bool, Some(hit)) = obj.hit(r, t_min, t_nearest) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bool` [INFO] [stdout] --> src/hit.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | if let (bool, Some(hit)) = obj.hit(r, t_min, t_nearest) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_in` [INFO] [stdout] --> src/material.rs:157:24 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn scatter_pdf(r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/material.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | if let Some(d) = &self.diffuse_texture { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dwt` [INFO] [stdout] --> src/material.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(dwt) = &self.diffuse_weight_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dwt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `st` [INFO] [stdout] --> src/material.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(st) = &self.specular_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_st` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `swt` [INFO] [stdout] --> src/material.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | if let Some(swt) = &self.specular_weight_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_swt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/material.rs:205:21 [INFO] [stdout] | [INFO] [stdout] 205 | if let Some(rt) = &self.roughness_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/material.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(mt) = &self.metallic_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rft` [INFO] [stdout] --> src/material.rs:221:21 [INFO] [stdout] | [INFO] [stdout] 221 | if let Some(rft) = &self.refraction_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rft` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `et` [INFO] [stdout] --> src/material.rs:229:21 [INFO] [stdout] | [INFO] [stdout] 229 | if let Some(et) = &self.emission_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_et` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bump` is assigned to, but never used [INFO] [stdout] --> src/material.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | let mut bump = 0.0; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_bump` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `et` [INFO] [stdout] --> src/material.rs:239:21 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(et) = &self.bump_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_et` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bump` is never read [INFO] [stdout] --> src/material.rs:240:13 [INFO] [stdout] | [INFO] [stdout] 240 | bump = self.bump_texture [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nm` [INFO] [stdout] --> src/material.rs:253:21 [INFO] [stdout] | [INFO] [stdout] 253 | if let Some(nm) = &self.normal_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_nm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `on_light` is never read [INFO] [stdout] --> src/material.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | let mut on_light = Vec3::zeros(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pdf_val` is assigned to, but never used [INFO] [stdout] --> src/material.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | let mut pdf_val = 0.0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_pdf_val` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:287:14 [INFO] [stdout] | [INFO] [stdout] 287 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pdf_val` is never read [INFO] [stdout] --> src/material.rs:306:25 [INFO] [stdout] | [INFO] [stdout] 306 | pdf_val = pdf / sum_pdf; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sin_theta` [INFO] [stdout] --> src/material.rs:335:17 [INFO] [stdout] | [INFO] [stdout] 335 | let sin_theta = (1.0 - cos_theta * cos_theta).sqrt(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sin_theta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `l` is never read [INFO] [stdout] --> src/material.rs:370:21 [INFO] [stdout] | [INFO] [stdout] 370 | let mut l = n; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `h` is never read [INFO] [stdout] --> src/material.rs:371:21 [INFO] [stdout] | [INFO] [stdout] 371 | let mut h = n; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/material.rs:330:13 [INFO] [stdout] | [INFO] [stdout] 330 | let mut specular_prob = specular_weight / (specular_weight + diffuse_weight); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rec` [INFO] [stdout] --> src/material.rs:468:35 [INFO] [stdout] | [INFO] [stdout] 468 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, lights: &Arc>) -> Option<(Ray, Color, Color, String)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lights` [INFO] [stdout] --> src/material.rs:468:52 [INFO] [stdout] | [INFO] [stdout] 468 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, lights: &Arc>) -> Option<(Ray, Color, Color, String)> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:488:10 [INFO] [stdout] | [INFO] [stdout] 488 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/material.rs:499:10 [INFO] [stdout] | [INFO] [stdout] 499 | for (i, light) in lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to_light` [INFO] [stdout] --> src/material.rs:521:13 [INFO] [stdout] | [INFO] [stdout] 521 | let to_light = on_light - point; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_light` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/material.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | let mut to_light = Vec3::zeros(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tri.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let mut normal: Vec3; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/tri.rs:86:32 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/tri.rs:86:44 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/aabb.rs:28:32 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/aabb.rs:28:44 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lbox` is never read [INFO] [stdout] --> src/bvh.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | let mut lbox = Aabb::empty(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rbox` is never read [INFO] [stdout] --> src/bvh.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | let mut rbox = Aabb::empty(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bbox` is never read [INFO] [stdout] --> src/bvh.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | let mut bbox = Aabb::empty(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `left` is never read [INFO] [stdout] --> src/bvh.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | let mut left = Arc::new(Object::empty()); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `right` is never read [INFO] [stdout] --> src/bvh.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut right = Arc::new(Object::empty()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/bvh.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/bvh.rs:111:44 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comparator` [INFO] [stdout] --> src/bvh.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let comparator = [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `diffuse_weight` is never read [INFO] [stdout] --> src/render.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | let mut diffuse_weight = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `specular_weight` is never read [INFO] [stdout] --> src/render.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | let mut specular_weight = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `roughness` is never read [INFO] [stdout] --> src/render.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | let mut roughness = 0.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dwt` [INFO] [stdout] --> src/render.rs:59:29 [INFO] [stdout] | [INFO] [stdout] 59 | if let Some(dwt) = &principle.diffuse_weight_texture { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dwt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/render.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(rt) = &principle.specular_weight_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/render.rs:73:29 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(rt) = &principle.roughness_texture { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gradient` [INFO] [stdout] --> src/render.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | let gradient = Color::new(1.0, 1.0, 1.0, if hide_skydome {0.0} else {1.0}) * (1.0 - t) + gradient_color * t; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gradient` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/render.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | let mut sky_color = sky.sample(u as f32, v as f32); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample` [INFO] [stdout] --> src/render.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | sample: &u16, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/lights.rs:80:32 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/lights.rs:80:44 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit_rec` [INFO] [stdout] --> src/lights.rs:137:28 [INFO] [stdout] | [INFO] [stdout] 137 | if let (true, Some(hit_rec)) = world.hit(&ray, 0.001, INF) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_rec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `intensity` is assigned to, but never used [INFO] [stdout] --> src/pdf.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 63 | let mut intensity = 1.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_intensity` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `intensity` is never read [INFO] [stdout] --> src/pdf.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | intensity = quad_light.intensity; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `on_light` is never read [INFO] [stdout] --> src/pdf.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let mut on_light = Vec3::black(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `distance_squared` is assigned to, but never used [INFO] [stdout] --> src/pdf.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | let mut distance_squared = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_distance_squared` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `light_cosine` [INFO] [stdout] --> src/pdf.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | let mut light_cosine = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_cosine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdf_val` [INFO] [stdout] --> src/pdf.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut pdf_val = 0.0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdf_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pdf.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | for (i, light) in self.lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/pdf.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | for (i, light) in self.lights.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `distance_squared` is never read [INFO] [stdout] --> src/pdf.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | distance_squared = to_light.length_squared(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pdf.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut light_cosine = 0.0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/pdf.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | let mut pdf_val = 0.0; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fov`, `aspect_ratio`, `aim`, and `focus` are never read [INFO] [stdout] --> src/camera.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Camera { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 6 | pub fov: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] 7 | pub aspect_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | pub aim: Vec3, [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | pub focus: Vec3, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Aabb` and `HittableList` are never constructed [INFO] [stdout] --> src/hit.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Object{ [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | Aabb(Aabb), [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | Bvh(Bvh), [INFO] [stdout] 22 | HittableList(HittableList), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pdf_value` and `random` are never used [INFO] [stdout] --> src/hit.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait Hittable { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `hit_world` is never used [INFO] [stdout] --> src/hit.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl HitRecord { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 93 | pub fn hit_world(world: &[Object], r: &Ray, t_min: f64, t_max: f64) -> (bool, Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_from_vec` is never used [INFO] [stdout] --> src/hit.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl HittableList { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn new_from_vec(obj_vec: Vec>) -> HittableList { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bump` is never read [INFO] [stdout] --> src/material.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct Principle { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 57 | pub bump: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Principle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `reflectance` is never used [INFO] [stdout] --> src/material.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl Principle { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn reflectance(cosine: f64, ref_idx: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reflect` is never used [INFO] [stdout] --> src/material.rs:475:4 [INFO] [stdout] | [INFO] [stdout] 475 | fn reflect(i: &Vec3, n: &Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `specular_pdf` is never used [INFO] [stdout] --> src/material.rs:480:4 [INFO] [stdout] | [INFO] [stdout] 480 | fn specular_pdf(cos_theta: f64, refraction_ratio: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sample_lights` is never used [INFO] [stdout] --> src/material.rs:485:4 [INFO] [stdout] | [INFO] [stdout] 485 | fn sample_lights(lights: &Arc>, point: Vec3) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `schlick_masking_alt` is never used [INFO] [stdout] --> src/material.rs:539:4 [INFO] [stdout] | [INFO] [stdout] 539 | fn schlick_masking_alt(ndl: f64, ndv: f64, roughness: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `area` is never read [INFO] [stdout] --> src/sphere.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Sphere { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub area: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Sphere` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_int` is never used [INFO] [stdout] --> src/utility.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn random_int(min: f64, max: f64) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/vec2.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Vec2 { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn length_sq(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn length(&self) -> f32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn normalize(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn dot(&self, other: &Vec2) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn add(&self, other: &Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sub(&self, other: &Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn scale(&self, s: f32) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `objects`, `time0`, and `time1` are never read [INFO] [stdout] --> src/bvh.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Bvh { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 18 | pub objects: Vec>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub time0: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | pub time1: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Bvh` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `gray` and `green` are never used [INFO] [stdout] --> src/color.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Color { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn gray() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn green() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `average_samples` is never used [INFO] [stdout] --> src/buffers.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl Lobes { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn average_samples(&self, sample: f64, average: f64, color: Lobes) -> Lobes { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `color`, `power`, `vertices`, and `normal` are never read [INFO] [stdout] --> src/lights.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct QuadLight { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 19 | pub color: Color, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | pub intensity: f64, [INFO] [stdout] 21 | pub power: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | pub tris: Vec, [INFO] [stdout] 23 | pub vertices: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub normal: Vec3, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QuadLight` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `radius` is never used [INFO] [stdout] --> src/lights.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl QuadLight { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn radius(&self) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `transpose` is never used [INFO] [stdout] --> src/mat3.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Mat3 { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn transpose(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | / window [INFO] [stdout] 96 | | .as_ref() [INFO] [stdout] 97 | | .expect("REASON") [INFO] [stdout] 98 | | .set_image("image-001", render_view); [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = window [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 111 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:529:9 [INFO] [stdout] | [INFO] [stdout] 529 | / window [INFO] [stdout] 530 | | .as_ref() [INFO] [stdout] 531 | | .expect("REASON") [INFO] [stdout] 532 | | .set_image("image-001", render_view); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 529 | let _ = window [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render_setup.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 533 | preview.save(&output_file); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = preview.save(&output_file); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.25s [INFO] running `Command { std: "docker" "inspect" "9fe98a62e26c18548861d9d94f2f52da3f27ab6647701a89ecc8d00d89d84470", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fe98a62e26c18548861d9d94f2f52da3f27ab6647701a89ecc8d00d89d84470", kill_on_drop: false }` [INFO] [stdout] 9fe98a62e26c18548861d9d94f2f52da3f27ab6647701a89ecc8d00d89d84470 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5bc9cc6d1963cf61c911c987bbf2cb3757cbbcf4f5c26a641911acc095a2f9ce [INFO] running `Command { std: "docker" "start" "-a" "5bc9cc6d1963cf61c911c987bbf2cb3757cbbcf4f5c26a641911acc095a2f9ce", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `ray_color` [INFO] [stderr] --> src/render_setup.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::render::{ray_color, get_pixel_chunks, render_chunk}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HitRecord` and `Hittable` [INFO] [stderr] --> src/render_setup.rs:5:18 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Emits`, `Light`, and `Scatterable` [INFO] [stderr] --> src/render_setup.rs:6:23 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ray::Ray` [INFO] [stderr] --> src/render_setup.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::ray::Ray; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `INF`, `random_float`, and `random_range` [INFO] [stderr] --> src/render_setup.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::utility::{random_float, random_range, INF}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::aabb::Aabb` [INFO] [stderr] --> src/render_setup.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::aabb::Aabb; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DynamicImage`, `Rgb32FImage`, `RgbImage`, and `Rgb` [INFO] [stderr] --> src/render_setup.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | use image::{DynamicImage, ImageBuffer, Rgb, Rgba, RgbImage, RgbaImage, Rgb32FImage, Rgba32FImage}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Result` and `Value` [INFO] [stderr] --> src/render_setup.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | use serde_json::{Result, Value}; [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/render_setup.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `env` [INFO] [stderr] --> src/render_setup.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | use std::{env, fs, thread}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mutex` and `RwLock` [INFO] [stderr] --> src/render_setup.rs:24:22 [INFO] [stderr] | [INFO] [stderr] 24 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem::drop` [INFO] [stderr] --> src/render_setup.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use std::mem::drop; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `INF` and `random_int` [INFO] [stderr] --> src/material.rs:2:36 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::utility::{random_float, random_int, clamp, INF}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HittableList` and `Hittable` [INFO] [stderr] --> src/material.rs:7:29 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::onb::Onb` [INFO] [stderr] --> src/material.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::onb::Onb; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::lights::QuadLight` [INFO] [stderr] --> src/material.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::lights::QuadLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::vec2::Vec2` [INFO] [stderr] --> src/material.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::vec2::Vec2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/material.rs:406:45 [INFO] [stderr] | [INFO] [stderr] 406 | let ggx = f * g * d / f64::max((4.0 * ndv * ndl), 0.015); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 406 - let ggx = f * g * d / f64::max((4.0 * ndv * ndl), 0.015); [INFO] [stderr] 406 + let ggx = f * g * d / f64::max(4.0 * ndv * ndl, 0.015); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/material.rs:527:19 [INFO] [stderr] | [INFO] [stderr] 527 | let a2: f64 = (roughness * roughness); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 527 - let a2: f64 = (roughness * roughness); [INFO] [stderr] 527 + let a2: f64 = roughness * roughness; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/material.rs:528:18 [INFO] [stderr] | [INFO] [stderr] 528 | let d: f64 = ((ndh * a2 - ndh) * ndh + 1.0);//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 528 - let d: f64 = ((ndh * a2 - ndh) * ndh + 1.0);//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stderr] 528 + let d: f64 = (ndh * a2 - ndh) * ndh + 1.0;//ndh * ndh * (a2 -1.0 ) + 1.0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/material.rs:559:21 [INFO] [stderr] | [INFO] [stderr] 559 | let direction = (t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 559 - let direction = (t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta); [INFO] [stderr] 559 + let direction = t * (sin_theta * phi.cos()) + b * (sin_theta * phi.sin()) + normal * cos_theta; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::hit::Hittable` [INFO] [stderr] --> src/sphere.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::hit::Hittable; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::color::Color` [INFO] [stderr] --> src/tri.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::color::Color; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::texture::TextureMap` [INFO] [stderr] --> src/tri.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::texture::TextureMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cmp` [INFO] [stderr] --> src/vec3.rs:3:16 [INFO] [stderr] | [INFO] [stderr] 3 | use std::{ops, cmp}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Matrix3` and `Vector3` [INFO] [stderr] --> src/vec3.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use nalgebra::{Matrix3, Vector3}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cmp` [INFO] [stderr] --> src/vec2.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{ops, cmp}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::hit::Hittable` [INFO] [stderr] --> src/aabb.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::hit::Hittable; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Light` and `Material` [INFO] [stderr] --> src/aabb.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::material::{Material, Light}; [INFO] [stderr] | ^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::vec3::Vec3` [INFO] [stderr] --> src/bvh.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::vec3::Vec3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HittableList` [INFO] [stderr] --> src/bvh.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::hit::{Object, HittableList, Hittable, BoundingBox}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::utility::random_int` [INFO] [stderr] --> src/bvh.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::utility::random_int; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem` [INFO] [stderr] --> src/bvh.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::mem; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Material` and `Principle` [INFO] [stderr] --> src/bvh.rs:9:23 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::material::{Material, Principle}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::sphere::Sphere` [INFO] [stderr] --> src/bvh.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::sphere::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/bvh.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::Ordering` [INFO] [stderr] --> src/color.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cmp::Ordering; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DynamicImage`, `ImageBuffer`, `Rgb32FImage`, `RgbImage`, and `Rgb` [INFO] [stderr] --> src/buffers.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use image::{DynamicImage, ImageBuffer, Rgb, Rgba, RgbImage, Rgb32FImage, Rgba32FImage}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex`, and `RwLock` [INFO] [stderr] --> src/buffers.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stderr] | ^^^ ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::bvh::Bvh` [INFO] [stderr] --> src/render.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::bvh::Bvh; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::aabb::Aabb` [INFO] [stderr] --> src/render.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::aabb::Aabb; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FrameBuffers` [INFO] [stderr] --> src/render.rs:7:29 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::buffers::{Lobes, FrameBuffers}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ImageBuffer`, `Rgb32FImage`, `RgbImage`, `Rgb`, `Rgba32FImage`, `RgbaImage`, and `Rgba` [INFO] [stderr] --> src/render.rs:8:13 [INFO] [stderr] | [INFO] [stderr] 8 | use image::{ImageBuffer, Rgb, Rgba, RgbImage, RgbaImage, Rgb32FImage, Rgba32FImage}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/render.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `env`, `fs`, and `thread` [INFO] [stderr] --> src/render.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | use std::{env, fs, thread}; [INFO] [stderr] | ^^^ ^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mutex` and `RwLock` [INFO] [stderr] --> src/render.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HitRecord` and `HittableList` [INFO] [stderr] --> src/render.rs:13:18 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::hit::{HitRecord, HittableList, Object, Hittable}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Emits`, `Light`, and `Principle` [INFO] [stderr] --> src/render.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DynamicImage` and `Pixel` [INFO] [stderr] --> src/texture.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use image::{DynamicImage, GenericImageView, Pixel, ImageBuffer, Rgb}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Rgbe8Pixel` [INFO] [stderr] --> src/texture.rs:2:38 [INFO] [stderr] | [INFO] [stderr] 2 | use image::codecs::hdr::{HdrDecoder, Rgbe8Pixel}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `LinSrgb` [INFO] [stderr] --> src/texture.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | use palette::{Srgb, LinSrgb}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::vec3::Vec3` [INFO] [stderr] --> src/texture.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::vec3::Vec3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mat3::Mat3` [INFO] [stderr] --> src/texture.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::mat3::Mat3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `random_float` [INFO] [stderr] --> src/lights.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::utility::{random_float, INF}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/lights.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Deg` [INFO] [stderr] --> src/lights.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | use cgmath::{Deg, Angle}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rotation3` and `Vector3` [INFO] [stderr] --> src/lights.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use nalgebra::{Rotation3, Vector3}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Emits`, `Principle`, and `Scatterable` [INFO] [stderr] --> src/lights.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::material::{Emits, Light, Material, Principle, Scatterable}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::lights::QuadLight` [INFO] [stderr] --> src/pdf.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::lights::QuadLight; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Mutex` and `RwLock` [INFO] [stderr] --> src/pdf.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/material.rs:444:9 [INFO] [stderr] | [INFO] [stderr] 419 | return Some((scattered, attenuation, emission, "specular".to_string())) [INFO] [stderr] | ----------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 444 | None [INFO] [stderr] | ^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rayon::prelude` [INFO] [stderr] --> src/render_setup.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | use rayon::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GenericImageView` [INFO] [stderr] --> src/texture.rs:1:27 [INFO] [stderr] | [INFO] [stderr] 1 | use image::{DynamicImage, GenericImageView, Pixel, ImageBuffer, Rgb}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Angle` [INFO] [stderr] --> src/lights.rs:8:19 [INFO] [stderr] | [INFO] [stderr] 8 | use cgmath::{Deg, Angle}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `data` is never read [INFO] [stderr] --> src/render_setup.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let mut data: serde_json::Value = serde_json::Value::Null; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `preview_output` [INFO] [stderr] --> src/render_setup.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | let preview_output = "g:/krrusty_output_new.png"; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preview_output` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sky` [INFO] [stderr] --> src/render_setup.rs:459:17 [INFO] [stderr] | [INFO] [stderr] 459 | let sky = skydome_texture.clone(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_sky` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/hit.rs:35:25 [INFO] [stderr] | [INFO] [stderr] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/hit.rs:35:35 [INFO] [stderr] | [INFO] [stderr] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `o` [INFO] [stderr] --> src/hit.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 39 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bool` [INFO] [stderr] --> src/hit.rs:97:21 [INFO] [stderr] | [INFO] [stderr] 97 | if let (bool, Some(hit)) = obj.hit(r, t_min, t_nearest) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bool` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bool` [INFO] [stderr] --> src/hit.rs:120:21 [INFO] [stderr] | [INFO] [stderr] 120 | if let (bool, Some(hit)) = obj.hit(r, t_min, t_nearest) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_bool` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r_in` [INFO] [stderr] --> src/material.rs:157:24 [INFO] [stderr] | [INFO] [stderr] 157 | pub fn scatter_pdf(r_in: &Ray, rec: &HitRecord, scattered: &Ray) -> f64 { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `d` [INFO] [stderr] --> src/material.rs:173:21 [INFO] [stderr] | [INFO] [stderr] 173 | if let Some(d) = &self.diffuse_texture { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dwt` [INFO] [stderr] --> src/material.rs:181:21 [INFO] [stderr] | [INFO] [stderr] 181 | if let Some(dwt) = &self.diffuse_weight_texture { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_dwt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `st` [INFO] [stderr] --> src/material.rs:189:21 [INFO] [stderr] | [INFO] [stderr] 189 | if let Some(st) = &self.specular_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_st` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `swt` [INFO] [stderr] --> src/material.rs:197:21 [INFO] [stderr] | [INFO] [stderr] 197 | if let Some(swt) = &self.specular_weight_texture { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_swt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rt` [INFO] [stderr] --> src/material.rs:205:21 [INFO] [stderr] | [INFO] [stderr] 205 | if let Some(rt) = &self.roughness_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mt` [INFO] [stderr] --> src/material.rs:213:21 [INFO] [stderr] | [INFO] [stderr] 213 | if let Some(mt) = &self.metallic_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rft` [INFO] [stderr] --> src/material.rs:221:21 [INFO] [stderr] | [INFO] [stderr] 221 | if let Some(rft) = &self.refraction_texture { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rft` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `et` [INFO] [stderr] --> src/material.rs:229:21 [INFO] [stderr] | [INFO] [stderr] 229 | if let Some(et) = &self.emission_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_et` [INFO] [stderr] [INFO] [stderr] warning: variable `bump` is assigned to, but never used [INFO] [stderr] --> src/material.rs:236:17 [INFO] [stderr] | [INFO] [stderr] 236 | let mut bump = 0.0; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_bump` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `et` [INFO] [stderr] --> src/material.rs:239:21 [INFO] [stderr] | [INFO] [stderr] 239 | if let Some(et) = &self.bump_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_et` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bump` is never read [INFO] [stderr] --> src/material.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | bump = self.bump_texture [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nm` [INFO] [stderr] --> src/material.rs:253:21 [INFO] [stderr] | [INFO] [stderr] 253 | if let Some(nm) = &self.normal_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_nm` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `on_light` is never read [INFO] [stderr] --> src/material.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | let mut on_light = Vec3::zeros(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `pdf_val` is assigned to, but never used [INFO] [stderr] --> src/material.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | let mut pdf_val = 0.0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_pdf_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/material.rs:287:14 [INFO] [stderr] | [INFO] [stderr] 287 | for (i, light) in lights.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/material.rs:299:14 [INFO] [stderr] | [INFO] [stderr] 299 | for (i, light) in lights.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pdf_val` is never read [INFO] [stderr] --> src/material.rs:306:25 [INFO] [stderr] | [INFO] [stderr] 306 | pdf_val = pdf / sum_pdf; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sin_theta` [INFO] [stderr] --> src/material.rs:335:17 [INFO] [stderr] | [INFO] [stderr] 335 | let sin_theta = (1.0 - cos_theta * cos_theta).sqrt(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sin_theta` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `l` is never read [INFO] [stderr] --> src/material.rs:370:21 [INFO] [stderr] | [INFO] [stderr] 370 | let mut l = n; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `h` is never read [INFO] [stderr] --> src/material.rs:371:21 [INFO] [stderr] | [INFO] [stderr] 371 | let mut h = n; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/material.rs:330:13 [INFO] [stderr] | [INFO] [stderr] 330 | let mut specular_prob = specular_weight / (specular_weight + diffuse_weight); [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: unused variable: `rec` [INFO] [stderr] --> src/material.rs:468:35 [INFO] [stderr] | [INFO] [stderr] 468 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, lights: &Arc>) -> Option<(Ray, Color, Color, String)> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_rec` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lights` [INFO] [stderr] --> src/material.rs:468:52 [INFO] [stderr] | [INFO] [stderr] 468 | fn scatter(&self, r_in: &Ray, rec: &HitRecord, lights: &Arc>) -> Option<(Ray, Color, Color, String)> { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lights` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/material.rs:488:10 [INFO] [stderr] | [INFO] [stderr] 488 | for (i, light) in lights.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/material.rs:499:10 [INFO] [stderr] | [INFO] [stderr] 499 | for (i, light) in lights.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to_light` [INFO] [stderr] --> src/material.rs:521:13 [INFO] [stderr] | [INFO] [stderr] 521 | let to_light = on_light - point; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_light` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/material.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | let mut to_light = Vec3::zeros(); [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/tri.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | let mut normal: Vec3; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time0` [INFO] [stderr] --> src/tri.rs:86:32 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time1` [INFO] [stderr] --> src/tri.rs:86:44 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time0` [INFO] [stderr] --> src/aabb.rs:28:32 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time1` [INFO] [stderr] --> src/aabb.rs:28:44 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `lbox` is never read [INFO] [stderr] --> src/bvh.rs:28:17 [INFO] [stderr] | [INFO] [stderr] 28 | let mut lbox = Aabb::empty(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `rbox` is never read [INFO] [stderr] --> src/bvh.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | let mut rbox = Aabb::empty(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bbox` is never read [INFO] [stderr] --> src/bvh.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | let mut bbox = Aabb::empty(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `left` is never read [INFO] [stderr] --> src/bvh.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | let mut left = Arc::new(Object::empty()); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `right` is never read [INFO] [stderr] --> src/bvh.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | let mut right = Arc::new(Object::empty()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time0` [INFO] [stderr] --> src/bvh.rs:111:32 [INFO] [stderr] | [INFO] [stderr] 111 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time1` [INFO] [stderr] --> src/bvh.rs:111:44 [INFO] [stderr] | [INFO] [stderr] 111 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comparator` [INFO] [stderr] --> src/bvh.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | let comparator = [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparator` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `diffuse_weight` is never read [INFO] [stderr] --> src/render.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | let mut diffuse_weight = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `specular_weight` is never read [INFO] [stderr] --> src/render.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let mut specular_weight = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `roughness` is never read [INFO] [stderr] --> src/render.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | let mut roughness = 0.0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dwt` [INFO] [stderr] --> src/render.rs:59:29 [INFO] [stderr] | [INFO] [stderr] 59 | if let Some(dwt) = &principle.diffuse_weight_texture { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_dwt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rt` [INFO] [stderr] --> src/render.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | if let Some(rt) = &principle.specular_weight_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rt` [INFO] [stderr] --> src/render.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | if let Some(rt) = &principle.roughness_texture { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `gradient` [INFO] [stderr] --> src/render.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | let gradient = Color::new(1.0, 1.0, 1.0, if hide_skydome {0.0} else {1.0}) * (1.0 - t) + gradient_color * t; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gradient` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/render.rs:118:17 [INFO] [stderr] | [INFO] [stderr] 118 | let mut sky_color = sky.sample(u as f32, v as f32); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sample` [INFO] [stderr] --> src/render.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | sample: &u16, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time0` [INFO] [stderr] --> src/lights.rs:80:32 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time1` [INFO] [stderr] --> src/lights.rs:80:44 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn bounding_box(&self, time0: f64, time1: f64) -> Aabb { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hit_rec` [INFO] [stderr] --> src/lights.rs:137:28 [INFO] [stderr] | [INFO] [stderr] 137 | if let (true, Some(hit_rec)) = world.hit(&ray, 0.001, INF) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_rec` [INFO] [stderr] [INFO] [stderr] warning: variable `intensity` is assigned to, but never used [INFO] [stderr] --> src/pdf.rs:63:25 [INFO] [stderr] | [INFO] [stderr] 63 | let mut intensity = 1.0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_intensity` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `intensity` is never read [INFO] [stderr] --> src/pdf.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | intensity = quad_light.intensity; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `on_light` is never read [INFO] [stderr] --> src/pdf.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | let mut on_light = Vec3::black(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `distance_squared` is assigned to, but never used [INFO] [stderr] --> src/pdf.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | let mut distance_squared = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_distance_squared` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `light_cosine` [INFO] [stderr] --> src/pdf.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | let mut light_cosine = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_cosine` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pdf_val` [INFO] [stderr] --> src/pdf.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | let mut pdf_val = 0.0; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdf_val` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/pdf.rs:84:14 [INFO] [stderr] | [INFO] [stderr] 84 | for (i, light) in self.lights.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/pdf.rs:95:14 [INFO] [stderr] | [INFO] [stderr] 95 | for (i, light) in self.lights.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `distance_squared` is never read [INFO] [stderr] --> src/pdf.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | distance_squared = to_light.length_squared(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/pdf.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | let mut light_cosine = 0.0; [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/pdf.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | let mut pdf_val = 0.0; [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: fields `fov`, `aspect_ratio`, `aim`, and `focus` are never read [INFO] [stderr] --> src/camera.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Camera { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 6 | pub fov: f64, [INFO] [stderr] | ^^^ [INFO] [stderr] 7 | pub aspect_ratio: f64, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 10 | pub aim: Vec3, [INFO] [stderr] | ^^^ [INFO] [stderr] 11 | pub focus: Vec3, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variants `Aabb` and `HittableList` are never constructed [INFO] [stderr] --> src/hit.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub enum Object{ [INFO] [stderr] | ------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 20 | Aabb(Aabb), [INFO] [stderr] | ^^^^ [INFO] [stderr] 21 | Bvh(Bvh), [INFO] [stderr] 22 | HittableList(HittableList), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `pdf_value` and `random` are never used [INFO] [stderr] --> src/hit.rs:35:8 [INFO] [stderr] | [INFO] [stderr] 32 | pub trait Hittable { [INFO] [stderr] | -------- methods in this trait [INFO] [stderr] ... [INFO] [stderr] 35 | fn pdf_value(&self, o: &Vec3, v: &Vec3) -> f64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | fn random(&self, o: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `hit_world` is never used [INFO] [stderr] --> src/hit.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 92 | impl HitRecord { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] 93 | pub fn hit_world(world: &[Object], r: &Ray, t_min: f64, t_max: f64) -> (bool, Option) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new_from_vec` is never used [INFO] [stderr] --> src/hit.rs:136:12 [INFO] [stderr] | [INFO] [stderr] 110 | impl HittableList { [INFO] [stderr] | ----------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 136 | pub fn new_from_vec(obj_vec: Vec>) -> HittableList { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `bump` is never read [INFO] [stderr] --> src/material.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 47 | pub struct Principle { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 57 | pub bump: f64, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Principle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `reflectance` is never used [INFO] [stderr] --> src/material.rs:151:12 [INFO] [stderr] | [INFO] [stderr] 72 | impl Principle { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 151 | pub fn reflectance(cosine: f64, ref_idx: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `reflect` is never used [INFO] [stderr] --> src/material.rs:475:4 [INFO] [stderr] | [INFO] [stderr] 475 | fn reflect(i: &Vec3, n: &Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `specular_pdf` is never used [INFO] [stderr] --> src/material.rs:480:4 [INFO] [stderr] | [INFO] [stderr] 480 | fn specular_pdf(cos_theta: f64, refraction_ratio: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `sample_lights` is never used [INFO] [stderr] --> src/material.rs:485:4 [INFO] [stderr] | [INFO] [stderr] 485 | fn sample_lights(lights: &Arc>, point: Vec3) -> Vec3 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `schlick_masking_alt` is never used [INFO] [stderr] --> src/material.rs:539:4 [INFO] [stderr] | [INFO] [stderr] 539 | fn schlick_masking_alt(ndl: f64, ndv: f64, roughness: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `area` is never read [INFO] [stderr] --> src/sphere.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct Sphere { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 20 | pub area: f64, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Sphere` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `random_int` is never used [INFO] [stderr] --> src/utility.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn random_int(min: f64, max: f64) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/vec2.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl Vec2 { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 19 | pub fn length_sq(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn length(&self) -> f32 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn normalize(&self) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 36 | pub fn dot(&self, other: &Vec2) -> f32 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | pub fn add(&self, other: &Vec2) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn sub(&self, other: &Vec2) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub fn scale(&self, s: f32) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `objects`, `time0`, and `time1` are never read [INFO] [stderr] --> src/bvh.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct Bvh { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] 18 | pub objects: Vec>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 19 | pub time0: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 20 | pub time1: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Bvh` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated functions `gray` and `green` are never used [INFO] [stderr] --> src/color.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl Color { [INFO] [stderr] | ---------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn gray() -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | pub fn green() -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `average_samples` is never used [INFO] [stderr] --> src/buffers.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 86 | impl Lobes { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 105 | pub fn average_samples(&self, sample: f64, average: f64, color: Lobes) -> Lobes { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `color`, `power`, `vertices`, and `normal` are never read [INFO] [stderr] --> src/lights.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct QuadLight { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 19 | pub color: Color, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 20 | pub intensity: f64, [INFO] [stderr] 21 | pub power: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 22 | pub tris: Vec, [INFO] [stderr] 23 | pub vertices: Vec, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | pub normal: Vec3, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `QuadLight` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `radius` is never used [INFO] [stderr] --> src/lights.rs:85:12 [INFO] [stderr] | [INFO] [stderr] 33 | impl QuadLight { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 85 | pub fn radius(&self) -> f64 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `transpose` is never used [INFO] [stderr] --> src/mat3.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl Mat3 { [INFO] [stderr] | --------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn transpose(&self) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/render_setup.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | / window [INFO] [stderr] 96 | | .as_ref() [INFO] [stderr] 97 | | .expect("REASON") [INFO] [stderr] 98 | | .set_image("image-001", render_view); [INFO] [stderr] | |____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 95 | let _ = window [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/render_setup.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 111 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/render_setup.rs:529:9 [INFO] [stderr] | [INFO] [stderr] 529 | / window [INFO] [stderr] 530 | | .as_ref() [INFO] [stderr] 531 | | .expect("REASON") [INFO] [stderr] 532 | | .set_image("image-001", render_view); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 529 | let _ = window [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/render_setup.rs:533:9 [INFO] [stderr] | [INFO] [stderr] 533 | preview.save(&output_file); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 533 | let _ = preview.save(&output_file); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `krrust` (bin "krrust" test) generated 160 warnings (run `cargo fix --bin "krrust" --tests` to apply 66 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/krrust-c3c0b940de2a9898) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5bc9cc6d1963cf61c911c987bbf2cb3757cbbcf4f5c26a641911acc095a2f9ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5bc9cc6d1963cf61c911c987bbf2cb3757cbbcf4f5c26a641911acc095a2f9ce", kill_on_drop: false }` [INFO] [stdout] 5bc9cc6d1963cf61c911c987bbf2cb3757cbbcf4f5c26a641911acc095a2f9ce