[INFO] cloning repository https://github.com/ericrobolson/realtime-cpu-raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ericrobolson/realtime-cpu-raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fericrobolson%2Frealtime-cpu-raytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fericrobolson%2Frealtime-cpu-raytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3d759f2b8a00bf876ab24d2375716c63f5ed0134
[INFO] checking ericrobolson/realtime-cpu-raytracer against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fericrobolson%2Frealtime-cpu-raytracer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ericrobolson/realtime-cpu-raytracer
[INFO] finished tweaking git repo https://github.com/ericrobolson/realtime-cpu-raytracer
[INFO] tweaked toml for git repo https://github.com/ericrobolson/realtime-cpu-raytracer written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ericrobolson/realtime-cpu-raytracer on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ericrobolson/realtime-cpu-raytracer 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `rt_cputracer` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-0-tc1/source/target/.../rt_cputracer
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `rt-cputracer`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 - name = "rt_cputracer"
[INFO] [stderr] 56 + name = "rt-cputracer"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `rt-cputracer`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:57:19
[INFO] [stderr]    |
[INFO] [stderr] 57 ~ version = "0.1.0"
[INFO] [stderr] 58 + [[bin]]
[INFO] [stderr] 59 + name = "rt-cputracer"
[INFO] [stderr] 60 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `rt_cputracer` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.3
[INFO] [stderr]   Downloaded memoffset v0.6.1
[INFO] [stderr]   Downloaded wayland-cursor v0.28.5
[INFO] [stderr]   Downloaded wayland-egl v0.28.5
[INFO] [stderr]   Downloaded wayland-sys v0.28.5
[INFO] [stderr]   Downloaded xcursor v0.3.3
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.71
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.71
[INFO] [stderr]   Downloaded wayland-scanner v0.28.5
[INFO] [stderr]   Downloaded wayland-commons v0.28.5
[INFO] [stderr]   Downloaded fs_extra v1.2.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.71
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.71
[INFO] [stderr]   Downloaded rayon v1.5.0
[INFO] [stderr]   Downloaded gif v0.11.1
[INFO] [stderr]   Downloaded anyhow v1.0.38
[INFO] [stderr]   Downloaded weezl v0.1.4
[INFO] [stderr]   Downloaded rayon-core v1.9.0
[INFO] [stderr]   Downloaded serde v1.0.124
[INFO] [stderr]   Downloaded wayland-client v0.28.5
[INFO] [stderr]   Downloaded js-sys v0.3.48
[INFO] [stderr]   Downloaded wayland-protocols v0.28.5
[INFO] [stderr]   Downloaded glow v0.8.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.71
[INFO] [stderr]   Downloaded syn v1.0.64
[INFO] [stderr]   Downloaded libc v0.2.89
[INFO] [stderr]   Downloaded web-sys v0.3.48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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] 2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d
[INFO] running `Command { std: "docker" "start" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d", 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" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `rt_cputracer` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../rt_cputracer
[INFO] [stderr]    |                          ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `rt-cputracer`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 - name = "rt_cputracer"
[INFO] [stderr] 56 + name = "rt-cputracer"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `rt-cputracer`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:57:19
[INFO] [stderr]    |
[INFO] [stderr] 57 ~ version = "0.1.0"
[INFO] [stderr] 58 + [[bin]]
[INFO] [stderr] 59 + name = "rt-cputracer"
[INFO] [stderr] 60 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `rt_cputracer` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.89
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]     Checking libloading v0.7.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]     Checking weezl v0.1.4
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.4
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]    Compiling wayland-sys v0.28.5
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking lock_api v0.4.2
[INFO] [stderr]    Compiling anyhow v1.0.38
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking core_data_structures v0.1.0 (/opt/rustwide/workdir/crates/core_data_structures)
[INFO] [stderr]     Checking core_timing v0.1.0 (/opt/rustwide/workdir/crates/core_timing)
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling fs_extra v1.2.0
[INFO] [stderr]     Checking gif v0.11.1
[INFO] [stderr]     Checking glow v0.8.1
[INFO] [stderr]     Checking core_fs v0.1.0 (/opt/rustwide/workdir/crates/core_fs)
[INFO] [stderr]     Checking core_conversions v0.1.0 (/opt/rustwide/workdir/crates/core_conversions)
[INFO] [stderr]     Checking core_time v0.1.0 (/opt/rustwide/workdir/crates/core_time)
[INFO] [stderr]     Checking crossbeam-epoch v0.9.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]    Compiling wayland-scanner v0.28.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]    Compiling wayland-client v0.28.5
[INFO] [stderr]    Compiling wayland-protocols v0.28.5
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking xcursor v0.3.3
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking wayland-commons v0.28.5
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking wayland-cursor v0.28.5
[INFO] [stderr]     Checking wayland-egl v0.28.5
[INFO] [stderr]    Compiling rt_cputracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking core_img v0.1.0 (/opt/rustwide/workdir/crates/core_img)
[INFO] [stderr]     Checking core_renderer v0.1.0 (/opt/rustwide/workdir/crates/core_renderer)
[INFO] [stderr]     Checking core_text v0.1.0 (/opt/rustwide/workdir/crates/core_text)
[INFO] [stdout] warning: unused import: `core_fs::load`
[INFO] [stdout]  --> crates/core_text/src/rasterizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core_fs::load;
[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: `borrow::Borrow`
[INFO] [stdout]  --> crates/core_text/src/rasterizer.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{borrow::Borrow, collections::HashMap};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> crates/core_text/src/rasterizer.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 Some(bb) => false,
[INFO] [stdout]    |                      ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking core_simulation v0.1.0 (/opt/rustwide/workdir/crates/core_simulation)
[INFO] [stdout] warning: field `font_size` is never read
[INFO] [stdout]   --> crates/core_text/src/rasterizer.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct FontRecord<'a> {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 14 |     font: Font<'a>,
[INFO] [stdout] 15 |     font_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> crates/core_text/src/rasterizer.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |             panic!(format!("error constructing a Font from data at {:?}", font));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 39 -             panic!(format!("error constructing a Font from data at {:?}", font));
[INFO] [stdout] 39 +             panic!("error constructing a Font from data at {:?}", font);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking winit v0.24.0
[INFO] [stderr]     Checking glutin v0.26.0
[INFO] [stderr]     Checking core_wingfx v0.1.0 (/opt/rustwide/workdir/crates/core_wingfx)
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, and `channel`
[INFO] [stdout]  --> crates/core_wingfx/src/lib.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::mpsc::{channel, Receiver, Sender};
[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: `core_renderer::Renderer`
[INFO] [stdout]  --> crates/core_wingfx/src/glow_gfx/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core_renderer::Renderer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ControlMessage`
[INFO] [stdout]  --> crates/core_wingfx/src/glow_gfx/mod.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core_simulation::{ControlMessage, Input, Simulation, SimulationExecutor, WindowMsg};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventLoop`
[INFO] [stdout]  --> crates/core_wingfx/src/glow_gfx/mod.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 | use glutin::event_loop::{ControlFlow, EventLoop};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glutin::window::WindowBuilder`
[INFO] [stdout]  --> crates/core_wingfx/src/glow_gfx/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use glutin::window::WindowBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ContextBuilder` and `ContextWrapper`
[INFO] [stdout]  --> crates/core_wingfx/src/glow_gfx/mod.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glutin::{ContextBuilder, ContextWrapper};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     w: u32,
[INFO] [stdout]    |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     h: u32,
[INFO] [stdout]    |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tex`
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/glow_render.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |             Some(tex) => {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_tex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `texture_id`
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/glow_render.rs:190:32
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn drop_texture(&mut self, texture_id: &TextureId) {
[INFO] [stdout]     |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_verts`
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/glow_render.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |     let num_verts = vertices.len() / vertice_attributes;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_verts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `shutdown` is never read
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/mod.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...                   shutdown = true;
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: did you mean to capture by reference instead?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `shutdown` is never read
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/mod.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...                   shutdown = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/mod.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut shutdown = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIFORM_VIEW_EYE` is never used
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const UNIFORM_VIEW_EYE: &'static str = "u_view_eye";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIFORM_VIEW_TARGET` is never used
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const UNIFORM_VIEW_TARGET: &'static str = "u_view_target";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIFORM_VIEW_UP` is never used
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const UNIFORM_VIEW_UP: &'static str = "u_view_up";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIFORM_VIEW_MATRIX` is never used
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const UNIFORM_VIEW_MATRIX: &'static str = "u_view_matrix";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIFORM_VIEW_FOV_DEGREES` is never used
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const UNIFORM_VIEW_FOV_DEGREES: &'static str = "u_view_fov_degrees";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture_id` is never read
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Texture {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 20 |     texture_id: TextureId,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state_commands` is never read
[INFO] [stdout]    --> crates/core_wingfx/src/glow_gfx/glow_render.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | struct GlowRenderer {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     state_commands: Queue<RenderCommand>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 panic!(gl.get_shader_info_log(shader));
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 panic!("{}", gl.get_shader_info_log(shader));
[INFO] [stdout]    |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> crates/core_wingfx/src/glow_gfx/glow_render.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |             panic!(gl.get_program_info_log(program));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 74 |             panic!("{}", gl.get_program_info_log(program));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ray::Ray`
[INFO] [stdout]  --> src/core_raytracer/vec3.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{ray::Ray, rng};
[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: `ray::Ray`
[INFO] [stdout]  --> src/core_raytracer/vec3.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{ray::Ray, rng};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::INFINITY`: replaced by the `INFINITY` associated constant on `f32`
[INFO] [stdout]   --> src/core_raytracer/mod.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | const INFINITY: f32 = std::f32::INFINITY;
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::f32::INFINITY`: replaced by the `INFINITY` associated constant on `f32`
[INFO] [stdout]   --> src/core_raytracer/mod.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | const INFINITY: f32 = std::f32::INFINITY;
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/core_raytracer/mod.rs:372:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |                   return attenuation * ray_color(&scattered, world, bounces - 1, debug_normals);
[INFO] [stdout]     |                   ----------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 372 | /             return 0.5
[INFO] [stdout] 373 | |                 * ray_color(
[INFO] [stdout] 374 | |                     &Ray::new(rec.point, target - rec.point),
[INFO] [stdout] 375 | |                     world,
[INFO] [stdout] 376 | |                     bounces - 1,
[INFO] [stdout] 377 | |                     debug_normals,
[INFO] [stdout] 378 | |                 );
[INFO] [stdout]     | |__________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/core_raytracer/mod.rs:372:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |                   return attenuation * ray_color(&scattered, world, bounces - 1, debug_normals);
[INFO] [stdout]     |                   ----------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 372 | /             return 0.5
[INFO] [stdout] 373 | |                 * ray_color(
[INFO] [stdout] 374 | |                     &Ray::new(rec.point, target - rec.point),
[INFO] [stdout] 375 | |                     world,
[INFO] [stdout] 376 | |                     bounces - 1,
[INFO] [stdout] 377 | |                     debug_normals,
[INFO] [stdout] 378 | |                 );
[INFO] [stdout]     | |__________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/core_raytracer/rng.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::{distributions::Uniform, prelude::Distribution, Rng};
[INFO] [stdout]   |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/core_raytracer/rng.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::{distributions::Uniform, prelude::Distribution, Rng};
[INFO] [stdout]   |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/profiling.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn track(&mut self, target: &'static str, duration: std::time::Duration) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/profiling.rs:35:51
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn track(&mut self, target: &'static str, duration: std::time::Duration) {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/profiling.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn track(&mut self, target: &'static str, duration: std::time::Duration) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/profiling.rs:35:51
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn track(&mut self, target: &'static str, duration: std::time::Duration) {
[INFO] [stdout]    |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/core_raytracer/mod.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         for i in 0..100 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/core_raytracer/mod.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         for i in 0..100 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let timer = Timer::new();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cmd` is never read
[INFO] [stdout]    --> src/core_raytracer/mod.rs:319:21
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     cmd.color = avg_color;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let timer = Timer::new();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u_offset`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:340:52
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn make_uv(x: u32, y: u32, max_x: u32, max_y: u32, u_offset: f32, v_offset: f32) -> (f32, f32) {
[INFO] [stdout]     |                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_u_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_offset`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn make_uv(x: u32, y: u32, max_x: u32, max_y: u32, u_offset: f32, v_offset: f32) -> (f32, f32) {
[INFO] [stdout]     |                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cmd` is never read
[INFO] [stdout]    --> src/core_raytracer/mod.rs:319:21
[INFO] [stdout]     |
[INFO] [stdout] 319 |                     cmd.color = avg_color;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u_offset`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:340:52
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn make_uv(x: u32, y: u32, max_x: u32, max_y: u32, u_offset: f32, v_offset: f32) -> (f32, f32) {
[INFO] [stdout]     |                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_u_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_offset`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn make_uv(x: u32, y: u32, max_x: u32, max_y: u32, u_offset: f32, v_offset: f32) -> (f32, f32) {
[INFO] [stdout]     |                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             let target = rec.point + Vec3::random_in_hemisphere(rec.normal);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/core_raytracer/mod.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |             let target = rec.point + Vec3::random_in_hemisphere(rec.normal);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer.rs:163:38
[INFO] [stdout]     |
[INFO] [stdout] 163 |                         let (record, mut image) =
[INFO] [stdout]     |                                      ----^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `character_record`
[INFO] [stdout]    --> src/renderer.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |             let (texture_id, character_record) = {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderer.rs:163:38
[INFO] [stdout]     |
[INFO] [stdout] 163 |                         let (record, mut image) =
[INFO] [stdout]     |                                      ----^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `character_record`
[INFO] [stdout]    --> src/renderer.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |             let (texture_id, character_record) = {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut y = 0.1;
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_t`
[INFO] [stdout]    --> src/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         delta_t: core_simulation::Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut y = 0.1;
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_t`
[INFO] [stdout]    --> src/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         delta_t: core_simulation::Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PERF_DUMP_OCCURENCE` is never used
[INFO] [stdout]   --> src/main.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PERF_DUMP_OCCURENCE: u64 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Record` is never constructed
[INFO] [stdout]   --> src/profiling.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Record {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfilingManager` is never constructed
[INFO] [stdout]   --> src/profiling.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ProfilingManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `track`, and `flush` are never used
[INFO] [stdout]   --> src/profiling.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ProfilingManager {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn track(&mut self, target: &'static str, duration: std::time::Duration) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn flush(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tracker` is never constructed
[INFO] [stdout]   --> src/profiling.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Tracker {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/profiling.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Tracker {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 100 |     pub fn new(target: &'static str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aspect_ratio` is never read
[INFO] [stdout]    --> src/core_raytracer/mod.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct Raytracer {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 119 |     // image specs
[INFO] [stdout] 120 |     aspect_ratio: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hit_sphere` is never used
[INFO] [stdout]   --> src/core_raytracer/hittable/sphere.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn hit_sphere(center: &Point3, radius: f32, ray: &Ray) -> f32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/renderer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Command {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> src/renderer.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<'a> RtcrRenderer<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PERF_DUMP_OCCURENCE` is never used
[INFO] [stdout]   --> src/main.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PERF_DUMP_OCCURENCE: u64 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Record` is never constructed
[INFO] [stdout]   --> src/profiling.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Record {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfilingManager` is never constructed
[INFO] [stdout]   --> src/profiling.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ProfilingManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `track`, and `flush` are never used
[INFO] [stdout]   --> src/profiling.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ProfilingManager {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn track(&mut self, target: &'static str, duration: std::time::Duration) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn flush(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tracker` is never constructed
[INFO] [stdout]   --> src/profiling.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Tracker {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/profiling.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Tracker {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 100 |     pub fn new(target: &'static str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `aspect_ratio` is never read
[INFO] [stdout]    --> src/core_raytracer/mod.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct Raytracer {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 119 |     // image specs
[INFO] [stdout] 120 |     aspect_ratio: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hit_sphere` is never used
[INFO] [stdout]   --> src/core_raytracer/hittable/sphere.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn hit_sphere(center: &Point3, radius: f32, ray: &Ray) -> f32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/renderer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Command {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> src/renderer.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl<'a> RtcrRenderer<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `glob`
[INFO] [stderr]  --> Cargo.toml:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | [build-dependencies.glob]
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `glob`
[INFO] [stderr] warning: unused dependency `rayon`
[INFO] [stderr]   --> Cargo.toml:10:21
[INFO] [stderr]    |
[INFO] [stderr] 10 | [build-dependencies.rayon]
[INFO] [stderr]    |                     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rayon`
[INFO] [stderr] warning: `rt_cputracer` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.2.0, nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d", kill_on_drop: false }`
[INFO] [stdout] 2627f4dcc8f538c5bf7ff550daa74c111f76aa74360c45810153a4f4c12b871d
