[INFO] cloning repository https://github.com/quorauk/synth-experiment
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/quorauk/synth-experiment" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquorauk%2Fsynth-experiment", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquorauk%2Fsynth-experiment'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f28f6455865c1624c57e5765afd8a18af26c393b
[INFO] checking quorauk/synth-experiment against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquorauk%2Fsynth-experiment" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/quorauk/synth-experiment
[INFO] finished tweaking git repo https://github.com/quorauk/synth-experiment
[INFO] tweaked toml for git repo https://github.com/quorauk/synth-experiment written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/quorauk/synth-experiment on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/quorauk/synth-experiment 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 338b1f8653b5604b65979597a0b8d96fa1bd109920a1bf5e69d55d920f296e29
[INFO] running `Command { std: "docker" "start" "-a" "338b1f8653b5604b65979597a0b8d96fa1bd109920a1bf5e69d55d920f296e29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "338b1f8653b5604b65979597a0b8d96fa1bd109920a1bf5e69d55d920f296e29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "338b1f8653b5604b65979597a0b8d96fa1bd109920a1bf5e69d55d920f296e29", kill_on_drop: false }`
[INFO] [stdout] 338b1f8653b5604b65979597a0b8d96fa1bd109920a1bf5e69d55d920f296e29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2e4c9e256d7255511289f5be66bcb402093ca032f9bdbcc7d4a6b14221ac48d4
[INFO] running `Command { std: "docker" "start" "-a" "2e4c9e256d7255511289f5be66bcb402093ca032f9bdbcc7d4a6b14221ac48d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]     Checking lock_api v0.4.10
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking hound v3.5.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking assert_float_eq v1.1.3
[INFO] [stderr]     Checking symphonia-core v0.5.3
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling device_query v1.1.3
[INFO] [stderr]     Checking symphonia-metadata v0.5.3
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.3
[INFO] [stderr]     Checking symphonia v0.5.3
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking rodio v0.17.1
[INFO] [stderr]     Checking tracker v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `std::f32::consts::PI`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DivAssign`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::DivAssign;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `sleep`
[INFO] [stdout]  --> src/main.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread::{sleep, self};
[INFO] [stdout]   |                   ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rodio::buffer::SamplesBuffer`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rodio::buffer::SamplesBuffer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decoder`, `OutputStreamHandle`, `Sink`, `Source`, and `dynamic_mixer`
[INFO] [stdout]   --> src/main.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rodio::{Decoder, OutputStream, Sink, OutputStreamHandle, dynamic_mixer, Source};
[INFO] [stdout]    |             ^^^^^^^                ^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SineWave`
[INFO] [stdout]   --> src/main.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rodio::source::{SineWave};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SourcesQueueInput`, `SourcesQueueOutput`, and `queue`
[INFO] [stdout]   --> src/main.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rodio::queue::{queue, SourcesQueueInput, SourcesQueueOutput};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/triangle_wave.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/square_wave.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mix`
[INFO] [stdout]  --> src/synth.rs:3:66
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rodio::{Sink, OutputStreamHandle, Source, source::{SineWave, Mix}};
[INFO] [stdout]   |                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `attack` should have an upper camel case name
[INFO] [stdout]  --> src/adsr_source.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 6 |   attack,
[INFO] [stdout]   |   ^^^^^^ help: convert the identifier to upper camel case: `Attack`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `decay` should have an upper camel case name
[INFO] [stdout]  --> src/adsr_source.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 |   decay,
[INFO] [stdout]   |   ^^^^^ help: convert the identifier to upper camel case: `Decay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `release` should have an upper camel case name
[INFO] [stdout]  --> src/adsr_source.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 |   release,
[INFO] [stdout]   |   ^^^^^^^ help: convert the identifier to upper camel case: `Release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/main.rs:93:7
[INFO] [stdout]    |
[INFO] [stdout] 93 |   use super::*;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/triangle_wave.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for i in 0..9 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/triangle_wave.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     for i in 0..9 {
[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/square_wave.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for i in 0..9 {
[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/square_wave.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     for i in 0..9 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sine_source`
[INFO] [stdout]   --> src/synth.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let sine_source = SineWave::new(freq(pitch.clone()) * 4.0).amplify(0.2);
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sine_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Gb`, `Ab`, and `B` are never constructed
[INFO] [stdout]   --> src/note.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Note {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |   Gb,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 12 |   G,
[INFO] [stdout] 13 |   Ab,
[INFO] [stdout]    |   ^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |   B,
[INFO] [stdout]    |   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Note` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `attack` is never read
[INFO] [stdout]   --> src/synth.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct BasicSynth {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |   attack: Duration
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `std::f32::consts::PI`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DivAssign`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::DivAssign;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `sleep`
[INFO] [stdout]  --> src/main.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::thread::{sleep, self};
[INFO] [stdout]   |                   ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rodio::buffer::SamplesBuffer`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rodio::buffer::SamplesBuffer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Decoder`, `OutputStreamHandle`, `Sink`, `Source`, and `dynamic_mixer`
[INFO] [stdout]   --> src/main.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rodio::{Decoder, OutputStream, Sink, OutputStreamHandle, dynamic_mixer, Source};
[INFO] [stdout]    |             ^^^^^^^                ^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SineWave`
[INFO] [stdout]   --> src/main.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rodio::source::{SineWave};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SourcesQueueInput`, `SourcesQueueOutput`, and `queue`
[INFO] [stdout]   --> src/main.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rodio::queue::{queue, SourcesQueueInput, SourcesQueueOutput};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/triangle_wave.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/square_wave.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mix`
[INFO] [stdout]  --> src/synth.rs:3:66
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rodio::{Sink, OutputStreamHandle, Source, source::{SineWave, Mix}};
[INFO] [stdout]   |                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `attack` should have an upper camel case name
[INFO] [stdout]  --> src/adsr_source.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 6 |   attack,
[INFO] [stdout]   |   ^^^^^^ help: convert the identifier to upper camel case: `Attack`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `decay` should have an upper camel case name
[INFO] [stdout]  --> src/adsr_source.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 |   decay,
[INFO] [stdout]   |   ^^^^^ help: convert the identifier to upper camel case: `Decay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `release` should have an upper camel case name
[INFO] [stdout]  --> src/adsr_source.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 |   release,
[INFO] [stdout]   |   ^^^^^^^ help: convert the identifier to upper camel case: `Release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sine_source`
[INFO] [stdout]   --> src/synth.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let sine_source = SineWave::new(freq(pitch.clone()) * 4.0).amplify(0.2);
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sine_source`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Gb`, `Ab`, `Bb`, and `B` are never constructed
[INFO] [stdout]   --> src/note.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Note {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |   Gb,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 12 |   G,
[INFO] [stdout] 13 |   Ab,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 14 |   A,
[INFO] [stdout] 15 |   Bb,
[INFO] [stdout]    |   ^^
[INFO] [stdout] 16 |   B,
[INFO] [stdout]    |   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Note` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `attack` is never read
[INFO] [stdout]   --> src/synth.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct BasicSynth {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |   attack: Duration
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.89s
[INFO] running `Command { std: "docker" "inspect" "2e4c9e256d7255511289f5be66bcb402093ca032f9bdbcc7d4a6b14221ac48d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e4c9e256d7255511289f5be66bcb402093ca032f9bdbcc7d4a6b14221ac48d4", kill_on_drop: false }`
[INFO] [stdout] 2e4c9e256d7255511289f5be66bcb402093ca032f9bdbcc7d4a6b14221ac48d4
