[INFO] cloning repository https://github.com/Tloru/keikan
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tloru/keikan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTloru%2Fkeikan", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTloru%2Fkeikan'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 044bcd470f9475ed7309a95a9946a2bd6b2255c6
[INFO] checking Tloru/keikan against beta-2020-07-24 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTloru%2Fkeikan" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Tloru/keikan on toolchain beta-2020-07-24
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Tloru/keikan
[INFO] finished tweaking git repo https://github.com/Tloru/keikan
[INFO] tweaked toml for git repo https://github.com/Tloru/keikan written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/Tloru/keikan already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3dc659f5273fa6ffe0359b9d5b2e5b8057523f1e0b8c2232b19b0c12eb59fb2b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "3dc659f5273fa6ffe0359b9d5b2e5b8057523f1e0b8c2232b19b0c12eb59fb2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3dc659f5273fa6ffe0359b9d5b2e5b8057523f1e0b8c2232b19b0c12eb59fb2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dc659f5273fa6ffe0359b9d5b2e5b8057523f1e0b8c2232b19b0c12eb59fb2b", kill_on_drop: false }`
[INFO] [stdout] 3dc659f5273fa6ffe0359b9d5b2e5b8057523f1e0b8c2232b19b0c12eb59fb2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 3d7bd24644c92cf448af2f18aefe09e48cb04d24dee6edef5a0dbeb3fe0da1e0
[INFO] running `Command { std: "docker" "start" "-a" "3d7bd24644c92cf448af2f18aefe09e48cb04d24dee6edef5a0dbeb3fe0da1e0", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking arrayvec v0.4.12
[INFO] [stderr]     Checking crc32fast v1.2.0
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking num-iter v0.1.39
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking num_cpus v1.10.1
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rayon-core v1.6.0
[INFO] [stderr]     Checking png v0.15.0
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking rayon v1.2.0
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking jpeg-decoder v0.1.16
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking tokio v0.2.21
[INFO] [stderr]     Checking image v0.22.3
[INFO] [stderr]     Checking keikan v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/plane.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         if (denom.abs() > 0.0) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/plane.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 31 |             if (t >= 0.0) {
[INFO] [stdout]    |                ^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structures::camera::Camera`
[INFO] [stdout]  --> src/render.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::structures::camera::Camera;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/render.rs:160:45
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let sample = color(&scene, scatter, (bounce - 1), 1); // (samples / 2).max(1)); // only take one sample
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/render.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |         specular = color(&scene, scatter, (bounce - 1), samples);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/render.rs:179:49
[INFO] [stdout]     |
[INFO] [stdout] 179 |             let sample = color(&scene, scatter, (bounce - 1), (samples / 2).max(1));
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/render.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |       return (
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 190 | |         (
[INFO] [stdout] 191 | |             ( // for dielectric materials. TODO: fresnel blending
[INFO] [stdout] 192 | |                 (
[INFO] [stdout] ...   |
[INFO] [stdout] 210 | |         )
[INFO] [stdout] 211 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 189 |     return 
[INFO] [stdout] 190 |         (
[INFO] [stdout] 191 |             ( // for dielectric materials. TODO: fresnel blending
[INFO] [stdout] 192 |                 (
[INFO] [stdout] 193 |                     (transmission *        material.transmission)  // mix transparent
[INFO] [stdout] 194 |                   + (diffuse      * (1.0 - material.transmission)) // and diffuse
[INFO] [stdout]   ...
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render::render`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use render::render;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structures::vec3::Vec3`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use structures::vec3::Vec3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/plane.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         if (denom.abs() > 0.0) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/objects/plane.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 31 |             if (t >= 0.0) {
[INFO] [stdout]    |                ^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structures::camera::Camera`
[INFO] [stdout]  --> src/render.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::structures::camera::Camera;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/render.rs:160:45
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let sample = color(&scene, scatter, (bounce - 1), 1); // (samples / 2).max(1)); // only take one sample
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/render.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |         specular = color(&scene, scatter, (bounce - 1), samples);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/render.rs:179:49
[INFO] [stdout]     |
[INFO] [stdout] 179 |             let sample = color(&scene, scatter, (bounce - 1), (samples / 2).max(1));
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]    --> src/render.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 189 |       return (
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 190 | |         (
[INFO] [stdout] 191 | |             ( // for dielectric materials. TODO: fresnel blending
[INFO] [stdout] 192 | |                 (
[INFO] [stdout] ...   |
[INFO] [stdout] 210 | |         )
[INFO] [stdout] 211 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 189 |     return 
[INFO] [stdout] 190 |         (
[INFO] [stdout] 191 |             ( // for dielectric materials. TODO: fresnel blending
[INFO] [stdout] 192 |                 (
[INFO] [stdout] 193 |                     (transmission *        material.transmission)  // mix transparent
[INFO] [stdout] 194 |                   + (diffuse      * (1.0 - material.transmission)) // and diffuse
[INFO] [stdout]   ...
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render::render`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use render::render;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structures::vec3::Vec3`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use structures::vec3::Vec3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `March`
[INFO] [stdout]  --> src/objects/plane.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::objects::traits::{ March, Trace };
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rad` is never read
[INFO] [stdout]   --> src/objects/mandelbulb.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut rad = 0.0;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/objects/mandelbulb.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for i in 0..self.iterations {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]   --> src/render.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     for step in 0..MAX_STEPS {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut transmission = Vec3::new(0.0, 0.0, 0.0);
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fresnel`
[INFO] [stdout]    --> src/render.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn fresnel(cosine: f64, ri: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `refract`
[INFO] [stdout]    --> src/render.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn refract(v: &Vec3, n: &Vec3, ni_over_nt: f64, refracted: &mut Vec3) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     write::png(image, Path::new(&RENDER_OUT.to_string()));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `March`
[INFO] [stdout]  --> src/objects/plane.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::objects::traits::{ March, Trace };
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rad` is never read
[INFO] [stdout]   --> src/objects/mandelbulb.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut rad = 0.0;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/objects/mandelbulb.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for i in 0..self.iterations {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]   --> src/render.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     for step in 0..MAX_STEPS {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut transmission = Vec3::new(0.0, 0.0, 0.0);
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fresnel`
[INFO] [stdout]    --> src/render.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn fresnel(cosine: f64, ri: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `refract`
[INFO] [stdout]    --> src/render.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn refract(v: &Vec3, n: &Vec3, ni_over_nt: f64, refracted: &mut Vec3) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     write::png(image, Path::new(&RENDER_OUT.to_string()));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 45.93s
[INFO] running `Command { std: "docker" "inspect" "3d7bd24644c92cf448af2f18aefe09e48cb04d24dee6edef5a0dbeb3fe0da1e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d7bd24644c92cf448af2f18aefe09e48cb04d24dee6edef5a0dbeb3fe0da1e0", kill_on_drop: false }`
[INFO] [stdout] 3d7bd24644c92cf448af2f18aefe09e48cb04d24dee6edef5a0dbeb3fe0da1e0
