[INFO] cloning repository https://github.com/kofls/kf_challenge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kofls/kf_challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkofls%2Fkf_challenge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkofls%2Fkf_challenge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b4593895fab7293841fde5db31b07668f7cbb8e9
[INFO] testing kofls/kf_challenge against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkofls%2Fkf_challenge" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kofls/kf_challenge
[INFO] finished tweaking git repo https://github.com/kofls/kf_challenge
[INFO] tweaked toml for git repo https://github.com/kofls/kf_challenge written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kofls/kf_challenge on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kofls/kf_challenge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267
[INFO] running `Command { std: "docker" "start" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling approx v0.3.1
[INFO] [stderr]    Compiling vecmat v0.4.0
[INFO] [stderr]    Compiling kf_challenge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `vec::Vec2` and `vec::Vec3`
[INFO] [stdout]  --> src/lib.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use vecmat::{vec::Vec2, vec::Vec3};
[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: `approx::abs_diff_eq`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use approx::abs_diff_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f64;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let u = if unit_z.dot(t) < f64::EPSILON {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:65:64
[INFO] [stdout]    |
[INFO] [stdout] 65 |         abs_diff_eq!(self.t.dot(distance), 0.0, epsilon = f64::EPSILON)
[INFO] [stdout]    |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 (local_point[0].abs() <= bound.x_half_bound + f64::EPSILON) && 
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:75:68
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 (local_point[1].abs() <= bound.y_half_bound + f64::EPSILON)
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaneSurface` is never constructed
[INFO] [stdout]   --> src/geometry.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PlaneSurface {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/geometry.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl PlaneSurface {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new(center: Vec3<f64>, normal: Vec3<f64>, bounds: Option<Bound>) -> Self{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn is_point_on_surface(&self, point: &Vec3<f64>) -> bool{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn is_point_on_plane(&self, point: &Vec3<f64>) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn is_point_in_bounds(&self, point: &Vec3<f64>) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn global_to_local_2d(&self, global_point: &Vec3<f64>) -> Vec2<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn local_2d_to_global(&self, local_point: &Vec2<f64>) -> Vec3<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn local_to_global(&self, local_point: &Vec3<f64>) -> Vec3<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn global_to_local(&self, global_point: &Vec3<f64>) -> Vec3<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bound` is never used
[INFO] [stdout]  --> src/bound.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Bound {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RectangleBound` is never constructed
[INFO] [stdout]  --> src/bound.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RectangleBound {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bound.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RectangleBound {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(x_half_bound: f64, y_half_bound: f64) -> Bound{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate` is never used
[INFO] [stdout]  --> src/linalg.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn translate(x: Vec3<f64>, trans: Vec3<f64>) -> Vec3<f64>{
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_about_x_axis` is never used
[INFO] [stdout]  --> src/linalg.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn rotate_about_x_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_about_y_axis` is never used
[INFO] [stdout]   --> src/linalg.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn rotate_about_y_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_about_z_axis` is never used
[INFO] [stdout]   --> src/linalg.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn rotate_about_z_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let u = if unit_z.dot(t) < f64::EPSILON {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:65:64
[INFO] [stdout]    |
[INFO] [stdout] 65 |         abs_diff_eq!(self.t.dot(distance), 0.0, epsilon = f64::EPSILON)
[INFO] [stdout]    |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 (local_point[0].abs() <= bound.x_half_bound + f64::EPSILON) && 
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:75:68
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 (local_point[1].abs() <= bound.y_half_bound + f64::EPSILON)
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Other` is never constructed
[INFO] [stdout]  --> src/bound.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Bound {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 3 |     Rectangle(RectangleBound),
[INFO] [stdout] 4 |     Other, // Can be extended to use other types of bounds
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Bound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3.50s
[INFO] running `Command { std: "docker" "inspect" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `vec::Vec2` and `vec::Vec3`
[INFO] [stdout]  --> src/lib.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use vecmat::{vec::Vec2, vec::Vec3};
[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: `approx::abs_diff_eq`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use approx::abs_diff_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f64;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kf_challenge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let u = if unit_z.dot(t) < f64::EPSILON {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:65:64
[INFO] [stdout]    |
[INFO] [stdout] 65 |         abs_diff_eq!(self.t.dot(distance), 0.0, epsilon = f64::EPSILON)
[INFO] [stdout]    |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 (local_point[0].abs() <= bound.x_half_bound + f64::EPSILON) && 
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:75:68
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 (local_point[1].abs() <= bound.y_half_bound + f64::EPSILON)
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaneSurface` is never constructed
[INFO] [stdout]   --> src/geometry.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PlaneSurface {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/geometry.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl PlaneSurface {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new(center: Vec3<f64>, normal: Vec3<f64>, bounds: Option<Bound>) -> Self{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn is_point_on_surface(&self, point: &Vec3<f64>) -> bool{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn is_point_on_plane(&self, point: &Vec3<f64>) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn is_point_in_bounds(&self, point: &Vec3<f64>) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn global_to_local_2d(&self, global_point: &Vec3<f64>) -> Vec2<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn local_2d_to_global(&self, local_point: &Vec2<f64>) -> Vec3<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn local_to_global(&self, local_point: &Vec3<f64>) -> Vec3<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn global_to_local(&self, global_point: &Vec3<f64>) -> Vec3<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bound` is never used
[INFO] [stdout]  --> src/bound.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Bound {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RectangleBound` is never constructed
[INFO] [stdout]  --> src/bound.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RectangleBound {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bound.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RectangleBound {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(x_half_bound: f64, y_half_bound: f64) -> Bound{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate` is never used
[INFO] [stdout]  --> src/linalg.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn translate(x: Vec3<f64>, trans: Vec3<f64>) -> Vec3<f64>{
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_about_x_axis` is never used
[INFO] [stdout]  --> src/linalg.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn rotate_about_x_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_about_y_axis` is never used
[INFO] [stdout]   --> src/linalg.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn rotate_about_y_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_about_z_axis` is never used
[INFO] [stdout]   --> src/linalg.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn rotate_about_z_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let u = if unit_z.dot(t) < f64::EPSILON {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:65:64
[INFO] [stdout]    |
[INFO] [stdout] 65 |         abs_diff_eq!(self.t.dot(distance), 0.0, epsilon = f64::EPSILON)
[INFO] [stdout]    |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 (local_point[0].abs() <= bound.x_half_bound + f64::EPSILON) && 
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:75:68
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 (local_point[1].abs() <= bound.y_half_bound + f64::EPSILON)
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Other` is never constructed
[INFO] [stdout]  --> src/bound.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Bound {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 3 |     Rectangle(RectangleBound),
[INFO] [stdout] 4 |     Other, // Can be extended to use other types of bounds
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Bound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let u = if unit_z.dot(t) < f64::EPSILON {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:65:64
[INFO] [stdout]    |
[INFO] [stdout] 65 |         abs_diff_eq!(self.t.dot(distance), 0.0, epsilon = f64::EPSILON)
[INFO] [stdout]    |                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:74:68
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 (local_point[0].abs() <= bound.x_half_bound + f64::EPSILON) && 
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/geometry.rs:75:68
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 (local_point[1].abs() <= bound.y_half_bound + f64::EPSILON)
[INFO] [stdout]    |                                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:30:49
[INFO] [stdout]    |
[INFO] [stdout] 30 |         abs_diff_eq!(b[0], c[0], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:31:49
[INFO] [stdout]    |
[INFO] [stdout] 31 |         abs_diff_eq!(b[1], c[1], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:32:49
[INFO] [stdout]    |
[INFO] [stdout] 32 |         abs_diff_eq!(b[2], c[2], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:42:49
[INFO] [stdout]    |
[INFO] [stdout] 42 |         abs_diff_eq!(b[0], c[0], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:43:49
[INFO] [stdout]    |
[INFO] [stdout] 43 |         abs_diff_eq!(b[1], c[1], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 |         abs_diff_eq!(b[2], c[2], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:54:49
[INFO] [stdout]    |
[INFO] [stdout] 54 |         abs_diff_eq!(b[0], c[0], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:55:49
[INFO] [stdout]    |
[INFO] [stdout] 55 |         abs_diff_eq!(b[1], c[1], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stdout]   --> src/lib.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |         abs_diff_eq!(b[2], c[2], epsilon = f64::EPSILON);
[INFO] [stdout]    |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Other` is never constructed
[INFO] [stdout]  --> src/bound.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Bound {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 3 |     Rectangle(RectangleBound),
[INFO] [stdout] 4 |     Other, // Can be extended to use other types of bounds
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Bound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.63s
[INFO] running `Command { std: "docker" "inspect" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `vec::Vec2` and `vec::Vec3`
[INFO] [stderr]  --> src/lib.rs:1:14
[INFO] [stderr]   |
[INFO] [stderr] 1 | use vecmat::{vec::Vec2, vec::Vec3};
[INFO] [stderr]   |              ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `approx::abs_diff_eq`
[INFO] [stderr]  --> src/lib.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use approx::abs_diff_eq;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f64`
[INFO] [stderr]  --> src/lib.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::f64;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/geometry.rs:40:41
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let u = if unit_z.dot(t) < f64::EPSILON {
[INFO] [stderr]    |                                         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/geometry.rs:65:64
[INFO] [stderr]    |
[INFO] [stderr] 65 |         abs_diff_eq!(self.t.dot(distance), 0.0, epsilon = f64::EPSILON)
[INFO] [stderr]    |                                                                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/geometry.rs:74:68
[INFO] [stderr]    |
[INFO] [stderr] 74 |                 (local_point[0].abs() <= bound.x_half_bound + f64::EPSILON) && 
[INFO] [stderr]    |                                                                    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/geometry.rs:75:68
[INFO] [stderr]    |
[INFO] [stderr] 75 |                 (local_point[1].abs() <= bound.y_half_bound + f64::EPSILON)
[INFO] [stderr]    |                                                                    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PlaneSurface` is never constructed
[INFO] [stderr]   --> src/geometry.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct PlaneSurface {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/geometry.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl PlaneSurface {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn new(center: Vec3<f64>, normal: Vec3<f64>, bounds: Option<Bound>) -> Self{
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn is_point_on_surface(&self, point: &Vec3<f64>) -> bool{
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     fn is_point_on_plane(&self, point: &Vec3<f64>) -> bool{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     fn is_point_in_bounds(&self, point: &Vec3<f64>) -> bool{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn global_to_local_2d(&self, global_point: &Vec3<f64>) -> Vec2<f64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 |     pub fn local_2d_to_global(&self, local_point: &Vec2<f64>) -> Vec3<f64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |     pub fn local_to_global(&self, local_point: &Vec3<f64>) -> Vec3<f64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub fn global_to_local(&self, global_point: &Vec3<f64>) -> Vec3<f64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Bound` is never used
[INFO] [stderr]  --> src/bound.rs:2:10
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Bound {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RectangleBound` is never constructed
[INFO] [stderr]  --> src/bound.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct RectangleBound {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/bound.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl RectangleBound {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] 15 |     pub fn new(x_half_bound: f64, y_half_bound: f64) -> Bound{
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `translate` is never used
[INFO] [stderr]  --> src/linalg.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn translate(x: Vec3<f64>, trans: Vec3<f64>) -> Vec3<f64>{
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rotate_about_x_axis` is never used
[INFO] [stderr]  --> src/linalg.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn rotate_about_x_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rotate_about_y_axis` is never used
[INFO] [stderr]   --> src/linalg.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub fn rotate_about_y_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rotate_about_z_axis` is never used
[INFO] [stderr]   --> src/linalg.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn rotate_about_z_axis(v: Vec3<f64>, angle: f64) -> Vec3<f64>{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:30:49
[INFO] [stderr]    |
[INFO] [stderr] 30 |         abs_diff_eq!(b[0], c[0], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:31:49
[INFO] [stderr]    |
[INFO] [stderr] 31 |         abs_diff_eq!(b[1], c[1], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:32:49
[INFO] [stderr]    |
[INFO] [stderr] 32 |         abs_diff_eq!(b[2], c[2], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:42:49
[INFO] [stderr]    |
[INFO] [stderr] 42 |         abs_diff_eq!(b[0], c[0], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:43:49
[INFO] [stderr]    |
[INFO] [stderr] 43 |         abs_diff_eq!(b[1], c[1], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:44:49
[INFO] [stderr]    |
[INFO] [stderr] 44 |         abs_diff_eq!(b[2], c[2], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:54:49
[INFO] [stderr]    |
[INFO] [stderr] 54 |         abs_diff_eq!(b[0], c[0], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:55:49
[INFO] [stderr]    |
[INFO] [stderr] 55 |         abs_diff_eq!(b[1], c[1], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::f64::EPSILON`: replaced by the `EPSILON` associated constant on `f64`
[INFO] [stderr]   --> src/lib.rs:56:49
[INFO] [stderr]    |
[INFO] [stderr] 56 |         abs_diff_eq!(b[2], c[2], epsilon = f64::EPSILON);
[INFO] [stderr]    |                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Other` is never constructed
[INFO] [stderr]  --> src/bound.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum Bound {
[INFO] [stderr]   |          ----- variant in this enum
[INFO] [stderr] 3 |     Rectangle(RectangleBound),
[INFO] [stderr] 4 |     Other, // Can be extended to use other types of bounds
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Bound` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `kf_challenge` (lib) generated 16 warnings (run `cargo fix --lib -p kf_challenge` to apply 3 suggestions)
[INFO] [stderr] warning: `kf_challenge` (lib test) generated 14 warnings (4 duplicates)
[INFO] [stderr] warning: `kf_challenge` (bin "kf_challenge" test) generated 5 warnings (5 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.03s
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/kf_challenge-608cad172a64468d)
[INFO] [stdout] test tests::test_global_to_local ... ok
[INFO] [stdout] test tests::test_global_to_local_2d ... ok
[INFO] [stdout] test tests::test_is_point_on_surface_false ... ok
[INFO] [stdout] test tests::test_is_point_on_surface_true ... ok
[INFO] [stdout] test tests::test_local_2d_to_global ... ok
[INFO] [stdout] test tests::test_local_to_global ... ok
[INFO] [stdout] test tests::test_rotate_about_x_axis ... ok
[INFO] [stdout] test tests::test_rotate_about_z_axis ... ok
[INFO] [stdout] test tests::test_translate ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/kf_challenge-1d61198199558c27)
[INFO] [stdout] test tests::test_rotate_about_y_axis ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kf_challenge
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267", kill_on_drop: false }`
[INFO] [stdout] dbbe2df33f670e06d619bd861255e86d5af0714583248d38cb3c3767c1bd0267
