[INFO] cloning repository https://github.com/rosofo/rsynth [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rosofo/rsynth" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frosofo%2Frsynth", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frosofo%2Frsynth'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4658017e919ef8e3fbc4b0243c72a023157ab191 [INFO] testing rosofo/rsynth against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frosofo%2Frsynth" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rosofo/rsynth on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rosofo/rsynth [INFO] finished tweaking git repo https://github.com/rosofo/rsynth [INFO] tweaked toml for git repo https://github.com/rosofo/rsynth written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/rosofo/rsynth already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 73d6d13a5b3b18ac855e655c79416003b1f178aac566733a332db538ae4a41de [INFO] running `Command { std: "docker" "start" "-a" "73d6d13a5b3b18ac855e655c79416003b1f178aac566733a332db538ae4a41de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73d6d13a5b3b18ac855e655c79416003b1f178aac566733a332db538ae4a41de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73d6d13a5b3b18ac855e655c79416003b1f178aac566733a332db538ae4a41de", kill_on_drop: false }` [INFO] [stdout] 73d6d13a5b3b18ac855e655c79416003b1f178aac566733a332db538ae4a41de [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b5e97dcfaa7e3fc6219b5b54fb0de0ad85a861b9122693f3d0cc312b95104c53 [INFO] running `Command { std: "docker" "start" "-a" "b5e97dcfaa7e3fc6219b5b54fb0de0ad85a861b9122693f3d0cc312b95104c53", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling syn v1.0.71 [INFO] [stderr] Compiling futures-core v0.3.14 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.4 [INFO] [stderr] Compiling num-bigint v0.4.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.1 [INFO] [stderr] Compiling crossbeam-queue v0.3.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling crossbeam v0.8.0 [INFO] [stderr] Compiling parking_lot_core v0.8.3 [INFO] [stderr] Compiling signal-hook-registry v1.3.0 [INFO] [stderr] Compiling mio v0.7.11 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling nix v0.20.0 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling signal-hook v0.1.17 [INFO] [stderr] Compiling num v0.4.0 [INFO] [stderr] Compiling crossterm v0.19.0 [INFO] [stderr] Compiling tui v0.15.0 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling alsa v0.5.0 [INFO] [stderr] Compiling thiserror v1.0.24 [INFO] [stderr] Compiling cpal v0.13.3 [INFO] [stderr] Compiling rsynth v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `LockResult`, `MutexGuard`, `RwLock`, `rc::Rc` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | sync::{Arc, LockResult, Mutex, MutexGuard, RwLock}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chain::Chain` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chain::Chain; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TwoChannelConfig`, `TwoChannel` [INFO] [stdout] --> src/main.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | use combinators::{TwoChannel, TwoChannelConfig}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `config::Config` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sample` [INFO] [stdout] --> src/main.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 10 | use cpal::{traits::StreamTrait, Sample}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EventStream`, `disable_raw_mode`, `enable_raw_mode`, `self` [INFO] [stdout] --> src/main.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | event::{self, read, EventStream}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] 13 | terminal::{disable_raw_mode, enable_raw_mode}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Gate`, `LowPassFilter` [INFO] [stdout] --> src/main.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | use effects::{Gate, LowPassFilter, FM}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChainComponent`, `TwoChannelComponent`, `input` [INFO] [stdout] --> src/main.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | components::{ChainComponent, TwoChannelComponent, UIComponent}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | draw_synth, get_terminal, input, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chained` [INFO] [stdout] --> src/main.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | use voices::{Chained, Sine}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KBCConfig`, `config::HasConfig` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | config::HasConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | controllers::{KBCConfig, KeyboardController}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SupportedOutputConfigs`, `SupportedStreamConfigRange` [INFO] [stdout] --> src/audio.rs:3:57 [INFO] [stdout] | [INFO] [stdout] 3 | Device, Sample, SampleFormat, Stream, StreamConfig, SupportedOutputConfigs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | SupportedStreamConfigRange, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/chain.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::config::{Config, ConfigReceiver}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/combinators.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | ComposeConfig, ComposeConfigClient, Config, ConfigReceiver, HasConfig, ValidatedConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `convert::TryInto` [INFO] [stdout] --> src/config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | convert::TryInto, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `Receiver`, `Sender`, `cell::RefCell`, `channel`, `rc::Rc` [INFO] [stdout] --> src/controllers.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 3 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | sync::{ [INFO] [stdout] 5 | mpsc::{channel, Receiver, Sender}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] 6 | Arc, Mutex, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Effect` [INFO] [stdout] --> src/controllers.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | chain::{Effect, Voice}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | config::{ComposeConfig, ComposeConfigClient, Config, ConfigReceiver, HasConfig}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/effects.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | time::{Duration, Instant}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Num` [INFO] [stdout] --> src/effects.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use num::{Num, NumCast, Signed}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `borrow::BorrowMut`, `cell::RefCell`, `rc::Rc` [INFO] [stdout] --> src/synth.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 4 | marker::PhantomData, [INFO] [stdout] 5 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Chain`, `voices::Sine` [INFO] [stdout] --> src/synth.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | chain::{Chain, Voice}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | voices::Sine, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConfigClient`, `HasFreq`, `chain::Voice` [INFO] [stdout] --> src/ui/components.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | chain::Voice, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | combinators::{MixerClient, TwoChannelClient, TwoChannelConfig}, [INFO] [stdout] 17 | config::{ComposeConfigClient, ConfigClient}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | controllers::{KBConfigAction, KeyboardControllerClient}, [INFO] [stdout] 19 | voices::{AdditiveAction, AdditiveConfig, HasFreq}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/ui/input.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEvent`, `KeyModifiers`, `poll`, `read` [INFO] [stdout] --> src/ui/input.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `SendError`, `Sender`, `io::Result`, `write` [INFO] [stdout] --> src/ui/model.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{write, Formatter}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 3 | io::Result, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 4 | sync::mpsc::{Receiver, SendError, Sender}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Color`, `Constraint`, `Direction`, `Layout`, `Style` [INFO] [stdout] --> src/ui/model.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] 10 | style::{Color, Style}, [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Widget}, [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TwoChannelClient`, `TwoChannelConfig`, `chain::Chain` [INFO] [stdout] --> src/ui/model.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | chain::Chain, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | combinators::{TwoChannelClient, TwoChannelConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChainComponent`, `TwoChannelComponent`, `self` [INFO] [stdout] --> src/ui/model.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | ChainComponent, KeyboardInputComponent, RefWidget, TwoChannelComponent, UIComponent, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | }, [INFO] [stdout] 23 | input::{self, InputEvent}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RwLock`, `cell::RefCell`, `rc::Rc` [INFO] [stdout] --> src/ui/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | io::Stdout, [INFO] [stdout] 8 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | sync::{Arc, Mutex, RwLock}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::terminal::enable_raw_mode` [INFO] [stdout] --> src/ui/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crossterm::terminal::enable_raw_mode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BarChart`, `Block`, `Borders`, `Clear`, `Color`, `Constraint`, `Layout`, `Paragraph`, `Rect`, `Row`, `Style`, `Table`, `buffer::Buffer` [INFO] [stdout] --> src/ui/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | buffer::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 16 | layout::{Constraint, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] 17 | style::{Color, Style}, [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] 18 | terminal::CompletedFrame, [INFO] [stdout] 19 | widgets::{BarChart, Block, Borders, Clear, Paragraph, Row, Table, Widget}, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TwoChannelClient`, `TwoChannelConfig`, `chain::Voice`, `config::ValidatedConfigClient`, `synth::Synth` [INFO] [stdout] --> src/ui/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | chain::Voice, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 25 | combinators::{TwoChannelClient, TwoChannelConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | config::ValidatedConfigClient, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | synth::Synth, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ops::Add`, `sync::Arc`, `time::Instant` [INFO] [stdout] --> src/voices.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{marker::PhantomData, ops::Add, sync::Arc, time::Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam::atomic::AtomicCell` [INFO] [stdout] --> src/voices.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crossbeam::atomic::AtomicCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chain` [INFO] [stdout] --> src/voices.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | chain::{Chain, Effect, Voice}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `traits::StreamTrait` [INFO] [stdout] --> src/main.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | use cpal::{traits::StreamTrait, Sample}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HasFreq` [INFO] [stdout] --> src/controllers.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | voices::{HasFreq, Waveform}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Widget` [INFO] [stdout] --> src/ui/mod.rs:19:71 [INFO] [stdout] | [INFO] [stdout] 19 | widgets::{BarChart, Block, Borders, Clear, Paragraph, Row, Table, Widget}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/voices.rs:160:51 [INFO] [stdout] | [INFO] [stdout] 160 | fn reduce_additive_action(config: AdditiveConfig, action: AdditiveAction) -> AdditiveConfig { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/ui/components.rs:192:22 [INFO] [stdout] | [INFO] [stdout] 192 | fn render(&self, area: Rect, buf: &mut Buffer) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/ui/components.rs:192:34 [INFO] [stdout] | [INFO] [stdout] 192 | fn render(&self, area: Rect, buf: &mut Buffer) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/ui/components.rs:232:28 [INFO] [stdout] | [INFO] [stdout] 232 | fn dispatch(&mut self, event: InputEvent) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/ui/components.rs:357:28 [INFO] [stdout] | [INFO] [stdout] 357 | fn dispatch(&mut self, event: InputEvent) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/chain.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add` [INFO] [stdout] --> src/chain.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn add(&mut self, effect: Box + Send + 'static>) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `validate_two_channel_config` [INFO] [stdout] --> src/combinators.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn validate_two_channel_config(config: &TwoChannelConfig) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/combinators.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn new(a: Va, b: Vb) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Change` [INFO] [stdout] --> src/combinators.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | Change { channel: usize, volume_change: f32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `MixerAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/combinators.rs:129:10 [INFO] [stdout] | [INFO] [stdout] 129 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_validated` [INFO] [stdout] --> src/config.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn new_validated bool + 'static + Send>(default: C, validator: V) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/controllers.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `KBConfigAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/controllers.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeBase` [INFO] [stdout] --> src/controllers.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ChangeBase(f32), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `KBConfigAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/controllers.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LowPassFilter` [INFO] [stdout] --> src/effects.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct LowPassFilter { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/effects.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(hz: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `delta` [INFO] [stdout] --> src/effects.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn delta(&mut self) -> Duration { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/voices.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn new(voice: V, effect: E) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `location` [INFO] [stdout] --> src/ui/model.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | location: UILocation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `selected` [INFO] [stdout] --> src/ui/model.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | selected: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `focused` [INFO] [stdout] --> src/ui/model.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | focused: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `at_root` [INFO] [stdout] --> src/ui/model.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | fn at_root(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `right` [INFO] [stdout] --> src/ui/model.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn right(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `left` [INFO] [stdout] --> src/ui/model.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn left(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `enter` [INFO] [stdout] --> src/ui/model.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | fn enter(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `up` [INFO] [stdout] --> src/ui/model.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn up(&mut self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 62 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 57.48s [INFO] running `Command { std: "docker" "inspect" "b5e97dcfaa7e3fc6219b5b54fb0de0ad85a861b9122693f3d0cc312b95104c53", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b5e97dcfaa7e3fc6219b5b54fb0de0ad85a861b9122693f3d0cc312b95104c53", kill_on_drop: false }` [INFO] [stdout] b5e97dcfaa7e3fc6219b5b54fb0de0ad85a861b9122693f3d0cc312b95104c53 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cb7647f974af3560eaf656e6c4bc1a54c0b4606be1bbddadc781bc1ebf7ed95b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "cb7647f974af3560eaf656e6c4bc1a54c0b4606be1bbddadc781bc1ebf7ed95b", kill_on_drop: false }` [INFO] [stderr] Compiling rsynth v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `LockResult`, `MutexGuard`, `RwLock`, `rc::Rc` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | sync::{Arc, LockResult, Mutex, MutexGuard, RwLock}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chain::Chain` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chain::Chain; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TwoChannelConfig`, `TwoChannel` [INFO] [stdout] --> src/main.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | use combinators::{TwoChannel, TwoChannelConfig}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `config::Config` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sample` [INFO] [stdout] --> src/main.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 10 | use cpal::{traits::StreamTrait, Sample}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EventStream`, `disable_raw_mode`, `enable_raw_mode`, `self` [INFO] [stdout] --> src/main.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | event::{self, read, EventStream}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] 13 | terminal::{disable_raw_mode, enable_raw_mode}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Gate`, `LowPassFilter` [INFO] [stdout] --> src/main.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | use effects::{Gate, LowPassFilter, FM}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChainComponent`, `TwoChannelComponent`, `input` [INFO] [stdout] --> src/main.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | components::{ChainComponent, TwoChannelComponent, UIComponent}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | draw_synth, get_terminal, input, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chained` [INFO] [stdout] --> src/main.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | use voices::{Chained, Sine}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KBCConfig`, `config::HasConfig` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | config::HasConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | controllers::{KBCConfig, KeyboardController}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SupportedOutputConfigs`, `SupportedStreamConfigRange` [INFO] [stdout] --> src/audio.rs:3:57 [INFO] [stdout] | [INFO] [stdout] 3 | Device, Sample, SampleFormat, Stream, StreamConfig, SupportedOutputConfigs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | SupportedStreamConfigRange, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/chain.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::config::{Config, ConfigReceiver}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Config` [INFO] [stdout] --> src/combinators.rs:9:45 [INFO] [stdout] | [INFO] [stdout] 9 | ComposeConfig, ComposeConfigClient, Config, ConfigReceiver, HasConfig, ValidatedConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `convert::TryInto` [INFO] [stdout] --> src/config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | convert::TryInto, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `Receiver`, `Sender`, `cell::RefCell`, `channel`, `rc::Rc` [INFO] [stdout] --> src/controllers.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 3 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | sync::{ [INFO] [stdout] 5 | mpsc::{channel, Receiver, Sender}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] 6 | Arc, Mutex, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Effect` [INFO] [stdout] --> src/controllers.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | chain::{Effect, Voice}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | config::{ComposeConfig, ComposeConfigClient, Config, ConfigReceiver, HasConfig}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/effects.rs:4:22 [INFO] [stdout] | [INFO] [stdout] 4 | time::{Duration, Instant}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Num` [INFO] [stdout] --> src/effects.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use num::{Num, NumCast, Signed}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `borrow::BorrowMut`, `cell::RefCell`, `rc::Rc` [INFO] [stdout] --> src/synth.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 4 | marker::PhantomData, [INFO] [stdout] 5 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Chain`, `voices::Sine` [INFO] [stdout] --> src/synth.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | chain::{Chain, Voice}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | voices::Sine, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConfigClient`, `HasFreq`, `chain::Voice` [INFO] [stdout] --> src/ui/components.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | chain::Voice, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | combinators::{MixerClient, TwoChannelClient, TwoChannelConfig}, [INFO] [stdout] 17 | config::{ComposeConfigClient, ConfigClient}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | controllers::{KBConfigAction, KeyboardControllerClient}, [INFO] [stdout] 19 | voices::{AdditiveAction, AdditiveConfig, HasFreq}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/ui/input.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEvent`, `KeyModifiers`, `poll`, `read` [INFO] [stdout] --> src/ui/input.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `SendError`, `Sender`, `io::Result`, `write` [INFO] [stdout] --> src/ui/model.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{write, Formatter}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 3 | io::Result, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 4 | sync::mpsc::{Receiver, SendError, Sender}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Color`, `Constraint`, `Direction`, `Layout`, `Style` [INFO] [stdout] --> src/ui/model.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] 10 | style::{Color, Style}, [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Widget}, [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TwoChannelClient`, `TwoChannelConfig`, `chain::Chain` [INFO] [stdout] --> src/ui/model.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | chain::Chain, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 16 | combinators::{TwoChannelClient, TwoChannelConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChainComponent`, `TwoChannelComponent`, `self` [INFO] [stdout] --> src/ui/model.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | ChainComponent, KeyboardInputComponent, RefWidget, TwoChannelComponent, UIComponent, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | }, [INFO] [stdout] 23 | input::{self, InputEvent}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RwLock`, `cell::RefCell`, `rc::Rc` [INFO] [stdout] --> src/ui/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | io::Stdout, [INFO] [stdout] 8 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | sync::{Arc, Mutex, RwLock}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::terminal::enable_raw_mode` [INFO] [stdout] --> src/ui/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crossterm::terminal::enable_raw_mode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BarChart`, `Block`, `Borders`, `Clear`, `Color`, `Constraint`, `Layout`, `Paragraph`, `Rect`, `Row`, `Style`, `Table`, `buffer::Buffer` [INFO] [stdout] --> src/ui/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | buffer::Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 16 | layout::{Constraint, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] 17 | style::{Color, Style}, [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] 18 | terminal::CompletedFrame, [INFO] [stdout] 19 | widgets::{BarChart, Block, Borders, Clear, Paragraph, Row, Table, Widget}, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TwoChannelClient`, `TwoChannelConfig`, `chain::Voice`, `config::ValidatedConfigClient`, `synth::Synth` [INFO] [stdout] --> src/ui/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | chain::Voice, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 25 | combinators::{TwoChannelClient, TwoChannelConfig}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | config::ValidatedConfigClient, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | synth::Synth, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ops::Add`, `sync::Arc`, `time::Instant` [INFO] [stdout] --> src/voices.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{marker::PhantomData, ops::Add, sync::Arc, time::Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam::atomic::AtomicCell` [INFO] [stdout] --> src/voices.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crossbeam::atomic::AtomicCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chain` [INFO] [stdout] --> src/voices.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | chain::{Chain, Effect, Voice}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `traits::StreamTrait` [INFO] [stdout] --> src/main.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | use cpal::{traits::StreamTrait, Sample}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HasFreq` [INFO] [stdout] --> src/controllers.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | voices::{HasFreq, Waveform}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Widget` [INFO] [stdout] --> src/ui/mod.rs:19:71 [INFO] [stdout] | [INFO] [stdout] 19 | widgets::{BarChart, Block, Borders, Clear, Paragraph, Row, Table, Widget}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `action` [INFO] [stdout] --> src/voices.rs:160:51 [INFO] [stdout] | [INFO] [stdout] 160 | fn reduce_additive_action(config: AdditiveConfig, action: AdditiveAction) -> AdditiveConfig { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/ui/components.rs:192:22 [INFO] [stdout] | [INFO] [stdout] 192 | fn render(&self, area: Rect, buf: &mut Buffer) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/ui/components.rs:192:34 [INFO] [stdout] | [INFO] [stdout] 192 | fn render(&self, area: Rect, buf: &mut Buffer) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/ui/components.rs:232:28 [INFO] [stdout] | [INFO] [stdout] 232 | fn dispatch(&mut self, event: InputEvent) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/ui/components.rs:357:28 [INFO] [stdout] | [INFO] [stdout] 357 | fn dispatch(&mut self, event: InputEvent) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/chain.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add` [INFO] [stdout] --> src/chain.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn add(&mut self, effect: Box + Send + 'static>) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `validate_two_channel_config` [INFO] [stdout] --> src/combinators.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn validate_two_channel_config(config: &TwoChannelConfig) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/combinators.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn new(a: Va, b: Vb) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Change` [INFO] [stdout] --> src/combinators.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | Change { channel: usize, volume_change: f32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `MixerAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/combinators.rs:129:10 [INFO] [stdout] | [INFO] [stdout] 129 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_validated` [INFO] [stdout] --> src/config.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn new_validated bool + 'static + Send>(default: C, validator: V) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/controllers.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `KBConfigAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/controllers.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeBase` [INFO] [stdout] --> src/controllers.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ChangeBase(f32), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `KBConfigAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/controllers.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LowPassFilter` [INFO] [stdout] --> src/effects.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct LowPassFilter { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/effects.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(hz: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `delta` [INFO] [stdout] --> src/effects.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn delta(&mut self) -> Duration { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/voices.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn new(voice: V, effect: E) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `location` [INFO] [stdout] --> src/ui/model.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | location: UILocation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `selected` [INFO] [stdout] --> src/ui/model.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | selected: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `focused` [INFO] [stdout] --> src/ui/model.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | focused: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `at_root` [INFO] [stdout] --> src/ui/model.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | fn at_root(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `right` [INFO] [stdout] --> src/ui/model.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn right(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `left` [INFO] [stdout] --> src/ui/model.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn left(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `enter` [INFO] [stdout] --> src/ui/model.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | fn enter(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `up` [INFO] [stdout] --> src/ui/model.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn up(&mut self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 62 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.35s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/rsynth-92c76155f0d37f7f) [INFO] running `Command { std: "docker" "inspect" "cb7647f974af3560eaf656e6c4bc1a54c0b4606be1bbddadc781bc1ebf7ed95b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb7647f974af3560eaf656e6c4bc1a54c0b4606be1bbddadc781bc1ebf7ed95b", kill_on_drop: false }` [INFO] [stdout] cb7647f974af3560eaf656e6c4bc1a54c0b4606be1bbddadc781bc1ebf7ed95b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c2b0f508a0b9dfe1f013452b5ce76cde076ed4fa82fea7dd26e22c439de363ed [INFO] running `Command { std: "docker" "start" "-a" "c2b0f508a0b9dfe1f013452b5ce76cde076ed4fa82fea7dd26e22c439de363ed", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `LockResult`, `MutexGuard`, `RwLock`, `rc::Rc` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | rc::Rc, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 3 | sync::{Arc, LockResult, Mutex, MutexGuard, RwLock}, [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `chain::Chain` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use chain::Chain; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TwoChannelConfig`, `TwoChannel` [INFO] [stderr] --> src/main.rs:8:19 [INFO] [stderr] | [INFO] [stderr] 8 | use combinators::{TwoChannel, TwoChannelConfig}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `config::Config` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use config::Config; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sample` [INFO] [stderr] --> src/main.rs:10:33 [INFO] [stderr] | [INFO] [stderr] 10 | use cpal::{traits::StreamTrait, Sample}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `EventStream`, `disable_raw_mode`, `enable_raw_mode`, `self` [INFO] [stderr] --> src/main.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | event::{self, read, EventStream}, [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ [INFO] [stderr] 13 | terminal::{disable_raw_mode, enable_raw_mode}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Gate`, `LowPassFilter` [INFO] [stderr] --> src/main.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | use effects::{Gate, LowPassFilter, FM}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChainComponent`, `TwoChannelComponent`, `input` [INFO] [stderr] --> src/main.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | components::{ChainComponent, TwoChannelComponent, UIComponent}, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | draw_synth, get_terminal, input, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Chained` [INFO] [stderr] --> src/main.rs:24:14 [INFO] [stderr] | [INFO] [stderr] 24 | use voices::{Chained, Sine}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KBCConfig`, `config::HasConfig` [INFO] [stderr] --> src/main.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | config::HasConfig, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 28 | controllers::{KBCConfig, KeyboardController}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SupportedOutputConfigs`, `SupportedStreamConfigRange` [INFO] [stderr] --> src/audio.rs:3:57 [INFO] [stderr] | [INFO] [stderr] 3 | Device, Sample, SampleFormat, Stream, StreamConfig, SupportedOutputConfigs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 4 | SupportedStreamConfigRange, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Config` [INFO] [stderr] --> src/chain.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::config::{Config, ConfigReceiver}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Config` [INFO] [stderr] --> src/combinators.rs:9:45 [INFO] [stderr] | [INFO] [stderr] 9 | ComposeConfig, ComposeConfigClient, Config, ConfigReceiver, HasConfig, ValidatedConfig, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `convert::TryInto` [INFO] [stderr] --> src/config.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | convert::TryInto, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex`, `Receiver`, `Sender`, `cell::RefCell`, `channel`, `rc::Rc` [INFO] [stderr] --> src/controllers.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | cell::RefCell, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 3 | rc::Rc, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 4 | sync::{ [INFO] [stderr] 5 | mpsc::{channel, Receiver, Sender}, [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] 6 | Arc, Mutex, [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Config`, `Effect` [INFO] [stderr] --> src/controllers.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | chain::{Effect, Voice}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 12 | config::{ComposeConfig, ComposeConfigClient, Config, ConfigReceiver, HasConfig}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/effects.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | time::{Duration, Instant}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Num` [INFO] [stderr] --> src/effects.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | use num::{Num, NumCast, Signed}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex`, `borrow::BorrowMut`, `cell::RefCell`, `rc::Rc` [INFO] [stderr] --> src/synth.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | borrow::BorrowMut, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 3 | cell::RefCell, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 4 | marker::PhantomData, [INFO] [stderr] 5 | rc::Rc, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 6 | sync::{Arc, Mutex}, [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Chain`, `voices::Sine` [INFO] [stderr] --> src/synth.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | chain::{Chain, Voice}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 14 | voices::Sine, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConfigClient`, `HasFreq`, `chain::Voice` [INFO] [stderr] --> src/ui/components.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | chain::Voice, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 16 | combinators::{MixerClient, TwoChannelClient, TwoChannelConfig}, [INFO] [stderr] 17 | config::{ComposeConfigClient, ConfigClient}, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 18 | controllers::{KBConfigAction, KeyboardControllerClient}, [INFO] [stderr] 19 | voices::{AdditiveAction, AdditiveConfig, HasFreq}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/ui/input.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `KeyEvent`, `KeyModifiers`, `poll`, `read` [INFO] [stderr] --> src/ui/input.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stderr] | ^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `SendError`, `Sender`, `io::Result`, `write` [INFO] [stderr] --> src/ui/model.rs:2:11 [INFO] [stderr] | [INFO] [stderr] 2 | fmt::{write, Formatter}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 3 | io::Result, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 4 | sync::mpsc::{Receiver, SendError, Sender}, [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Block`, `Borders`, `Color`, `Constraint`, `Direction`, `Layout`, `Style` [INFO] [stderr] --> src/ui/model.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stderr] 10 | style::{Color, Style}, [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] 11 | widgets::{Block, Borders, Paragraph, Widget}, [INFO] [stderr] | ^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TwoChannelClient`, `TwoChannelConfig`, `chain::Chain` [INFO] [stderr] --> src/ui/model.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | chain::Chain, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 16 | combinators::{TwoChannelClient, TwoChannelConfig}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChainComponent`, `TwoChannelComponent`, `self` [INFO] [stderr] --> src/ui/model.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | ChainComponent, KeyboardInputComponent, RefWidget, TwoChannelComponent, UIComponent, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | }, [INFO] [stderr] 23 | input::{self, InputEvent}, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RwLock`, `cell::RefCell`, `rc::Rc` [INFO] [stderr] --> src/ui/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | cell::RefCell, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 7 | io::Stdout, [INFO] [stderr] 8 | rc::Rc, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 9 | sync::{Arc, Mutex, RwLock}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossterm::terminal::enable_raw_mode` [INFO] [stderr] --> src/ui/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use crossterm::terminal::enable_raw_mode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BarChart`, `Block`, `Borders`, `Clear`, `Color`, `Constraint`, `Layout`, `Paragraph`, `Rect`, `Row`, `Style`, `Table`, `buffer::Buffer` [INFO] [stderr] --> src/ui/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | buffer::Buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 16 | layout::{Constraint, Layout, Rect}, [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ ^^^^ [INFO] [stderr] 17 | style::{Color, Style}, [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] 18 | terminal::CompletedFrame, [INFO] [stderr] 19 | widgets::{BarChart, Block, Borders, Clear, Paragraph, Row, Table, Widget}, [INFO] [stderr] | ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TwoChannelClient`, `TwoChannelConfig`, `chain::Voice`, `config::ValidatedConfigClient`, `synth::Synth` [INFO] [stdout] [INFO] [stderr] --> src/ui/mod.rs:24:5 [INFO] [stdout] running 0 tests [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 24 | chain::Voice, [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stderr] 25 | combinators::{TwoChannelClient, TwoChannelConfig}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] 26 | config::ValidatedConfigClient, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 27 | synth::Synth, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ops::Add`, `sync::Arc`, `time::Instant` [INFO] [stderr] --> src/voices.rs:1:32 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{marker::PhantomData, ops::Add, sync::Arc, time::Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossbeam::atomic::AtomicCell` [INFO] [stderr] --> src/voices.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crossbeam::atomic::AtomicCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Chain` [INFO] [stderr] --> src/voices.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | chain::{Chain, Effect, Voice}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `traits::StreamTrait` [INFO] [stderr] --> src/main.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | use cpal::{traits::StreamTrait, Sample}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HasFreq` [INFO] [stderr] --> src/controllers.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | voices::{HasFreq, Waveform}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Widget` [INFO] [stderr] --> src/ui/mod.rs:19:71 [INFO] [stderr] | [INFO] [stderr] 19 | widgets::{BarChart, Block, Borders, Clear, Paragraph, Row, Table, Widget}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `action` [INFO] [stderr] --> src/voices.rs:160:51 [INFO] [stderr] | [INFO] [stderr] 160 | fn reduce_additive_action(config: AdditiveConfig, action: AdditiveAction) -> AdditiveConfig { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `area` [INFO] [stderr] --> src/ui/components.rs:192:22 [INFO] [stderr] | [INFO] [stderr] 192 | fn render(&self, area: Rect, buf: &mut Buffer) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `buf` [INFO] [stderr] --> src/ui/components.rs:192:34 [INFO] [stderr] | [INFO] [stderr] 192 | fn render(&self, area: Rect, buf: &mut Buffer) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/ui/components.rs:232:28 [INFO] [stderr] | [INFO] [stderr] 232 | fn dispatch(&mut self, event: InputEvent) {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/ui/components.rs:357:28 [INFO] [stderr] | [INFO] [stderr] 357 | fn dispatch(&mut self, event: InputEvent) {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/chain.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `add` [INFO] [stderr] --> src/chain.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn add(&mut self, effect: Box + Send + 'static>) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `validate_two_channel_config` [INFO] [stderr] --> src/combinators.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn validate_two_channel_config(config: &TwoChannelConfig) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/combinators.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(a: Va, b: Vb) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Change` [INFO] [stderr] --> src/combinators.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | Change { channel: usize, volume_change: f32 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `MixerAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/combinators.rs:129:10 [INFO] [stderr] | [INFO] [stderr] 129 | #[derive(Clone, Copy)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new_validated` [INFO] [stderr] --> src/config.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn new_validated bool + 'static + Send>(default: C, validator: V) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Stop` [INFO] [stderr] --> src/controllers.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Stop, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: `KBConfigAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/controllers.rs:16:10 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Clone, Copy)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeBase` [INFO] [stderr] --> src/controllers.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | ChangeBase(f32), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `KBConfigAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/controllers.rs:16:10 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Clone, Copy)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LowPassFilter` [INFO] [stderr] --> src/effects.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct LowPassFilter { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/effects.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(hz: f32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `delta` [INFO] [stderr] --> src/effects.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn delta(&mut self) -> Duration { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/voices.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn new(voice: V, effect: E) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `location` [INFO] [stderr] --> src/ui/model.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | location: UILocation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `selected` [INFO] [stderr] --> src/ui/model.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | selected: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `focused` [INFO] [stderr] --> src/ui/model.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | focused: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `at_root` [INFO] [stderr] --> src/ui/model.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | fn at_root(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `right` [INFO] [stderr] --> src/ui/model.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | fn right(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `left` [INFO] [stderr] --> src/ui/model.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | fn left(&mut self) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `enter` [INFO] [stderr] --> src/ui/model.rs:66:8 [INFO] [stderr] | [INFO] [stderr] 66 | fn enter(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `up` [INFO] [stderr] --> src/ui/model.rs:69:8 [INFO] [stderr] | [INFO] [stderr] 69 | fn up(&mut self) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: `rsynth` (bin "rsynth" test) generated 62 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rsynth-92c76155f0d37f7f) [INFO] running `Command { std: "docker" "inspect" "c2b0f508a0b9dfe1f013452b5ce76cde076ed4fa82fea7dd26e22c439de363ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2b0f508a0b9dfe1f013452b5ce76cde076ed4fa82fea7dd26e22c439de363ed", kill_on_drop: false }` [INFO] [stdout] c2b0f508a0b9dfe1f013452b5ce76cde076ed4fa82fea7dd26e22c439de363ed