[INFO] cloning repository https://github.com/TheOnlyMrCat/Loud
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TheOnlyMrCat/Loud" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheOnlyMrCat%2FLoud", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheOnlyMrCat%2FLoud'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b7bfb051182fdbde21354326140f37693b7ab890
[INFO] checking TheOnlyMrCat/Loud against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheOnlyMrCat%2FLoud" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TheOnlyMrCat/Loud
[INFO] finished tweaking git repo https://github.com/TheOnlyMrCat/Loud
[INFO] tweaked toml for git repo https://github.com/TheOnlyMrCat/Loud written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TheOnlyMrCat/Loud on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TheOnlyMrCat/Loud 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded derivative v2.1.3
[INFO] [stderr]   Downloaded ringbuf v0.2.2
[INFO] [stderr]   Downloaded syn v1.0.57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 542cd3ae7c3248cf233c14d9d6e475e680369fd92020b8c8a8da07cfae393a47
[INFO] running `Command { std: "docker" "start" "-a" "542cd3ae7c3248cf233c14d9d6e475e680369fd92020b8c8a8da07cfae393a47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "542cd3ae7c3248cf233c14d9d6e475e680369fd92020b8c8a8da07cfae393a47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "542cd3ae7c3248cf233c14d9d6e475e680369fd92020b8c8a8da07cfae393a47", kill_on_drop: false }`
[INFO] [stdout] 542cd3ae7c3248cf233c14d9d6e475e680369fd92020b8c8a8da07cfae393a47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 672dd101d5b35675da5b49ae7959b6e3d1e6a2e4d9ecb26482f219cea3fc215c
[INFO] running `Command { std: "docker" "start" "-a" "672dd101d5b35675da5b49ae7959b6e3d1e6a2e4d9ecb26482f219cea3fc215c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling syn v1.0.57
[INFO] [stderr]    Compiling nix v0.15.0
[INFO] [stderr]    Compiling cpal v0.13.1
[INFO] [stderr]    Compiling sdl2 v0.34.3
[INFO] [stderr]     Checking ringbuf v0.2.2
[INFO] [stderr]    Compiling sdl2-sys v0.34.3
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking alsa v0.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.23
[INFO] [stderr]     Checking thiserror v1.0.23
[INFO] [stderr]     Checking xp-audio v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `cpal::traits::*`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cpal::traits::*;
[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: `cpal::traits::*`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cpal::traits::*;
[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 variable: `parents`
[INFO] [stdout]   --> src/node/input.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn tick(&mut self, parents: &[NodeConnection], tick: u32, node_list: &[WorkbenchNode]) {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parents`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_list`
[INFO] [stdout]   --> src/node/input.rs:30:60
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn tick(&mut self, parents: &[NodeConnection], tick: u32, node_list: &[WorkbenchNode]) {
[INFO] [stdout]    |                                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_index`
[INFO] [stdout]   --> src/node/input.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_index`
[INFO] [stdout]   --> src/node/basic_mod.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_index`
[INFO] [stdout]   --> src/node.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_SAMPLE_RATE` is never used
[INFO] [stdout]  --> src/audio.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_SAMPLE_RATE: cpal::SampleRate = cpal::SampleRate(44100);
[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 `AudioStream` is never constructed
[INFO] [stdout]  --> src/audio.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AudioStream<D: cpal::traits::DeviceTrait> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BuildAudioStreamError` is never used
[INFO] [stdout]   --> src/audio.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum BuildAudioStreamError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_device`, `play`, `push_audio`, `buffer_remaining`, and `buffer_full` are never used
[INFO] [stdout]   --> src/audio.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | / impl<D> AudioStream<D>
[INFO] [stdout] 19 | | where
[INFO] [stdout] 20 | |     D: cpal::traits::DeviceTrait,
[INFO] [stdout]    | |_________________________________- associated items in this implementation
[INFO] [stdout] 21 |   {
[INFO] [stdout] 22 |       pub fn with_device(device: D) -> Result<AudioStream<D>, BuildAudioStreamError> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn play(&self) {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |       pub fn push_audio(&mut self, data: &[f32]) {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |       pub fn buffer_remaining(&self) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |       pub fn buffer_full(&self) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaveGenerator` is never constructed
[INFO] [stdout]   --> src/audio.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct WaveGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `play_sine_freq_to`, `play_tri_freq_to`, `play_saw_freq_to`, and `play_square_freq_to` are never used
[INFO] [stdout]    --> src/audio.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl WaveGenerator {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  82 |     pub fn play_sine_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn play_tri_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn play_saw_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn play_square_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `semitone_to_frequency` is never used
[INFO] [stdout]    --> src/audio.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn semitone_to_frequency(semitone: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render` is never used
[INFO] [stdout]    --> src/graphics.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl GraphicsHandler {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn render(&mut self, image: &Image, pos: Vector2) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `None` is never constructed
[INFO] [stdout]    --> src/graphics.rs:142:2
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub enum Image {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] 142 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clicked_in_bounds` is never used
[INFO] [stdout]   --> src/input.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl InputHandler {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn clicked_in_bounds(&self, bounds: Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICK_SIZE` is never used
[INFO] [stdout]  --> src/node.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const TICK_SIZE: usize = 512;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parents` is never read
[INFO] [stdout]   --> src/node.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct WorkbenchNode {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout]  9 |     pub pos: Vector2,
[INFO] [stdout] 10 |     pub parents: Vec<NodeConnection>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node` and `output_index` are never read
[INFO] [stdout]   --> src/node.rs:15:2
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct NodeConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 15 |     node: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     output_index: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inputs`, `outputs`, `tick`, and `poll` are never used
[INFO] [stdout]   --> src/node.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait Node {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] 20 |     fn title(&self) -> String;
[INFO] [stdout] 21 |     fn inputs(&self) -> Vec<String>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 22 |     fn outputs(&self) -> Vec<String>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn tick(&mut self, parents: &[NodeConnection], tick: u32, node_list: &[WorkbenchNode]);
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 25 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wave` is never constructed
[INFO] [stdout]  --> src/node/input.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Wave {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Waveform` is never used
[INFO] [stdout]   --> src/node/input.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Waveform {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Amplifier` is never constructed
[INFO] [stdout]  --> src/node/basic_mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Amplifier {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parents`
[INFO] [stdout]   --> src/node/input.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn tick(&mut self, parents: &[NodeConnection], tick: u32, node_list: &[WorkbenchNode]) {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parents`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_list`
[INFO] [stdout]   --> src/node/input.rs:30:60
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn tick(&mut self, parents: &[NodeConnection], tick: u32, node_list: &[WorkbenchNode]) {
[INFO] [stdout]    |                                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_index`
[INFO] [stdout]   --> src/node/input.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_index`
[INFO] [stdout]   --> src/node/basic_mod.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_index`
[INFO] [stdout]   --> src/node.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_SAMPLE_RATE` is never used
[INFO] [stdout]  --> src/audio.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_SAMPLE_RATE: cpal::SampleRate = cpal::SampleRate(44100);
[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 `AudioStream` is never constructed
[INFO] [stdout]  --> src/audio.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AudioStream<D: cpal::traits::DeviceTrait> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BuildAudioStreamError` is never used
[INFO] [stdout]   --> src/audio.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum BuildAudioStreamError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_device`, `play`, `push_audio`, `buffer_remaining`, and `buffer_full` are never used
[INFO] [stdout]   --> src/audio.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | / impl<D> AudioStream<D>
[INFO] [stdout] 19 | | where
[INFO] [stdout] 20 | |     D: cpal::traits::DeviceTrait,
[INFO] [stdout]    | |_________________________________- associated items in this implementation
[INFO] [stdout] 21 |   {
[INFO] [stdout] 22 |       pub fn with_device(device: D) -> Result<AudioStream<D>, BuildAudioStreamError> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn play(&self) {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |       pub fn push_audio(&mut self, data: &[f32]) {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |       pub fn buffer_remaining(&self) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |       pub fn buffer_full(&self) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaveGenerator` is never constructed
[INFO] [stdout]   --> src/audio.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct WaveGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `play_sine_freq_to`, `play_tri_freq_to`, `play_saw_freq_to`, and `play_square_freq_to` are never used
[INFO] [stdout]    --> src/audio.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl WaveGenerator {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  82 |     pub fn play_sine_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn play_tri_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn play_saw_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn play_square_freq_to<D: cpal::traits::DeviceTrait>(&self, frequency: f64, audio_stream: &mut AudioStream<D>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `semitone_to_frequency` is never used
[INFO] [stdout]    --> src/audio.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn semitone_to_frequency(semitone: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render` is never used
[INFO] [stdout]    --> src/graphics.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl GraphicsHandler {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn render(&mut self, image: &Image, pos: Vector2) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `None` is never constructed
[INFO] [stdout]    --> src/graphics.rs:142:2
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub enum Image {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] 142 |     None,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clicked_in_bounds` is never used
[INFO] [stdout]   --> src/input.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl InputHandler {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn clicked_in_bounds(&self, bounds: Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICK_SIZE` is never used
[INFO] [stdout]  --> src/node.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const TICK_SIZE: usize = 512;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parents` is never read
[INFO] [stdout]   --> src/node.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct WorkbenchNode {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout]  9 |     pub pos: Vector2,
[INFO] [stdout] 10 |     pub parents: Vec<NodeConnection>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node` and `output_index` are never read
[INFO] [stdout]   --> src/node.rs:15:2
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct NodeConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 15 |     node: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     output_index: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inputs`, `outputs`, `tick`, and `poll` are never used
[INFO] [stdout]   --> src/node.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait Node {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] 20 |     fn title(&self) -> String;
[INFO] [stdout] 21 |     fn inputs(&self) -> Vec<String>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 22 |     fn outputs(&self) -> Vec<String>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn tick(&mut self, parents: &[NodeConnection], tick: u32, node_list: &[WorkbenchNode]);
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 25 |     fn poll(&self, output_index: usize) -> Box<[f32; TICK_SIZE]>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wave` is never constructed
[INFO] [stdout]  --> src/node/input.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Wave {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Waveform` is never used
[INFO] [stdout]   --> src/node/input.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Waveform {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Amplifier` is never constructed
[INFO] [stdout]  --> src/node/basic_mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Amplifier {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.48s
[INFO] running `Command { std: "docker" "inspect" "672dd101d5b35675da5b49ae7959b6e3d1e6a2e4d9ecb26482f219cea3fc215c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "672dd101d5b35675da5b49ae7959b6e3d1e6a2e4d9ecb26482f219cea3fc215c", kill_on_drop: false }`
[INFO] [stdout] 672dd101d5b35675da5b49ae7959b6e3d1e6a2e4d9ecb26482f219cea3fc215c
