[INFO] cloning repository https://github.com/Walnut356/gfx_from_scratch [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Walnut356/gfx_from_scratch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWalnut356%2Fgfx_from_scratch", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWalnut356%2Fgfx_from_scratch'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ccbab590c0c65eed65c1ae9fc2fcb764a2f341fd [INFO] checking Walnut356/gfx_from_scratch against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWalnut356%2Fgfx_from_scratch" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Walnut356/gfx_from_scratch 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/Walnut356/gfx_from_scratch [INFO] finished tweaking git repo https://github.com/Walnut356/gfx_from_scratch [INFO] tweaked toml for git repo https://github.com/Walnut356/gfx_from_scratch written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Walnut356/gfx_from_scratch 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] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded minifb v0.25.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9cf244446dd896846257d292d079805a2ed28ed041989d633e87f7376b48b594 [INFO] running `Command { std: "docker" "start" "-a" "9cf244446dd896846257d292d079805a2ed28ed041989d633e87f7376b48b594", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9cf244446dd896846257d292d079805a2ed28ed041989d633e87f7376b48b594", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9cf244446dd896846257d292d079805a2ed28ed041989d633e87f7376b48b594", kill_on_drop: false }` [INFO] [stdout] 9cf244446dd896846257d292d079805a2ed28ed041989d633e87f7376b48b594 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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] 37243ecffd95359c614294931edbbae2fee59e8fccb5b689a2f93fc60c46251d [INFO] running `Command { std: "docker" "start" "-a" "37243ecffd95359c614294931edbbae2fee59e8fccb5b689a2f93fc60c46251d", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling xml-rs v0.8.19 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Checking libloading v0.8.0 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling rustix v0.38.14 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking linux-raw-sys v0.4.7 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking num-integer v0.1.45 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking half v2.2.1 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking raw-window-handle v0.4.3 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking flate2 v1.0.27 [INFO] [stderr] Checking exr v1.71.0 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Checking png v0.17.10 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking xcursor v0.3.4 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking tempfile v3.8.0 [INFO] [stderr] Compiling minifb v0.25.0 [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking tiff v0.9.0 [INFO] [stderr] Checking image v0.24.7 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking raytrace v0.1.0 (/opt/rustwide/workdir/raytrace) [INFO] [stderr] Checking raster v0.1.0 (/opt/rustwide/workdir/raster) [INFO] [stdout] warning: unused imports: `Surface`, `primitives::color` [INFO] [stdout] --> raytrace/src/scene.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | primitives::color, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | Color, Matrix, Object, PointLight, Pos3, Ray, Surface, Vec3, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> raytrace/src/viewport.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Matrix`, `Object`, `Sphere`, `material::Material`, `scene::Intersection` [INFO] [stdout] --> raytrace/src/viewport.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{objects::{Sphere, material::Material}, scene::Intersection, Matrix, Object, Pos3, Vec3, Ray}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `material::Material` [INFO] [stdout] --> raytrace/src/primitives/ray.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | objects::{material::Material, Sphere}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::Rgb` [INFO] [stdout] --> raytrace/src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use image::Rgb; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Surface`, `primitives::color` [INFO] [stdout] --> raytrace/src/scene.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | primitives::color, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | Color, Matrix, Object, PointLight, Pos3, Ray, Surface, Vec3, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> raytrace/src/viewport.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Matrix`, `Object`, `Sphere`, `material::Material`, `scene::Intersection` [INFO] [stdout] --> raytrace/src/viewport.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{objects::{Sphere, material::Material}, scene::Intersection, Matrix, Object, Pos3, Vec3, Ray}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::Rgb` [INFO] [stdout] --> raytrace/src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use image::Rgb; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> raytrace/src/scene.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | if let Object::Sphere(obj) = hit.obj { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> raytrace/src/scene.rs:54:63 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn trace_ray(&self, ray: Ray, t_min: f32, t_max: f32, depth: usize) -> [u8; 3] { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> raytrace/src/scene.rs:88:48 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> raytrace/src/scene.rs:88:60 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc`, `sync::Mutex` [INFO] [stdout] --> raster/src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, sync::Mutex, time::Instant}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RgbImage`, `Rgb` [INFO] [stdout] --> raster/src/main.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{Rgb, RgbImage}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoParallelIterator`, `ParallelIterator` [INFO] [stdout] --> raster/src/main.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use rayon::prelude::{IntoParallelIterator, ParallelIterator}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc`, `sync::Mutex` [INFO] [stdout] --> raster/src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, sync::Mutex, time::Instant}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RgbImage`, `Rgb` [INFO] [stdout] --> raster/src/main.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{Rgb, RgbImage}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoParallelIterator`, `ParallelIterator` [INFO] [stdout] --> raster/src/main.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use rayon::prelude::{IntoParallelIterator, ParallelIterator}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const WIDTH: usize = 1000; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const HEIGHT: usize = 1000; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const LOW_WIDTH: isize = -(WIDTH as isize / 2); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const HIGH_WIDTH: isize = WIDTH as isize / 2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const LOW_HEIGHT: isize = -(HEIGHT as isize / 2); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const HIGH_HEIGHT: isize = HEIGHT as isize / 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACKGROUND_COLOR` is never used [INFO] [stdout] --> raster/src/main.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const BACKGROUND_COLOR: [u8; 3] = [0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const WIDTH: usize = 1000; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const HEIGHT: usize = 1000; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const LOW_WIDTH: isize = -(WIDTH as isize / 2); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const HIGH_WIDTH: isize = WIDTH as isize / 2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const LOW_HEIGHT: isize = -(HEIGHT as isize / 2); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const HIGH_HEIGHT: isize = HEIGHT as isize / 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACKGROUND_COLOR` is never used [INFO] [stdout] --> raster/src/main.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const BACKGROUND_COLOR: [u8; 3] = [0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Surface`, `Vec3` [INFO] [stdout] --> raytrace/src/main.rs:9:58 [INFO] [stdout] | [INFO] [stdout] 9 | topleft_rel, Color, Matrix, PointLight, Pos3, Scene, Surface, Vec3, Viewport, [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Surface`, `Vec3` [INFO] [stdout] --> raytrace/src/main.rs:9:58 [INFO] [stdout] | [INFO] [stdout] 9 | topleft_rel, Color, Matrix, PointLight, Pos3, Scene, Surface, Vec3, Viewport, [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> raytrace/src/scene.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | if let Object::Sphere(obj) = hit.obj { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> raytrace/src/scene.rs:54:63 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn trace_ray(&self, ray: Ray, t_min: f32, t_max: f32, depth: usize) -> [u8; 3] { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> raytrace/src/scene.rs:88:48 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> raytrace/src/scene.rs:88:60 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.50s [INFO] running `Command { std: "docker" "inspect" "37243ecffd95359c614294931edbbae2fee59e8fccb5b689a2f93fc60c46251d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37243ecffd95359c614294931edbbae2fee59e8fccb5b689a2f93fc60c46251d", kill_on_drop: false }` [INFO] [stdout] 37243ecffd95359c614294931edbbae2fee59e8fccb5b689a2f93fc60c46251d [INFO] checking Walnut356/gfx_from_scratch against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWalnut356%2Fgfx_from_scratch" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Walnut356/gfx_from_scratch 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/Walnut356/gfx_from_scratch [INFO] finished tweaking git repo https://github.com/Walnut356/gfx_from_scratch [INFO] tweaked toml for git repo https://github.com/Walnut356/gfx_from_scratch written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Walnut356/gfx_from_scratch 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] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 74139b00d33da6634b0c05d118c1d57fd0f381c09f2c6166121fd27477aecd7e [INFO] running `Command { std: "docker" "start" "-a" "74139b00d33da6634b0c05d118c1d57fd0f381c09f2c6166121fd27477aecd7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74139b00d33da6634b0c05d118c1d57fd0f381c09f2c6166121fd27477aecd7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74139b00d33da6634b0c05d118c1d57fd0f381c09f2c6166121fd27477aecd7e", kill_on_drop: false }` [INFO] [stdout] 74139b00d33da6634b0c05d118c1d57fd0f381c09f2c6166121fd27477aecd7e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 352b4ab6831e69435d51315d9b3cac2049e76508262d76a5a2c0e704cac0906f [INFO] running `Command { std: "docker" "start" "-a" "352b4ab6831e69435d51315d9b3cac2049e76508262d76a5a2c0e704cac0906f", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling xml-rs v0.8.19 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Checking libloading v0.8.0 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Compiling rustix v0.38.14 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking linux-raw-sys v0.4.7 [INFO] [stderr] Checking num-integer v0.1.45 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking half v2.2.1 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking raw-window-handle v0.4.3 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking flate2 v1.0.27 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking exr v1.71.0 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Checking png v0.17.10 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking xcursor v0.3.4 [INFO] [stderr] Checking tempfile v3.8.0 [INFO] [stderr] Compiling minifb v0.25.0 [INFO] [stderr] Checking tiff v0.9.0 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking image v0.24.7 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking raytrace v0.1.0 (/opt/rustwide/workdir/raytrace) [INFO] [stderr] Checking raster v0.1.0 (/opt/rustwide/workdir/raster) [INFO] [stdout] warning: unused imports: `Surface`, `primitives::color` [INFO] [stdout] --> raytrace/src/scene.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | primitives::color, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | Color, Matrix, Object, PointLight, Pos3, Ray, Surface, Vec3, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> raytrace/src/viewport.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Matrix`, `Object`, `Sphere`, `material::Material`, `scene::Intersection` [INFO] [stdout] --> raytrace/src/viewport.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{objects::{Sphere, material::Material}, scene::Intersection, Matrix, Object, Pos3, Vec3, Ray}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `material::Material` [INFO] [stdout] --> raytrace/src/primitives/ray.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | objects::{material::Material, Sphere}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::Rgb` [INFO] [stdout] --> raytrace/src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use image::Rgb; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Surface`, `primitives::color` [INFO] [stdout] --> raytrace/src/scene.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | primitives::color, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | Color, Matrix, Object, PointLight, Pos3, Ray, Surface, Vec3, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> raytrace/src/viewport.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Matrix`, `Object`, `Sphere`, `material::Material`, `scene::Intersection` [INFO] [stdout] --> raytrace/src/viewport.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{objects::{Sphere, material::Material}, scene::Intersection, Matrix, Object, Pos3, Vec3, Ray}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `image::Rgb` [INFO] [stdout] --> raytrace/src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use image::Rgb; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> raytrace/src/scene.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | if let Object::Sphere(obj) = hit.obj { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> raytrace/src/scene.rs:54:63 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn trace_ray(&self, ray: Ray, t_min: f32, t_max: f32, depth: usize) -> [u8; 3] { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> raytrace/src/scene.rs:88:48 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> raytrace/src/scene.rs:88:60 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc`, `sync::Mutex` [INFO] [stdout] --> raster/src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, sync::Mutex, time::Instant}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RgbImage`, `Rgb` [INFO] [stdout] --> raster/src/main.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{Rgb, RgbImage}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoParallelIterator`, `ParallelIterator` [INFO] [stdout] --> raster/src/main.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use rayon::prelude::{IntoParallelIterator, ParallelIterator}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `sync::Arc`, `sync::Mutex` [INFO] [stdout] --> raster/src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{sync::Arc, sync::Mutex, time::Instant}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RgbImage`, `Rgb` [INFO] [stdout] --> raster/src/main.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use image::{Rgb, RgbImage}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoParallelIterator`, `ParallelIterator` [INFO] [stdout] --> raster/src/main.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | use rayon::prelude::{IntoParallelIterator, ParallelIterator}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const WIDTH: usize = 1000; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const HEIGHT: usize = 1000; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const LOW_WIDTH: isize = -(WIDTH as isize / 2); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const HIGH_WIDTH: isize = WIDTH as isize / 2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const LOW_HEIGHT: isize = -(HEIGHT as isize / 2); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const HIGH_HEIGHT: isize = HEIGHT as isize / 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACKGROUND_COLOR` is never used [INFO] [stdout] --> raster/src/main.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const BACKGROUND_COLOR: [u8; 3] = [0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const WIDTH: usize = 1000; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const HEIGHT: usize = 1000; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const LOW_WIDTH: isize = -(WIDTH as isize / 2); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_WIDTH` is never used [INFO] [stdout] --> raster/src/main.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const HIGH_WIDTH: isize = WIDTH as isize / 2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOW_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const LOW_HEIGHT: isize = -(HEIGHT as isize / 2); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_HEIGHT` is never used [INFO] [stdout] --> raster/src/main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const HIGH_HEIGHT: isize = HEIGHT as isize / 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BACKGROUND_COLOR` is never used [INFO] [stdout] --> raster/src/main.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const BACKGROUND_COLOR: [u8; 3] = [0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> raytrace/src/scene.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | if let Object::Sphere(obj) = hit.obj { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> raytrace/src/scene.rs:54:63 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn trace_ray(&self, ray: Ray, t_min: f32, t_max: f32, depth: usize) -> [u8; 3] { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_min` [INFO] [stdout] --> raytrace/src/scene.rs:88:48 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_max` [INFO] [stdout] --> raytrace/src/scene.rs:88:60 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get_intersections(&self, ray: &Ray, t_min: f32, t_max: f32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | (c, r) => panic!("shouldn't ever need to handle matricies larger than 4x4"), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> raytrace/src/primitives/matrix.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | (r, c) => self[0] [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Surface`, `Vec3` [INFO] [stdout] --> raytrace/src/main.rs:9:58 [INFO] [stdout] | [INFO] [stdout] 9 | topleft_rel, Color, Matrix, PointLight, Pos3, Scene, Surface, Vec3, Viewport, [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Surface`, `Vec3` [INFO] [stdout] --> raytrace/src/main.rs:9:58 [INFO] [stdout] | [INFO] [stdout] 9 | topleft_rel, Color, Matrix, PointLight, Pos3, Scene, Surface, Vec3, Viewport, [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.36s [INFO] running `Command { std: "docker" "inspect" "352b4ab6831e69435d51315d9b3cac2049e76508262d76a5a2c0e704cac0906f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "352b4ab6831e69435d51315d9b3cac2049e76508262d76a5a2c0e704cac0906f", kill_on_drop: false }` [INFO] [stdout] 352b4ab6831e69435d51315d9b3cac2049e76508262d76a5a2c0e704cac0906f