[INFO] cloning repository https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstarrywiki%2FRayTracing-in-One-Week-by-Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstarrywiki%2FRayTracing-in-One-Week-by-Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bb7c0f7874a79e650bc3cee9d9706b05c825098f
[INFO] building starrywiki/RayTracing-in-One-Week-by-Rust against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstarrywiki%2FRayTracing-in-One-Week-by-Rust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  29% (44/148)
Updating files:  30% (45/148)
Updating files:  31% (46/148)
Updating files:  32% (48/148)
Updating files:  33% (49/148)
Updating files:  34% (51/148)
Updating files:  35% (52/148)
Updating files:  36% (54/148)
Updating files:  37% (55/148)
Updating files:  38% (57/148)
Updating files:  39% (58/148)
Updating files:  40% (60/148)
Updating files:  41% (61/148)
Updating files:  42% (63/148)
Updating files:  43% (64/148)
Updating files:  44% (66/148)
Updating files:  45% (67/148)
Updating files:  46% (69/148)
Updating files:  47% (70/148)
Updating files:  48% (72/148)
Updating files:  49% (73/148)
Updating files:  50% (74/148)
Updating files:  51% (76/148)
Updating files:  52% (77/148)
Updating files:  53% (79/148)
Updating files:  54% (80/148)
Updating files:  55% (82/148)
Updating files:  56% (83/148)
Updating files:  57% (85/148)
Updating files:  58% (86/148)
Updating files:  59% (88/148)
Updating files:  60% (89/148)
Updating files:  61% (91/148)
Updating files:  62% (92/148)
Updating files:  63% (94/148)
Updating files:  64% (95/148)
Updating files:  65% (97/148)
Updating files:  66% (98/148)
Updating files:  67% (100/148)
Updating files:  68% (101/148)
Updating files:  69% (103/148)
Updating files:  70% (104/148)
Updating files:  71% (106/148)
Updating files:  72% (107/148)
Updating files:  73% (109/148)
Updating files:  74% (110/148)
Updating files:  75% (111/148)
Updating files:  76% (113/148)
Updating files:  77% (114/148)
Updating files:  78% (116/148)
Updating files:  79% (117/148)
Updating files:  80% (119/148)
Updating files:  81% (120/148)
Updating files:  82% (122/148)
Updating files:  83% (123/148)
Updating files:  84% (125/148)
Updating files:  85% (126/148)
Updating files:  86% (128/148)
Updating files:  87% (129/148)
Updating files:  88% (131/148)
Updating files:  89% (132/148)
Updating files:  90% (134/148)
Updating files:  91% (135/148)
Updating files:  92% (137/148)
Updating files:  93% (138/148)
Updating files:  94% (140/148)
Updating files:  95% (141/148)
Updating files:  96% (143/148)
Updating files:  97% (144/148)
Updating files:  98% (146/148)
Updating files:  99% (147/148)
Updating files: 100% (148/148)
Updating files: 100% (148/148), done.
[INFO] started tweaking git repo https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust
[INFO] finished tweaking git repo https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust
[INFO] tweaked toml for git repo https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/starrywiki/RayTracing-in-One-Week-by-Rust 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 571fbb352c7054f6182ec943c53d9838fdb902101b84cd930e18bdfcddac7e51
[INFO] running `Command { std: "docker" "start" "-a" "571fbb352c7054f6182ec943c53d9838fdb902101b84cd930e18bdfcddac7e51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "571fbb352c7054f6182ec943c53d9838fdb902101b84cd930e18bdfcddac7e51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "571fbb352c7054f6182ec943c53d9838fdb902101b84cd930e18bdfcddac7e51", kill_on_drop: false }`
[INFO] [stdout] 571fbb352c7054f6182ec943c53d9838fdb902101b84cd930e18bdfcddac7e51
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10b599ad5319365ad0eabc5e9bf7e67dcd17a9f6b9b0091ed49c72d20c27d533
[INFO] running `Command { std: "docker" "start" "-a" "10b599ad5319365ad0eabc5e9bf7e67dcd17a9f6b9b0091ed49c72d20c27d533", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling imgref v1.11.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling bitstream-io v2.6.0
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling avif-serialize v0.8.4
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling bytemuck v1.23.1
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling rgb v0.8.50
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling zune-jpeg v0.4.18
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling image-webp v0.2.3
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling profiling v1.0.17
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling av1-grain v0.2.4
[INFO] [stderr]    Compiling gltf-json v1.4.1
[INFO] [stderr]    Compiling ravif v0.11.20
[INFO] [stderr]    Compiling image v0.25.6
[INFO] [stderr]    Compiling gltf v1.4.1
[INFO] [stderr]    Compiling RayTracing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::ray`
[INFO] [stdout]  --> src/camera.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ray;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sphere::Sphere`
[INFO] [stdout]   --> src/camera.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::sphere::Sphere;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]   --> src/constant_medium.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vec3::{Point3, Vec3};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::aabb`
[INFO] [stdout]  --> src/hittable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::aabb;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vec3`, `cross`, and `dot`
[INFO] [stdout]   --> src/mesh.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::vec3::{cross, dot, Point3, Vec3};
[INFO] [stdout]    |                   ^^^^^  ^^^          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::hdr::HdrDecoder`
[INFO] [stdout]  --> src/rtw_image.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use image::codecs::hdr::HdrDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pixel`
[INFO] [stdout]  --> src/rtw_image.rs:3:58
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{DynamicImage, GenericImageView, ImageReader, Pixel};
[INFO] [stdout]   |                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lambertian` and `Metal`
[INFO] [stdout]  --> src/sphere.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::material::{Lambertian, Material, Metal};
[INFO] [stdout]   |                       ^^^^^^^^^^            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtweekend`
[INFO] [stdout]  --> src/texture.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::rtweekend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HitRecord` and `RotateX`
[INFO] [stdout]   --> src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | use hittable::{HitRecord, Hittable, RotateX, RotateY, RotateZ, Scale, Translate};
[INFO] [stdout]    |                ^^^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `perlin::Perlin`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use perlin::Perlin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ray::Ray`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use ray::Ray;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtw_image::RtwImage`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use rtw_image::RtwImage;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `triangle::Triangle`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use triangle::Triangle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/rtw_image.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{DynamicImage, GenericImageView, ImageReader, Pixel};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material::Material`
[INFO] [stdout]  --> src/camera.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::material::Material;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/perlin.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for i in 0..depth {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/texture.rs:89:37
[INFO] [stdout]    |
[INFO] [stdout] 89 |     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: `u`
[INFO] [stdout]    --> src/texture.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, _u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]     |
[INFO] [stdout] 127 -     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 127 +     fn value(&self, rtweekend::PI: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/texture.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, u: f64, _v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]     |
[INFO] [stdout] 127 -     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 127 +     fn value(&self, u: f64, rtweekend::PI: f64, p: &Point3) -> Color {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r_in`
[INFO] [stdout]    --> src/material.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         r_in: &Ray,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/material.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         rec: &HitRecord,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attenuation`
[INFO] [stdout]    --> src/material.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |         attenuation: &mut Color,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attenuation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]    --> src/material.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         scattered: &mut Ray,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gltf_images`
[INFO] [stdout]   --> src/mesh.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let (doc, buffers, gltf_images) =
[INFO] [stdout]    |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gltf_images`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/hittable.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |         if let b = orig_bbox {
[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: `world`
[INFO] [stdout]   --> src/camera.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let world = HittableList::default();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/material.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, _u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]    |
[INFO] [stdout] 22 -     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 22 +     fn emitted(&self, rtweekend::PI: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/material.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, u: f64, _v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]    |
[INFO] [stdout] 22 -     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 22 +     fn emitted(&self, u: f64, rtweekend::PI: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/material.rs:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 |     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/constant_medium.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut t2 = rec2.t.min(ray_t.max);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/mesh.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     Err(e) => {}
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mime_type`
[INFO] [stdout]    --> src/mesh.rs:173:47
[INFO] [stdout]     |
[INFO] [stdout] 173 |             gltf::image::Source::View { view, mime_type } => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `mime_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/mesh.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     Err(e) => {}
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Manhattanhenge` should have a snake case name
[INFO] [stdout]    --> src/main.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn Manhattanhenge() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `manhattanhenge`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]   --> src/quad.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     D: f64,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/quad.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let D = vec3::dot(normal, q);
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::sync::MutexGuard` that must be used
[INFO] [stdout]    --> src/camera.rs:154:25
[INFO] [stdout]     |
[INFO] [stdout] 154 | /                         thread_number_controller
[INFO] [stdout] 155 | |                             .wait(lock_for_condv.lock().unwrap())
[INFO] [stdout] 156 | |                             .unwrap();
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if unused the Mutex will immediately unlock
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 154 |                         let _ = thread_number_controller
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] running `Command { std: "docker" "inspect" "10b599ad5319365ad0eabc5e9bf7e67dcd17a9f6b9b0091ed49c72d20c27d533", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10b599ad5319365ad0eabc5e9bf7e67dcd17a9f6b9b0091ed49c72d20c27d533", kill_on_drop: false }`
[INFO] [stdout] 10b599ad5319365ad0eabc5e9bf7e67dcd17a9f6b9b0091ed49c72d20c27d533
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0f7a6a09a540d7c6323138b75de542ac874e1c821d757488a5c6946a447456a6
[INFO] running `Command { std: "docker" "start" "-a" "0f7a6a09a540d7c6323138b75de542ac874e1c821d757488a5c6946a447456a6", kill_on_drop: false }`
[INFO] [stderr]    Compiling RayTracing v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::ray`
[INFO] [stdout]  --> src/camera.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ray;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sphere::Sphere`
[INFO] [stdout]   --> src/camera.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::sphere::Sphere;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]   --> src/constant_medium.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vec3::{Point3, Vec3};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::aabb`
[INFO] [stdout]  --> src/hittable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::aabb;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vec3`, `cross`, and `dot`
[INFO] [stdout]   --> src/mesh.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::vec3::{cross, dot, Point3, Vec3};
[INFO] [stdout]    |                   ^^^^^  ^^^          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::hdr::HdrDecoder`
[INFO] [stdout]  --> src/rtw_image.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use image::codecs::hdr::HdrDecoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pixel`
[INFO] [stdout]  --> src/rtw_image.rs:3:58
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{DynamicImage, GenericImageView, ImageReader, Pixel};
[INFO] [stdout]   |                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lambertian` and `Metal`
[INFO] [stdout]  --> src/sphere.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::material::{Lambertian, Material, Metal};
[INFO] [stdout]   |                       ^^^^^^^^^^            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rtweekend`
[INFO] [stdout]  --> src/texture.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::rtweekend;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HitRecord` and `RotateX`
[INFO] [stdout]   --> src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | use hittable::{HitRecord, Hittable, RotateX, RotateY, RotateZ, Scale, Translate};
[INFO] [stdout]    |                ^^^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `perlin::Perlin`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use perlin::Perlin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ray::Ray`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use ray::Ray;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtw_image::RtwImage`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use rtw_image::RtwImage;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `triangle::Triangle`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use triangle::Triangle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/rtw_image.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{DynamicImage, GenericImageView, ImageReader, Pixel};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::material::Material`
[INFO] [stdout]  --> src/camera.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::material::Material;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/texture.rs:89:37
[INFO] [stdout]    |
[INFO] [stdout] 89 |     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]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/texture.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, _u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]     |
[INFO] [stdout] 127 -     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 127 +     fn value(&self, rtweekend::PI: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/texture.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn value(&self, u: f64, _v: f64, p: &Point3) -> Color {
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]     |
[INFO] [stdout] 127 -     fn value(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 127 +     fn value(&self, u: f64, rtweekend::PI: f64, p: &Point3) -> Color {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/material.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, _u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]    |
[INFO] [stdout] 22 -     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 22 +     fn emitted(&self, rtweekend::PI: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/material.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn emitted(&self, u: f64, _v: f64, p: &Point3) -> Color {
[INFO] [stdout]    |                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `PI`
[INFO] [stdout]    |
[INFO] [stdout] 22 -     fn emitted(&self, u: f64, v: f64, p: &Point3) -> Color {
[INFO] [stdout] 22 +     fn emitted(&self, u: f64, rtweekend::PI: f64, p: &Point3) -> Color {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/material.rs:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 |     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: irrefutable `if let` pattern
[INFO] [stdout]    --> src/hittable.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |         if let b = orig_bbox {
[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: `r_in`
[INFO] [stdout]    --> src/material.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         r_in: &Ray,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_r_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rec`
[INFO] [stdout]    --> src/material.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         rec: &HitRecord,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_rec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attenuation`
[INFO] [stdout]    --> src/material.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |         attenuation: &mut Color,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attenuation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scattered`
[INFO] [stdout]    --> src/material.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         scattered: &mut Ray,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scattered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/camera.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let world = HittableList::default();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/perlin.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for i in 0..depth {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gltf_images`
[INFO] [stdout]   --> src/mesh.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let (doc, buffers, gltf_images) =
[INFO] [stdout]    |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gltf_images`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/constant_medium.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut t2 = rec2.t.min(ray_t.max);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/mesh.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     Err(e) => {}
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mime_type`
[INFO] [stdout]    --> src/mesh.rs:173:47
[INFO] [stdout]     |
[INFO] [stdout] 173 |             gltf::image::Source::View { view, mime_type } => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `mime_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/mesh.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     Err(e) => {}
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]   --> src/quad.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     D: f64,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Manhattanhenge` should have a snake case name
[INFO] [stdout]    --> src/main.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn Manhattanhenge() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `manhattanhenge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/quad.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let D = vec3::dot(normal, q);
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::sync::MutexGuard` that must be used
[INFO] [stdout]    --> src/camera.rs:154:25
[INFO] [stdout]     |
[INFO] [stdout] 154 | /                         thread_number_controller
[INFO] [stdout] 155 | |                             .wait(lock_for_condv.lock().unwrap())
[INFO] [stdout] 156 | |                             .unwrap();
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if unused the Mutex will immediately unlock
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 154 |                         let _ = thread_number_controller
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.86s
[INFO] running `Command { std: "docker" "inspect" "0f7a6a09a540d7c6323138b75de542ac874e1c821d757488a5c6946a447456a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f7a6a09a540d7c6323138b75de542ac874e1c821d757488a5c6946a447456a6", kill_on_drop: false }`
[INFO] [stdout] 0f7a6a09a540d7c6323138b75de542ac874e1c821d757488a5c6946a447456a6
