[INFO] cloning repository https://github.com/GoTamura/ray [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GoTamura/ray" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGoTamura%2Fray", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGoTamura%2Fray'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7c8c4edeeb1cc8d4dcaf9bb4ce6d9a244bc8513b [INFO] checking GoTamura/ray against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGoTamura%2Fray" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/GoTamura/ray on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/GoTamura/ray [INFO] finished tweaking git repo https://github.com/GoTamura/ray [INFO] tweaked toml for git repo https://github.com/GoTamura/ray written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/GoTamura/ray 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fs_extra v1.2.0 [INFO] [stderr] Downloaded bytemuck v1.7.0 [INFO] [stderr] Downloaded wide v0.7.0 [INFO] [stderr] Downloaded structopt-derive v0.4.16 [INFO] [stderr] Downloaded structopt v0.3.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 27a307ed3f63e83aa74ff91d553a2e7b2a94c5a4728ecde0620229ca03fdce00 [INFO] running `Command { std: "docker" "start" "-a" "27a307ed3f63e83aa74ff91d553a2e7b2a94c5a4728ecde0620229ca03fdce00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27a307ed3f63e83aa74ff91d553a2e7b2a94c5a4728ecde0620229ca03fdce00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27a307ed3f63e83aa74ff91d553a2e7b2a94c5a4728ecde0620229ca03fdce00", kill_on_drop: false }` [INFO] [stdout] 27a307ed3f63e83aa74ff91d553a2e7b2a94c5a4728ecde0620229ca03fdce00 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 405b552cb4a3f29fd238bc1a3741ad6bf493f880bf3b20fea8bdf15891239b49 [INFO] running `Command { std: "docker" "start" "-a" "405b552cb4a3f29fd238bc1a3741ad6bf493f880bf3b20fea8bdf15891239b49", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Checking bytemuck v1.7.0 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking safe_arch v0.6.0 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking weezl v0.1.5 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking matrixmultiply v0.3.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking wide v0.7.0 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling fs_extra v1.2.0 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Compiling signal-hook v0.3.10 [INFO] [stderr] Checking bit-set v0.5.2 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking approx v0.5.0 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking terminal_size v0.1.17 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking console v0.14.1 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking gif v0.11.2 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking itertools v0.10.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking simba v0.6.0 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking proptest v1.0.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking indicatif v0.16.2 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.29 [INFO] [stderr] Compiling structopt-derive v0.4.16 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Compiling ray v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rayon::prelude::*` [INFO] [stdout] --> build.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_to_string`, `write` [INFO] [stdout] --> build.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs::{read_to_string, write}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> build.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> build.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking thiserror v1.0.29 [INFO] [stderr] Checking structopt v0.3.23 [INFO] [stderr] Checking nalgebra v0.29.0 [INFO] [stderr] Checking nalgebra-glm v0.15.0 [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/shape.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/bounds.rs:3:32 [INFO] [stdout] | [INFO] [stdout] 3 | use nalgebra::{Point2, Point3, Scalar, Vector2, Vector3, center, distance}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/texture.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/shape.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/bounds.rs:3:32 [INFO] [stdout] | [INFO] [stdout] 3 | use nalgebra::{Point2, Point3, Scalar, Vector2, Vector3, center, distance}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/texture.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/shape.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | p: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 323 | normal, [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/shape.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | p: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 323 | normal, [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:93:22 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut first_box = true; [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: `time0` [INFO] [stdout] --> src/shape.rs:194:22 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:194:34 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/shape.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | let t = t_scaled * inv_det; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdu` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdu` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdv` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:302:17 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdv` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdu` is never read [INFO] [stdout] --> src/shape.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | dpdu = (duv12.y * dp02 - duv02.y * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdv` is never read [INFO] [stdout] --> src/shape.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | dpdv = (duv12.x * dp02 - duv02.x * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p_hit` [INFO] [stdout] --> src/shape.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | let p_hit = b * p; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_p_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uv_hit` [INFO] [stdout] --> src/shape.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | let uv_hit = Point2::from( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_uv_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `normal` [INFO] [stdout] --> src/shape.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 319 | let normal = (b.x * self.normals[0] + b.y * self.normals[1] + b.z * self.normals[2]).normalize(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/shape.rs:251:30 [INFO] [stdout] | [INFO] [stdout] 251 | fn hit(&self, ray: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let mut p = permute_matrix(&p, kx, ky, kz); [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/shape.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [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/shape.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:332:22 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [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/shape.rs:332:34 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [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/shape.rs:93:22 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/material.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/material.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/material.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut first_box = true; [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: `ray` [INFO] [stdout] --> src/material.rs:88:23 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit_record` [INFO] [stdout] --> src/material.rs:88:34 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:194:22 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:194:34 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/shape.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | let t = t_scaled * inv_det; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdu` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdu` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdv` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:302:17 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdv` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdu` is never read [INFO] [stdout] --> src/shape.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | dpdu = (duv12.y * dp02 - duv02.y * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdv` is never read [INFO] [stdout] --> src/shape.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | dpdv = (duv12.x * dp02 - duv02.x * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/texture.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p_hit` [INFO] [stdout] --> src/shape.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | let p_hit = b * p; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_p_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uv_hit` [INFO] [stdout] --> src/shape.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | let uv_hit = Point2::from( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_uv_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/texture.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `normal` [INFO] [stdout] --> src/shape.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 319 | let normal = (b.x * self.normals[0] + b.y * self.normals[1] + b.z * self.normals[2]).normalize(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/shape.rs:251:30 [INFO] [stdout] | [INFO] [stdout] 251 | fn hit(&self, ray: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:58:37 [INFO] [stdout] | [INFO] [stdout] 58 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `w` is never read [INFO] [stdout] --> src/camera.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SingleLensCamera { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Shape` is never used [INFO] [stdout] --> src/shape.rs:134:7 [INFO] [stdout] | [INFO] [stdout] 134 | trait Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BVHNode` is never constructed [INFO] [stdout] --> src/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | struct BVHNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect_p` is never used [INFO] [stdout] --> src/shape.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl BVHNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 214 | fn intersect_p(&self, ray: &Ray, t_min: f64, t_max: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TriangleMesh` is never constructed [INFO] [stdout] --> src/shape.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | struct TriangleMesh {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Triangle` is never constructed [INFO] [stdout] --> src/shape.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | struct Triangle { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `uv` is never used [INFO] [stdout] --> src/shape.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 337 | impl Triangle { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 338 | pub fn uv(p: &Point3) -> (f64, f64) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute` is never used [INFO] [stdout] --> src/shape.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn permute(p: &Vec3, x: usize, y: usize, z: usize) -> Point3 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute_matrix` is never used [INFO] [stdout] --> src/shape.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | fn permute_matrix(p: &Matrix3, x: usize, y: usize, z: usize) -> Matrix3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed [INFO] [stdout] --> src/shape.rs:357:8 [INFO] [stdout] | [INFO] [stdout] 357 | struct SurfaceInteraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bounds2` is never constructed [INFO] [stdout] --> src/bounds.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Bounds2 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area` and `diagonal` are never used [INFO] [stdout] --> src/bounds.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Bounds2 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 14 | pub fn area(&self) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn diagonal(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let mut p = permute_matrix(&p, kx, ky, kz); [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/shape.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [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/shape.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:332:22 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [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/shape.rs:332:34 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/material.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/material.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/material.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ray` [INFO] [stdout] --> src/material.rs:88:23 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit_record` [INFO] [stdout] --> src/material.rs:88:34 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/texture.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/texture.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:58:37 [INFO] [stdout] | [INFO] [stdout] 58 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `w` is never read [INFO] [stdout] --> src/camera.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SingleLensCamera { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Shape` is never used [INFO] [stdout] --> src/shape.rs:134:7 [INFO] [stdout] | [INFO] [stdout] 134 | trait Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BVHNode` is never constructed [INFO] [stdout] --> src/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | struct BVHNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect_p` is never used [INFO] [stdout] --> src/shape.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl BVHNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 214 | fn intersect_p(&self, ray: &Ray, t_min: f64, t_max: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TriangleMesh` is never constructed [INFO] [stdout] --> src/shape.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | struct TriangleMesh {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Triangle` is never constructed [INFO] [stdout] --> src/shape.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | struct Triangle { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `uv` is never used [INFO] [stdout] --> src/shape.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 337 | impl Triangle { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 338 | pub fn uv(p: &Point3) -> (f64, f64) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute` is never used [INFO] [stdout] --> src/shape.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn permute(p: &Vec3, x: usize, y: usize, z: usize) -> Point3 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute_matrix` is never used [INFO] [stdout] --> src/shape.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | fn permute_matrix(p: &Matrix3, x: usize, y: usize, z: usize) -> Matrix3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed [INFO] [stdout] --> src/shape.rs:357:8 [INFO] [stdout] | [INFO] [stdout] 357 | struct SurfaceInteraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bounds2` is never constructed [INFO] [stdout] --> src/bounds.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Bounds2 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area` and `diagonal` are never used [INFO] [stdout] --> src/bounds.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Bounds2 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 14 | pub fn area(&self) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn diagonal(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/main.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{Context, Error, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::ImageBuffer` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use image::ImageBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MovingSphere` [INFO] [stdout] --> src/main.rs:11:42 [INFO] [stdout] | [INFO] [stdout] 11 | use ray::shape::{Hittable, HittableList, MovingSphere, Sphere}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/main.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{Context, Error, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::ImageBuffer` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use image::ImageBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MovingSphere` [INFO] [stdout] --> src/main.rs:11:42 [INFO] [stdout] | [INFO] [stdout] 11 | use ray::shape::{Hittable, HittableList, MovingSphere, Sphere}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ground_material` [INFO] [stdout] --> src/main.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let ground_material = Arc::new(Lambertian { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ground_material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material3` [INFO] [stdout] --> src/main.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let material3 = Arc::new(Metal { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material4` [INFO] [stdout] --> src/main.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let material4 = Arc::new(DiffuseLight { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut bar = ProgressBar::new(image_width as u64 * image_height as u64); [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: function `render2` is never used [INFO] [stdout] --> src/main.rs:266:4 [INFO] [stdout] | [INFO] [stdout] 266 | fn render2( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | / imgbuf [INFO] [stdout] 221 | | .enumerate_pixels_mut() [INFO] [stdout] 222 | | .collect::)>>() [INFO] [stdout] 223 | | .par_iter_mut() [INFO] [stdout] ... | [INFO] [stdout] 237 | | (!term.load(Ordering::Relaxed)).then(|| ()).ok_or(()) [INFO] [stdout] 238 | | }); [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] 220 | let _ = imgbuf [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ground_material` [INFO] [stdout] --> src/main.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let ground_material = Arc::new(Lambertian { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ground_material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material3` [INFO] [stdout] --> src/main.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let material3 = Arc::new(Metal { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material4` [INFO] [stdout] --> src/main.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let material4 = Arc::new(DiffuseLight { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut bar = ProgressBar::new(image_width as u64 * image_height as u64); [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: function `render2` is never used [INFO] [stdout] --> src/main.rs:266:4 [INFO] [stdout] | [INFO] [stdout] 266 | fn render2( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | / imgbuf [INFO] [stdout] 221 | | .enumerate_pixels_mut() [INFO] [stdout] 222 | | .collect::)>>() [INFO] [stdout] 223 | | .par_iter_mut() [INFO] [stdout] ... | [INFO] [stdout] 237 | | (!term.load(Ordering::Relaxed)).then(|| ()).ok_or(()) [INFO] [stdout] 238 | | }); [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] 220 | let _ = imgbuf [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.73s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.2.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "405b552cb4a3f29fd238bc1a3741ad6bf493f880bf3b20fea8bdf15891239b49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "405b552cb4a3f29fd238bc1a3741ad6bf493f880bf3b20fea8bdf15891239b49", kill_on_drop: false }` [INFO] [stdout] 405b552cb4a3f29fd238bc1a3741ad6bf493f880bf3b20fea8bdf15891239b49 [INFO] checking GoTamura/ray against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGoTamura%2Fray" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/GoTamura/ray on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/GoTamura/ray [INFO] finished tweaking git repo https://github.com/GoTamura/ray [INFO] tweaked toml for git repo https://github.com/GoTamura/ray written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/GoTamura/ray 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ca4acdb5c513bb48f390ccc96fd50e3afcbe50f9736013ef8301e54bca682bee [INFO] running `Command { std: "docker" "start" "-a" "ca4acdb5c513bb48f390ccc96fd50e3afcbe50f9736013ef8301e54bca682bee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ca4acdb5c513bb48f390ccc96fd50e3afcbe50f9736013ef8301e54bca682bee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca4acdb5c513bb48f390ccc96fd50e3afcbe50f9736013ef8301e54bca682bee", kill_on_drop: false }` [INFO] [stdout] ca4acdb5c513bb48f390ccc96fd50e3afcbe50f9736013ef8301e54bca682bee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e88a0c5e997a4dd63274f75858d5554f08b2ee14e4d12885a13816037255e2ee [INFO] running `Command { std: "docker" "start" "-a" "e88a0c5e997a4dd63274f75858d5554f08b2ee14e4d12885a13816037255e2ee", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Checking bytemuck v1.7.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Checking safe_arch v0.6.0 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Checking weezl v0.1.5 [INFO] [stderr] Checking wide v0.7.0 [INFO] [stderr] Checking matrixmultiply v0.3.1 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking terminal_size v0.1.17 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Compiling fs_extra v1.2.0 [INFO] [stderr] Compiling signal-hook v0.3.10 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking approx v0.5.0 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking gif v0.11.2 [INFO] [stderr] Checking bit-set v0.5.2 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking console v0.14.1 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking itertools v0.10.1 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking proptest v1.0.0 [INFO] [stderr] Checking simba v0.6.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling ray v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rayon::prelude::*` [INFO] [stdout] --> build.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rayon::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_to_string`, `write` [INFO] [stdout] --> build.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs::{read_to_string, write}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> build.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> build.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking indicatif v0.16.2 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.29 [INFO] [stderr] Compiling structopt-derive v0.4.16 [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking thiserror v1.0.29 [INFO] [stderr] Checking structopt v0.3.23 [INFO] [stderr] Checking nalgebra v0.29.0 [INFO] [stderr] Checking nalgebra-glm v0.15.0 [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/shape.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/bounds.rs:3:32 [INFO] [stdout] | [INFO] [stdout] 3 | use nalgebra::{Point2, Point3, Scalar, Vector2, Vector3, center, distance}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/texture.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/shape.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scalar` [INFO] [stdout] --> src/bounds.rs:3:32 [INFO] [stdout] | [INFO] [stdout] 3 | use nalgebra::{Point2, Point3, Scalar, Vector2, Vector3, center, distance}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/texture.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/shape.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | p: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 323 | normal, [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/shape.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 322 | p: todo!(), [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 323 | normal, [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:93:22 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut first_box = true; [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: `time0` [INFO] [stdout] --> src/shape.rs:194:22 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:194:34 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/shape.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | let t = t_scaled * inv_det; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdu` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdu` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdv` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:302:17 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdv` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdu` is never read [INFO] [stdout] --> src/shape.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | dpdu = (duv12.y * dp02 - duv02.y * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdv` is never read [INFO] [stdout] --> src/shape.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | dpdv = (duv12.x * dp02 - duv02.x * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p_hit` [INFO] [stdout] --> src/shape.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | let p_hit = b * p; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_p_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uv_hit` [INFO] [stdout] --> src/shape.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | let uv_hit = Point2::from( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_uv_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:93:22 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `normal` [INFO] [stdout] --> src/shape.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 319 | let normal = (b.x * self.normals[0] + b.y * self.normals[1] + b.z * self.normals[2]).normalize(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/shape.rs:251:30 [INFO] [stdout] | [INFO] [stdout] 251 | fn hit(&self, ray: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut first_box = true; [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: `time0` [INFO] [stdout] --> src/shape.rs:194:22 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tim1` [INFO] [stdout] --> src/shape.rs:194:34 [INFO] [stdout] | [INFO] [stdout] 194 | fn bounds(&self, time0: f64, tim1: f64) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tim1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/shape.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | let t = t_scaled * inv_det; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdu` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdu` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dpdv` is assigned to, but never used [INFO] [stdout] --> src/shape.rs:302:17 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dpdv` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdu` is never read [INFO] [stdout] --> src/shape.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | dpdu = (duv12.y * dp02 - duv02.y * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dpdv` is never read [INFO] [stdout] --> src/shape.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | dpdv = (duv12.x * dp02 - duv02.x * dp12) * inv_det; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p_hit` [INFO] [stdout] --> src/shape.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | let p_hit = b * p; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_p_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uv_hit` [INFO] [stdout] --> src/shape.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | let uv_hit = Point2::from( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_uv_hit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `normal` [INFO] [stdout] --> src/shape.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 319 | let normal = (b.x * self.normals[0] + b.y * self.normals[1] + b.z * self.normals[2]).normalize(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> src/shape.rs:251:30 [INFO] [stdout] | [INFO] [stdout] 251 | fn hit(&self, ray: &Ray, t_min: f64, t_max: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let mut p = permute_matrix(&p, kx, ky, kz); [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/shape.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let mut p = permute_matrix(&p, kx, ky, kz); [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/shape.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [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/shape.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [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/shape.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | let mut dpdu; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:332:22 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [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/shape.rs:332:34 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/shape.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | let mut dpdv; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/material.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time0` [INFO] [stdout] --> src/shape.rs:332:22 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/material.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/material.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time1` [INFO] [stdout] --> src/shape.rs:332:34 [INFO] [stdout] | [INFO] [stdout] 332 | fn bounds(&self, time0: f64, time1: f64) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_time1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ray` [INFO] [stdout] --> src/material.rs:88:23 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit_record` [INFO] [stdout] --> src/material.rs:88:34 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/material.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/material.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/material.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/texture.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/texture.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ray` [INFO] [stdout] --> src/material.rs:88:23 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hit_record` [INFO] [stdout] --> src/material.rs:88:34 [INFO] [stdout] | [INFO] [stdout] 88 | fn scatter(&self, ray: &Ray, hit_record: &HitRecord) -> Option<(Color, Ray)> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hit_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:58:37 [INFO] [stdout] | [INFO] [stdout] 58 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `w` is never read [INFO] [stdout] --> src/camera.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SingleLensCamera { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Shape` is never used [INFO] [stdout] --> src/shape.rs:134:7 [INFO] [stdout] | [INFO] [stdout] 134 | trait Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BVHNode` is never constructed [INFO] [stdout] --> src/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | struct BVHNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect_p` is never used [INFO] [stdout] --> src/shape.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl BVHNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 214 | fn intersect_p(&self, ray: &Ray, t_min: f64, t_max: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TriangleMesh` is never constructed [INFO] [stdout] --> src/shape.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | struct TriangleMesh {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Triangle` is never constructed [INFO] [stdout] --> src/shape.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | struct Triangle { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `uv` is never used [INFO] [stdout] --> src/shape.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 337 | impl Triangle { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 338 | pub fn uv(p: &Point3) -> (f64, f64) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute` is never used [INFO] [stdout] --> src/shape.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn permute(p: &Vec3, x: usize, y: usize, z: usize) -> Point3 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute_matrix` is never used [INFO] [stdout] --> src/shape.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | fn permute_matrix(p: &Matrix3, x: usize, y: usize, z: usize) -> Matrix3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed [INFO] [stdout] --> src/shape.rs:357:8 [INFO] [stdout] | [INFO] [stdout] 357 | struct SurfaceInteraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bounds2` is never constructed [INFO] [stdout] --> src/bounds.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Bounds2 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area` and `diagonal` are never used [INFO] [stdout] --> src/bounds.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Bounds2 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 14 | pub fn area(&self) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn diagonal(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/texture.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/texture.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/texture.rs:58:37 [INFO] [stdout] | [INFO] [stdout] 58 | fn value(&self, u: f64, v: f64, p: &Point3) -> Color { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `w` is never read [INFO] [stdout] --> src/camera.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SingleLensCamera { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Shape` is never used [INFO] [stdout] --> src/shape.rs:134:7 [INFO] [stdout] | [INFO] [stdout] 134 | trait Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BVHNode` is never constructed [INFO] [stdout] --> src/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | struct BVHNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `intersect_p` is never used [INFO] [stdout] --> src/shape.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl BVHNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 214 | fn intersect_p(&self, ray: &Ray, t_min: f64, t_max: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TriangleMesh` is never constructed [INFO] [stdout] --> src/shape.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | struct TriangleMesh {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Triangle` is never constructed [INFO] [stdout] --> src/shape.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | struct Triangle { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `uv` is never used [INFO] [stdout] --> src/shape.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 337 | impl Triangle { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 338 | pub fn uv(p: &Point3) -> (f64, f64) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute` is never used [INFO] [stdout] --> src/shape.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn permute(p: &Vec3, x: usize, y: usize, z: usize) -> Point3 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `permute_matrix` is never used [INFO] [stdout] --> src/shape.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | fn permute_matrix(p: &Matrix3, x: usize, y: usize, z: usize) -> Matrix3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed [INFO] [stdout] --> src/shape.rs:357:8 [INFO] [stdout] | [INFO] [stdout] 357 | struct SurfaceInteraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bounds2` is never constructed [INFO] [stdout] --> src/bounds.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Bounds2 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `area` and `diagonal` are never used [INFO] [stdout] --> src/bounds.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Bounds2 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 14 | pub fn area(&self) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn diagonal(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/main.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{Context, Error, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::ImageBuffer` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use image::ImageBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/main.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use anyhow::{Context, Error, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::ImageBuffer` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use image::ImageBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MovingSphere` [INFO] [stdout] --> src/main.rs:11:42 [INFO] [stdout] | [INFO] [stdout] 11 | use ray::shape::{Hittable, HittableList, MovingSphere, Sphere}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MovingSphere` [INFO] [stdout] --> src/main.rs:11:42 [INFO] [stdout] | [INFO] [stdout] 11 | use ray::shape::{Hittable, HittableList, MovingSphere, Sphere}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ground_material` [INFO] [stdout] --> src/main.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let ground_material = Arc::new(Lambertian { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ground_material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material3` [INFO] [stdout] --> src/main.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let material3 = Arc::new(Metal { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material4` [INFO] [stdout] --> src/main.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let material4 = Arc::new(DiffuseLight { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ground_material` [INFO] [stdout] --> src/main.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let ground_material = Arc::new(Lambertian { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ground_material` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material3` [INFO] [stdout] --> src/main.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | let material3 = Arc::new(Metal { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material4` [INFO] [stdout] --> src/main.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let material4 = Arc::new(DiffuseLight { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut bar = ProgressBar::new(image_width as u64 * image_height as u64); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut bar = ProgressBar::new(image_width as u64 * image_height as u64); [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: function `render2` is never used [INFO] [stdout] --> src/main.rs:266:4 [INFO] [stdout] | [INFO] [stdout] 266 | fn render2( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render2` is never used [INFO] [stdout] --> src/main.rs:266:4 [INFO] [stdout] | [INFO] [stdout] 266 | fn render2( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | / imgbuf [INFO] [stdout] 221 | | .enumerate_pixels_mut() [INFO] [stdout] 222 | | .collect::)>>() [INFO] [stdout] 223 | | .par_iter_mut() [INFO] [stdout] ... | [INFO] [stdout] 237 | | (!term.load(Ordering::Relaxed)).then(|| ()).ok_or(()) [INFO] [stdout] 238 | | }); [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] 220 | let _ = imgbuf [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | / imgbuf [INFO] [stdout] 221 | | .enumerate_pixels_mut() [INFO] [stdout] 222 | | .collect::)>>() [INFO] [stdout] 223 | | .par_iter_mut() [INFO] [stdout] ... | [INFO] [stdout] 237 | | (!term.load(Ordering::Relaxed)).then(|| ()).ok_or(()) [INFO] [stdout] 238 | | }); [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] 220 | let _ = imgbuf [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.45s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.2.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "e88a0c5e997a4dd63274f75858d5554f08b2ee14e4d12885a13816037255e2ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e88a0c5e997a4dd63274f75858d5554f08b2ee14e4d12885a13816037255e2ee", kill_on_drop: false }` [INFO] [stdout] e88a0c5e997a4dd63274f75858d5554f08b2ee14e4d12885a13816037255e2ee