[INFO] cloning repository https://github.com/remilb/path-tracer-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/remilb/path-tracer-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fremilb%2Fpath-tracer-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fremilb%2Fpath-tracer-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b40bb9eaebaff506d6f295e0d7df97ab39896adb [INFO] testing remilb/path-tracer-rust against master#1ddedbaa5919b7b3e70d984660e21e844c615c97 for pr-128400 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fremilb%2Fpath-tracer-rust" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/remilb/path-tracer-rust on toolchain 1ddedbaa5919b7b3e70d984660e21e844c615c97 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/remilb/path-tracer-rust [INFO] finished tweaking git repo https://github.com/remilb/path-tracer-rust [INFO] tweaked toml for git repo https://github.com/remilb/path-tracer-rust written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/remilb/path-tracer-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" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6936ceaf8748648f824c29186c25cec08fa745049a4651451a8a0c9f0ffca473 [INFO] running `Command { std: "docker" "start" "-a" "6936ceaf8748648f824c29186c25cec08fa745049a4651451a8a0c9f0ffca473", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6936ceaf8748648f824c29186c25cec08fa745049a4651451a8a0c9f0ffca473", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6936ceaf8748648f824c29186c25cec08fa745049a4651451a8a0c9f0ffca473", kill_on_drop: false }` [INFO] [stdout] 6936ceaf8748648f824c29186c25cec08fa745049a4651451a8a0c9f0ffca473 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f48c7f684d5430d65a2bdabc53210eb46ebbb5d9331b58dc23bd415020c59d57 [INFO] running `Command { std: "docker" "start" "-a" "f48c7f684d5430d65a2bdabc53210eb46ebbb5d9331b58dc23bd415020c59d57", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling getrandom v0.1.10 [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Compiling cfg-if v0.1.9 [INFO] [stderr] Compiling lazy_static v1.3.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.5 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling c2-chacha v0.2.2 [INFO] [stderr] Compiling rand_core v0.5.0 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.0 [INFO] [stderr] Compiling approx v0.3.2 [INFO] [stderr] Compiling ray_tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/geometry/bounds.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | let x = self[(corner & 1)].x; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - let x = self[(corner & 1)].x; [INFO] [stdout] 40 + let x = self[corner & 1].x; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/geometry/bounds.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | (d.x + d.x + d.y + d.y) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 209 - (d.x + d.x + d.y + d.y) [INFO] [stdout] 209 + d.x + d.x + d.y + d.y [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::FnOnce` [INFO] [stdout] --> src/geometry/ray.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::FnOnce; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bounds2` [INFO] [stdout] --> src/geometry/transform.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use super::bounds::{Bounds2, Bounds3f}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bounds2`, `Bounds2f`, `Bounds2i`, `Bounds3`, `Bounds3f`, and `Bounds3i` [INFO] [stdout] --> src/geometry.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub use bounds::{Bounds2, Bounds2f, Bounds2i, Bounds3, Bounds3f, Bounds3i}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InteractionType` and `SurfaceInteraction` [INFO] [stdout] --> src/geometry.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | pub use interaction::{InteractionType, SurfaceInteraction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Normal3`, `Normal3f`, and `Normal3i` [INFO] [stdout] --> src/geometry.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub use normal::{Normal3, Normal3f, Normal3i}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Point2i` and `Point3i` [INFO] [stdout] --> src/geometry.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | pub use point::{Point2, Point2f, Point2i, Point3, Point3f, Point3i}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Transform` and `Transformer` [INFO] [stdout] --> src/geometry.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub use transform::{Transform, Transformer}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vec2f`, `Vec2i`, `Vec3f`, and `Vec3i` [INFO] [stdout] --> src/geometry.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | pub use vector::{Vec2, Vec2f, Vec2i, Vec3, Vec3f, Vec3i}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Parallelogram` and `Plane` [INFO] [stdout] --> src/scene.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::surfaces::{Parallelogram, Plane, Sphere, Surface}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lambert` [INFO] [stdout] --> src/surfaces.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::materials::{Material, Lambert}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_ray` [INFO] [stdout] --> src/materials.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | fn shade(&self, in_ray: Ray, point: Vec3, normal: Vec3) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_ray` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mat1` [INFO] [stdout] --> src/scene.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mat1 = Material::Lambert(Lambert { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mat1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vfov` and `w` are never read [INFO] [stdout] --> src/camera.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Camera { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 9 | pos: Vec3, [INFO] [stdout] 10 | vfov: f32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `abs_dot` is never used [INFO] [stdout] --> src/geometry.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait Dot { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 28 | fn abs_dot(v1: Self, v2: RHS) -> Self::Output; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Bounds3i` is never used [INFO] [stdout] --> src/geometry/bounds.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type Bounds3i = Bounds3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Bounds2f` is never used [INFO] [stdout] --> src/geometry/bounds.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type Bounds2f = Bounds2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Bounds2i` is never used [INFO] [stdout] --> src/geometry/bounds.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub type Bounds2i = Bounds2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InteractionType` is never used [INFO] [stdout] --> src/geometry/interaction.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum InteractionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Interaction` is never used [INFO] [stdout] --> src/geometry/interaction.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait Interaction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `time` and `uv` are never read [INFO] [stdout] --> src/geometry/interaction.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct SurfaceInteraction { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 36 | pub p: Point3f, [INFO] [stdout] 37 | pub time: FloatRT, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub uv: Point2f, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MediumInteraction` is never constructed [INFO] [stdout] --> src/geometry/interaction.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct MediumInteraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Normal3i` is never used [INFO] [stdout] --> src/geometry/normal.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub type Normal3i = Normal3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normal3f` is never used [INFO] [stdout] --> src/geometry/normal.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn normal3f(x: FloatRT, y: FloatRT, z: FloatRT) -> Normal3f { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normal3i` is never used [INFO] [stdout] --> src/geometry/normal.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn normal3i(x: i32, y: i32, z: i32) -> Normal3i { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Point3i` is never used [INFO] [stdout] --> src/geometry/point.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type Point3i = Point3; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Point2i` is never used [INFO] [stdout] --> src/geometry/point.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type Point2i = Point2; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `point3f` is never used [INFO] [stdout] --> src/geometry/point.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn point3f(x: FloatRT, y: FloatRT, z: FloatRT) -> Point3f { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `point3i` is never used [INFO] [stdout] --> src/geometry/point.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn point3i(x: i32, y: i32, z: i32) -> Point3i { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `point2f` is never used [INFO] [stdout] --> src/geometry/point.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn point2f(x: FloatRT, y: FloatRT) -> Point2f { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `point2i` is never used [INFO] [stdout] --> src/geometry/point.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn point2i(x: i32, y: i32) -> Point2i { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Vec3i` is never used [INFO] [stdout] --> src/geometry/vector.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type Vec3i = Vec3; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Vec2f` is never used [INFO] [stdout] --> src/geometry/vector.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type Vec2f = Vec2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Vec2i` is never used [INFO] [stdout] --> src/geometry/vector.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub type Vec2i = Vec2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec3f` is never used [INFO] [stdout] --> src/geometry/vector.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn vec3f(x: FloatRT, y: FloatRT, z: FloatRT) -> Vec3f { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec3i` is never used [INFO] [stdout] --> src/geometry/vector.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn vec3i(x: i32, y: i32, z: i32) -> Vec3i { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec2f` is never used [INFO] [stdout] --> src/geometry/vector.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn vec2f(x: FloatRT, y: FloatRT) -> Vec2f { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec2i` is never used [INFO] [stdout] --> src/geometry/vector.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn vec2i(x: i32, y: i32) -> Vec2i { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `u_len` and `v_len` are never read [INFO] [stdout] --> src/surfaces.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Parallelogram { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | u_len: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 83 | v_len: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Parallelogram` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quadratic` is never used [INFO] [stdout] --> src/utils.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn quadratic(a: FloatRT, b: FloatRT, c: FloatRT) -> Option<(FloatRT, FloatRT)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/geometry/bounds.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | assert!(corner >= 0 && corner < 8); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `tMax` should have a snake case name [INFO] [stdout] --> src/geometry/ray.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub tMax: FloatRT, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `t_max` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tMax` should have a snake case name [INFO] [stdout] --> src/geometry/ray.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(o: Point3f, d: Vec3f, tMax: FloatRT, time: FloatRT) -> Ray { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.40s [INFO] running `Command { std: "docker" "inspect" "f48c7f684d5430d65a2bdabc53210eb46ebbb5d9331b58dc23bd415020c59d57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f48c7f684d5430d65a2bdabc53210eb46ebbb5d9331b58dc23bd415020c59d57", kill_on_drop: false }` [INFO] [stdout] f48c7f684d5430d65a2bdabc53210eb46ebbb5d9331b58dc23bd415020c59d57 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7965fcd69dea8ad85736095e24353c08817158fe28c4550ca2f1d803026c9477 [INFO] running `Command { std: "docker" "start" "-a" "7965fcd69dea8ad85736095e24353c08817158fe28c4550ca2f1d803026c9477", kill_on_drop: false }` [INFO] [stderr] Compiling ray_tracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/geometry/bounds.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | let x = self[(corner & 1)].x; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - let x = self[(corner & 1)].x; [INFO] [stdout] 40 + let x = self[corner & 1].x; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/geometry/bounds.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | (d.x + d.x + d.y + d.y) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 209 - (d.x + d.x + d.y + d.y) [INFO] [stdout] 209 + d.x + d.x + d.y + d.y [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::FnOnce` [INFO] [stdout] --> src/geometry/ray.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::FnOnce; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bounds2` [INFO] [stdout] --> src/geometry/transform.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use super::bounds::{Bounds2, Bounds3f}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Bounds2`, `Bounds2f`, `Bounds2i`, `Bounds3`, `Bounds3f`, and `Bounds3i` [INFO] [stdout] --> src/geometry.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub use bounds::{Bounds2, Bounds2f, Bounds2i, Bounds3, Bounds3f, Bounds3i}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InteractionType` and `SurfaceInteraction` [INFO] [stdout] --> src/geometry.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | pub use interaction::{InteractionType, SurfaceInteraction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Normal3`, `Normal3f`, and `Normal3i` [INFO] [stdout] --> src/geometry.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub use normal::{Normal3, Normal3f, Normal3i}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Point2i` and `Point3i` [INFO] [stdout] --> src/geometry.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | pub use point::{Point2, Point2f, Point2i, Point3, Point3f, Point3i}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Transform` and `Transformer` [INFO] [stdout] --> src/geometry.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub use transform::{Transform, Transformer}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vec2f`, `Vec2i`, `Vec3f`, and `Vec3i` [INFO] [stdout] --> src/geometry.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | pub use vector::{Vec2, Vec2f, Vec2i, Vec3, Vec3f, Vec3i}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Parallelogram` and `Plane` [INFO] [stdout] --> src/scene.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::surfaces::{Parallelogram, Plane, Sphere, Surface}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Lambert` [INFO] [stdout] --> src/surfaces.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::materials::{Material, Lambert}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_ray` [INFO] [stdout] --> src/materials.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | fn shade(&self, in_ray: Ray, point: Vec3, normal: Vec3) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_ray` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mat1` [INFO] [stdout] --> src/scene.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mat1 = Material::Lambert(Lambert { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mat1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vfov` and `w` are never read [INFO] [stdout] --> src/camera.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Camera { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 9 | pos: Vec3, [INFO] [stdout] 10 | vfov: f32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | w: Vec3, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `abs_dot` is never used [INFO] [stdout] --> src/geometry.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait Dot { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 28 | fn abs_dot(v1: Self, v2: RHS) -> Self::Output; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Bounds3i` is never used [INFO] [stdout] --> src/geometry/bounds.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type Bounds3i = Bounds3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Bounds2i` is never used [INFO] [stdout] --> src/geometry/bounds.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub type Bounds2i = Bounds2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InteractionType` is never used [INFO] [stdout] --> src/geometry/interaction.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum InteractionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Interaction` is never used [INFO] [stdout] --> src/geometry/interaction.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait Interaction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `time` and `uv` are never read [INFO] [stdout] --> src/geometry/interaction.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct SurfaceInteraction { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 36 | pub p: Point3f, [INFO] [stdout] 37 | pub time: FloatRT, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub uv: Point2f, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MediumInteraction` is never constructed [INFO] [stdout] --> src/geometry/interaction.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct MediumInteraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `u_len` and `v_len` are never read [INFO] [stdout] --> src/surfaces.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Parallelogram { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | u_len: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 83 | v_len: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Parallelogram` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quadratic` is never used [INFO] [stdout] --> src/utils.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn quadratic(a: FloatRT, b: FloatRT, c: FloatRT) -> Option<(FloatRT, FloatRT)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/geometry/bounds.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | assert!(corner >= 0 && corner < 8); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `tMax` should have a snake case name [INFO] [stdout] --> src/geometry/ray.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub tMax: FloatRT, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `t_max` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tMax` should have a snake case name [INFO] [stdout] --> src/geometry/ray.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(o: Point3f, d: Vec3f, tMax: FloatRT, time: FloatRT) -> Ray { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `t_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s [INFO] running `Command { std: "docker" "inspect" "7965fcd69dea8ad85736095e24353c08817158fe28c4550ca2f1d803026c9477", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7965fcd69dea8ad85736095e24353c08817158fe28c4550ca2f1d803026c9477", kill_on_drop: false }` [INFO] [stdout] 7965fcd69dea8ad85736095e24353c08817158fe28c4550ca2f1d803026c9477 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+1ddedbaa5919b7b3e70d984660e21e844c615c97" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f325f986e94ba230c398c6c3e3be7f2277b99126c1f2b7e89ab958c24f536066 [INFO] running `Command { std: "docker" "start" "-a" "f325f986e94ba230c398c6c3e3be7f2277b99126c1f2b7e89ab958c24f536066", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around index expression [INFO] [stderr] --> src/geometry/bounds.rs:40:22 [INFO] [stderr] | [INFO] [stderr] 40 | let x = self[(corner & 1)].x; [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 40 - let x = self[(corner & 1)].x; [INFO] [stderr] 40 + let x = self[corner & 1].x; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/geometry/bounds.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | (d.x + d.x + d.y + d.y) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 209 - (d.x + d.x + d.y + d.y) [INFO] [stderr] 209 + d.x + d.x + d.y + d.y [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::FnOnce` [INFO] [stderr] --> src/geometry/ray.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ops::FnOnce; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Bounds2` [INFO] [stderr] --> src/geometry/transform.rs:2:21 [INFO] [stderr] | [INFO] [stderr] 2 | use super::bounds::{Bounds2, Bounds3f}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Bounds2`, `Bounds2f`, `Bounds2i`, `Bounds3`, `Bounds3f`, and `Bounds3i` [INFO] [stderr] --> src/geometry.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | pub use bounds::{Bounds2, Bounds2f, Bounds2i, Bounds3, Bounds3f, Bounds3i}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `InteractionType` and `SurfaceInteraction` [INFO] [stderr] --> src/geometry.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | pub use interaction::{InteractionType, SurfaceInteraction}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Normal3`, `Normal3f`, and `Normal3i` [INFO] [stderr] --> src/geometry.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | pub use normal::{Normal3, Normal3f, Normal3i}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Point2i` and `Point3i` [INFO] [stderr] --> src/geometry.rs:19:34 [INFO] [stderr] | [INFO] [stderr] 19 | pub use point::{Point2, Point2f, Point2i, Point3, Point3f, Point3i}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Transform` and `Transformer` [INFO] [stderr] --> src/geometry.rs:21:21 [INFO] [stderr] | [INFO] [stderr] 21 | pub use transform::{Transform, Transformer}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Vec2f`, `Vec2i`, `Vec3f`, and `Vec3i` [INFO] [stderr] --> src/geometry.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | pub use vector::{Vec2, Vec2f, Vec2i, Vec3, Vec3f, Vec3i}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Parallelogram` and `Plane` [INFO] [stderr] --> src/scene.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::surfaces::{Parallelogram, Plane, Sphere, Surface}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lambert` [INFO] [stderr] --> src/surfaces.rs:3:34 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::materials::{Material, Lambert}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `in_ray` [INFO] [stderr] --> src/materials.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | fn shade(&self, in_ray: Ray, point: Vec3, normal: Vec3) -> Option { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_ray` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mat1` [INFO] [stderr] --> src/scene.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | let mat1 = Material::Lambert(Lambert { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mat1` [INFO] [stderr] [INFO] [stderr] warning: fields `vfov` and `w` are never read [INFO] [stderr] --> src/camera.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct Camera { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 9 | pos: Vec3, [INFO] [stderr] 10 | vfov: f32, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 17 | w: Vec3, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `abs_dot` is never used [INFO] [stderr] --> src/geometry.rs:28:8 [INFO] [stderr] | [INFO] [stderr] 25 | pub trait Dot { [INFO] [stderr] | --- associated function in this trait [INFO] [stderr] ... [INFO] [stderr] 28 | fn abs_dot(v1: Self, v2: RHS) -> Self::Output; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `Bounds3i` is never used [INFO] [stderr] --> src/geometry/bounds.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | pub type Bounds3i = Bounds3; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `Bounds2i` is never used [INFO] [stderr] --> src/geometry/bounds.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | pub type Bounds2i = Bounds2; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `InteractionType` is never used [INFO] [stderr] --> src/geometry/interaction.rs:8:10 [INFO] [stderr] | [INFO] [stderr] 8 | pub enum InteractionType { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Interaction` is never used [INFO] [stderr] --> src/geometry/interaction.rs:14:11 [INFO] [stderr] | [INFO] [stderr] 14 | pub trait Interaction { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `time` and `uv` are never read [INFO] [stderr] --> src/geometry/interaction.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 35 | pub struct SurfaceInteraction { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] 36 | pub p: Point3f, [INFO] [stderr] 37 | pub time: FloatRT, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | pub uv: Point2f, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MediumInteraction` is never constructed [INFO] [stderr] --> src/geometry/interaction.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | pub struct MediumInteraction { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `u_len` and `v_len` are never read [INFO] [stderr] --> src/surfaces.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub struct Parallelogram { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 82 | u_len: f32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 83 | v_len: f32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Parallelogram` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `quadratic` is never used [INFO] [stderr] --> src/utils.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn quadratic(a: FloatRT, b: FloatRT, c: FloatRT) -> Option<(FloatRT, FloatRT)> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/geometry/bounds.rs:39:17 [INFO] [stderr] | [INFO] [stderr] 39 | assert!(corner >= 0 && corner < 8); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `tMax` should have a snake case name [INFO] [stderr] --> src/geometry/ray.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub tMax: FloatRT, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `t_max` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `tMax` should have a snake case name [INFO] [stderr] --> src/geometry/ray.rs:15:38 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(o: Point3f, d: Vec3f, tMax: FloatRT, time: FloatRT) -> Ray { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `t_max` [INFO] [stderr] [INFO] [stderr] warning: `ray_tracer` (bin "ray_tracer" test) generated 27 warnings (run `cargo fix --bin "ray_tracer" --tests` to apply 12 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ray_tracer-a6276b963d4681de) [INFO] [stdout] [INFO] [stdout] running 88 tests [INFO] [stdout] test geometry::bounds::tests::area ... ok [INFO] [stdout] test geometry::bounds::tests::bounding_sphere ... ok [INFO] [stdout] test geometry::bounds::tests::corners ... ok [INFO] [stdout] test geometry::bounds::tests::diagonal ... ok [INFO] [stdout] test geometry::bounds::tests::expand ... ok [INFO] [stdout] test geometry::bounds::tests::from_point ... ok [INFO] [stdout] test geometry::bounds::tests::index ... ok [INFO] [stdout] test geometry::bounds::tests::inside ... ok [INFO] [stdout] test geometry::bounds::tests::inside_exclusive ... ok [INFO] [stdout] test geometry::bounds::tests::intersect ... ok [INFO] [stdout] test geometry::bounds::tests::maximum_extent ... ok [INFO] [stdout] test geometry::bounds::tests::overlaps ... ok [INFO] [stdout] test geometry::bounds::tests::offset ... ok [INFO] [stdout] test geometry::bounds::tests::lerp ... ok [INFO] [stdout] test geometry::bounds::tests::surface_area ... ok [INFO] [stdout] test geometry::bounds::tests::union_point ... ok [INFO] [stdout] test geometry::bounds::tests::volume ... ok [INFO] [stdout] test geometry::bounds::tests::union ... ok [INFO] [stdout] test geometry::bounds::tests::ray_intersect_test ... ok [INFO] [stdout] test geometry::matrix::tests::multiply ... ok [INFO] [stdout] test geometry::matrix::tests::default ... ok [INFO] [stdout] test geometry::matrix::tests::inverse ... ok [INFO] [stdout] test geometry::matrix::tests::inverse_add_rows ... ok [INFO] [stdout] test geometry::bounds::tests::perimeter ... ok [INFO] [stdout] test geometry::matrix::tests::equals ... ok [INFO] [stdout] test geometry::normal::tests::cast ... ok [INFO] [stdout] test geometry::normal::tests::cross_with_vec ... ok [INFO] [stdout] test geometry::normal::tests::abs ... ok [INFO] [stdout] test geometry::normal::tests::div_by_scalar ... ok [INFO] [stdout] test geometry::normal::tests::add ... ok [INFO] [stdout] test geometry::matrix::tests::inverse_find_pivot ... ok [INFO] [stdout] test geometry::normal::tests::dot ... ok [INFO] [stdout] test geometry::normal::tests::equals ... ok [INFO] [stdout] test geometry::normal::tests::index ... ok [INFO] [stdout] test geometry::normal::tests::face_forward ... ok [INFO] [stdout] test geometry::normal::tests::mul_by_scalar ... ok [INFO] [stdout] test geometry::normal::tests::max_min ... ok [INFO] [stdout] test geometry::normal::tests::sub ... ok [INFO] [stdout] test geometry::point::tests::add_vector ... ok [INFO] [stdout] test geometry::point::tests::add ... ok [INFO] [stdout] test geometry::normal::tests::not_equals ... ok [INFO] [stdout] test geometry::normal::tests::negate ... ok [INFO] [stdout] test geometry::normal::tests::normalize ... ok [INFO] [stdout] test geometry::normal::tests::length ... ok [INFO] [stdout] test geometry::point::tests::cast ... ok [INFO] [stdout] test geometry::point::tests::dist ... ok [INFO] [stdout] test geometry::point::tests::div_by_scalar ... ok [INFO] [stdout] test geometry::point::tests::equals ... ok [INFO] [stdout] test geometry::point::tests::extend_truncate ... ok [INFO] [stdout] test geometry::point::tests::mul_by_scalar ... ok [INFO] [stdout] test geometry::point::tests::max ... ok [INFO] [stdout] test geometry::point::tests::floor_ceil_abs ... ok [INFO] [stdout] test geometry::point::tests::lerp ... ok [INFO] [stdout] test geometry::point::tests::not_equals ... ok [INFO] [stdout] test geometry::point::tests::sub ... ok [INFO] [stdout] test geometry::transform::tests::has_scale ... ok [INFO] [stdout] test geometry::transform::tests::swaps_handedness ... ok [INFO] [stdout] test geometry::transform::tests::scale ... ok [INFO] [stdout] test geometry::ray::tests::point_at_t ... ok [INFO] [stdout] test geometry::transform::tests::translate ... ok [INFO] [stdout] test geometry::vector::tests::coordinate_system ... ok [INFO] [stdout] test geometry::vector::tests::cross ... ok [INFO] [stdout] test geometry::vector::tests::abs ... ok [INFO] [stdout] test geometry::vector::tests::div_by_scalar ... ok [INFO] [stdout] test geometry::vector::tests::add ... ok [INFO] [stdout] test geometry::vector::tests::dot ... ok [INFO] [stdout] test geometry::vector::tests::cast ... ok [INFO] [stdout] test geometry::vector::tests::equals ... ok [INFO] [stdout] test geometry::vector::tests::index ... ok [INFO] [stdout] test geometry::vector::tests::max_min ... ok [INFO] [stdout] test geometry::vector::tests::mul_by_scalar ... ok [INFO] [stdout] test geometry::vector::tests::length ... ok [INFO] [stdout] test geometry::vector::tests::negate ... ok [INFO] [stdout] test geometry::vector::tests::normalize ... ok [INFO] [stdout] test geometry::vector::tests::permute ... ok [INFO] [stdout] test geometry::vector::tests::not_equals ... ok [INFO] [stdout] test geometry::vector::tests::sub ... ok [INFO] [stdout] test vec3::test::vector_add ... ok [INFO] [stdout] test vec3::test::vector_cross ... ok [INFO] [stdout] test vec3::test::vector_div_by_scalar ... ok [INFO] [stdout] test vec3::test::vector_dot ... ok [INFO] [stdout] test vec3::test::vector_equals ... ok [INFO] [stdout] test vec3::test::vector_sub ... ok [INFO] [stdout] test vec3::test::vector_negate ... ok [INFO] [stdout] test vec3::test::vector_mul_by_scalar ... ok [INFO] [stdout] test geometry::normal::tests::no_nans - should panic ... ok [INFO] [stdout] test geometry::point::tests::no_nans - should panic ... ok [INFO] [stdout] test geometry::vector::tests::no_nans - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f325f986e94ba230c398c6c3e3be7f2277b99126c1f2b7e89ab958c24f536066", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f325f986e94ba230c398c6c3e3be7f2277b99126c1f2b7e89ab958c24f536066", kill_on_drop: false }` [INFO] [stdout] f325f986e94ba230c398c6c3e3be7f2277b99126c1f2b7e89ab958c24f536066