[INFO] updating cached repository synlestidae/webnes [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/synlestidae/webnes [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/synlestidae/webnes" "work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/synlestidae/webnes"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/synlestidae/webnes'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/synlestidae/webnes" "work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/synlestidae/webnes"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/synlestidae/webnes'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b33eaa14e63ac420c871b982988d968529885b32 [INFO] sha for GitHub repo synlestidae/webnes: b33eaa14e63ac420c871b982988d968529885b32 [INFO] validating manifest of synlestidae/webnes on toolchain master#e305df1846a6d985315917ae0c81b74af8b4e641 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of synlestidae/webnes on toolchain try#99a7498759a22b5684caf798a98b7e90ad9d2443 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing synlestidae/webnes [INFO] finished frobbing synlestidae/webnes [INFO] frobbed toml for synlestidae/webnes written to work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/synlestidae/webnes/Cargo.toml [INFO] started frobbing synlestidae/webnes [INFO] finished frobbing synlestidae/webnes [INFO] frobbed toml for synlestidae/webnes written to work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/synlestidae/webnes/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking synlestidae/webnes against try#99a7498759a22b5684caf798a98b7e90ad9d2443 for pr-60039-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-60039-1/worker-0/try#99a7498759a22b5684caf798a98b7e90ad9d2443:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/synlestidae/webnes:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] c4bb815fc7bec7d2c98673f3f92b3e6fcd2778ed64b21ab2ead761f45c6d5981 [INFO] running `"docker" "start" "-a" "c4bb815fc7bec7d2c98673f3f92b3e6fcd2778ed64b21ab2ead761f45c6d5981"` [INFO] [stderr] Compiling syn v0.15.32 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.42 [INFO] [stderr] Compiling bumpalo v2.4.1 [INFO] [stderr] Compiling rustc-demangle v0.1.14 [INFO] [stderr] Compiling wasm-bindgen v0.2.42 [INFO] [stderr] Compiling sourcefile v0.1.4 [INFO] [stderr] Compiling regex-syntax v0.6.6 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling aho-corasick v0.7.3 [INFO] [stderr] Compiling weedle v0.8.0 [INFO] [stderr] Compiling backtrace v0.3.15 [INFO] [stderr] Compiling regex v1.1.6 [INFO] [stderr] Compiling env_logger v0.6.1 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.42 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.42 [INFO] [stderr] Compiling wasm-bindgen-webidl v0.2.42 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.42 [INFO] [stderr] Checking js-sys v0.3.19 [INFO] [stderr] Compiling web-sys v0.3.19 [INFO] [stderr] Checking nes v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/util.rs:6:34 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::{self, Read, Write, Result}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `OutputBuffer`, `self` [INFO] [stderr] --> src/apu.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | use audio::{self, OutputBuffer}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `resampler::Resampler` [INFO] [stderr] --> src/apu.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use resampler::Resampler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/audio.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::slice::from_raw_parts_mut` [INFO] [stderr] --> src/audio.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::slice::from_raw_parts_mut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `apu::Apu` [INFO] [stderr] --> src/lib.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use apu::Apu; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cpu::Cpu` [INFO] [stderr] --> src/lib.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | use cpu::Cpu; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Gfx` [INFO] [stderr] --> src/lib.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | use gfx::{Gfx, Scale}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `InputResult`, `Input` [INFO] [stderr] --> src/lib.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | use input::{Input, InputResult}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mapper::Mapper` [INFO] [stderr] --> src/lib.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use mapper::Mapper; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mem::MemMap` [INFO] [stderr] --> src/lib.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | use mem::MemMap; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Oam`, `Ppu`, `Vram` [INFO] [stderr] --> src/lib.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | use ppu::{Oam, Ppu, Vram}; [INFO] [stderr] | ^^^ ^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `util::Save` [INFO] [stderr] --> src/lib.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | use util::Save; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/lib.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `input_source::*` [INFO] [stderr] --> src/lib.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | use input_source::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `emulator::Emulator` [INFO] [stderr] --> src/lib.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | use emulator::Emulator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/lib.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/lib.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/lib.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/lib.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/lib.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/lib.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | / macro_rules! log { [INFO] [stderr] 55 | | ( $( $t:tt )* ) => { [INFO] [stderr] 56 | | web_sys::console::log_1(&format!( $( $t )* ).into()); [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/util.rs:6:34 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::{self, Read, Write, Result}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `OutputBuffer`, `self` [INFO] [stderr] --> src/apu.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | use audio::{self, OutputBuffer}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `resampler::Resampler` [INFO] [stderr] --> src/apu.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use resampler::Resampler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/audio.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::slice::from_raw_parts_mut` [INFO] [stderr] --> src/audio.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::slice::from_raw_parts_mut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `apu::Apu` [INFO] [stderr] --> src/lib.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use apu::Apu; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cpu::Cpu` [INFO] [stderr] --> src/lib.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | use cpu::Cpu; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Gfx` [INFO] [stderr] --> src/lib.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | use gfx::{Gfx, Scale}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `InputResult`, `Input` [INFO] [stderr] --> src/lib.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | use input::{Input, InputResult}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mapper::Mapper` [INFO] [stderr] --> src/lib.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use mapper::Mapper; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mem::MemMap` [INFO] [stderr] --> src/lib.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | use mem::MemMap; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Oam`, `Ppu`, `Vram` [INFO] [stderr] --> src/lib.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | use ppu::{Oam, Ppu, Vram}; [INFO] [stderr] | ^^^ ^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `util::Save` [INFO] [stderr] --> src/lib.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | use util::Save; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/lib.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `input_source::*` [INFO] [stderr] --> src/lib.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | use input_source::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `emulator::Emulator` [INFO] [stderr] --> src/lib.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | use emulator::Emulator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/lib.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/lib.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/lib.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/lib.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/lib.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/lib.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | / macro_rules! log { [INFO] [stderr] 55 | | ( $( $t:tt )* ) => { [INFO] [stderr] 56 | | web_sys::console::log_1(&format!( $( $t )* ).into()); [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rom` [INFO] [stderr] --> src/lib.rs:80:23 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn start_emulator(rom: Rom, scale: Scale) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_rom` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scale` [INFO] [stderr] --> src/lib.rs:80:33 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn start_emulator(rom: Rom, scale: Scale) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_scale` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pulse_number` [INFO] [stderr] --> src/apu.rs:600:30 [INFO] [stderr] | [INFO] [stderr] 600 | fn play_pulse(&mut self, pulse_number: usize, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider prefixing with an underscore: `_pulse_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `channel` [INFO] [stderr] --> src/apu.rs:600:51 [INFO] [stderr] | [INFO] [stderr] 600 | fn play_pulse(&mut self, pulse_number: usize, channel: usize) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_channel` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `channel` [INFO] [stderr] --> src/apu.rs:637:33 [INFO] [stderr] | [INFO] [stderr] 637 | fn play_triangle(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_channel` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `channel` [INFO] [stderr] --> src/apu.rs:666:30 [INFO] [stderr] | [INFO] [stderr] 666 | fn play_noise(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_channel` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nes_sample_rate` [INFO] [stderr] --> src/resampler.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(nes_sample_rate: u32, output_sample_rate: u32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_nes_sample_rate` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_sample_rate` [INFO] [stderr] --> src/resampler.rs:7:38 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(nes_sample_rate: u32, output_sample_rate: u32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_sample_rate` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/resampler.rs:14:27 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn process(&self, input: &mut [i16], output: &mut [u8]) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/resampler.rs:14:46 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn process(&self, input: &mut [i16], output: &mut [u8]) { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_output` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ppu_screen` [INFO] [stderr] --> src/gfx.rs:327:24 [INFO] [stderr] | [INFO] [stderr] 327 | fn blit(&mut self, ppu_screen: &[u8; SCREEN_SIZE]) { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_ppu_screen` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/util.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn read_to_buf(mut buf: &mut [u8], rd: &mut Read) -> io::Result<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/audio.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_unsafe)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NES_SAMPLE_RATE` [INFO] [stderr] --> src/apu.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | const NES_SAMPLE_RATE: u32 = 1789920; // Actual is 1789800, but this is divisible by 240. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OUTPUT_SAMPLE_RATE` [INFO] [stderr] --> src/apu.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | const OUTPUT_SAMPLE_RATE: u32 = 44100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TICK_FREQUENCY` [INFO] [stderr] --> src/apu.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | const TICK_FREQUENCY: u32 = 240; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NES_SAMPLES_PER_TICK` [INFO] [stderr] --> src/apu.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | const NES_SAMPLES_PER_TICK: u32 = NES_SAMPLE_RATE / TICK_FREQUENCY; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PULSE_WAVEFORMS` [INFO] [stderr] --> src/apu.rs:24:1 [INFO] [stderr] | [INFO] [stderr] 24 | const PULSE_WAVEFORMS: [u8; 4] = [ 0b01000000, 0b01100000, 0b01111000, 0b10011111 ]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TRIANGLE_WAVEFORM` [INFO] [stderr] --> src/apu.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | / const TRIANGLE_WAVEFORM: [u8; 32] = [ [INFO] [stderr] 32 | | 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, [INFO] [stderr] 33 | | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, [INFO] [stderr] 34 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `audible` [INFO] [stderr] --> src/apu.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | fn audible(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sample_volume` [INFO] [stderr] --> src/apu.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | fn sample_volume(&self) -> i16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `audible` [INFO] [stderr] --> src/apu.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | fn audible(&self) -> bool { self.value > 0 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `wavelen` [INFO] [stderr] --> src/apu.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | fn wavelen(&self) -> u64 { (self.value as u64 + 1) * 2 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `waveform_index` [INFO] [stderr] --> src/apu.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | waveform_index: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `audible` [INFO] [stderr] --> src/apu.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 308 | fn audible(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `rng` [INFO] [stderr] --> src/apu.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | rng: Xorshift, // FIXME: This is inaccurate. [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SAMPLE_COUNT` [INFO] [stderr] --> src/apu.rs:400:1 [INFO] [stderr] | [INFO] [stderr] 400 | const SAMPLE_COUNT: usize = 178992; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `SampleBuffer` [INFO] [stderr] --> src/apu.rs:402:1 [INFO] [stderr] | [INFO] [stderr] 402 | struct SampleBuffer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_or_zero_sample_buffer` [INFO] [stderr] --> src/apu.rs:587:5 [INFO] [stderr] | [INFO] [stderr] 587 | / fn get_or_zero_sample_buffer(buffer: &mut [i16], offset: usize, audible: bool) [INFO] [stderr] 588 | | -> Option<&mut [i16]> { [INFO] [stderr] 589 | | let buffer = &mut buffer[offset..offset + NES_SAMPLES_PER_TICK as usize]; [INFO] [stderr] 590 | | if audible { [INFO] [stderr] ... | [INFO] [stderr] 597 | | None [INFO] [stderr] 598 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play_pulse` [INFO] [stderr] --> src/apu.rs:600:5 [INFO] [stderr] | [INFO] [stderr] 600 | fn play_pulse(&mut self, pulse_number: usize, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play_triangle` [INFO] [stderr] --> src/apu.rs:637:5 [INFO] [stderr] | [INFO] [stderr] 637 | fn play_triangle(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play_noise` [INFO] [stderr] --> src/apu.rs:666:5 [INFO] [stderr] | [INFO] [stderr] 666 | fn play_noise(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `g_output_buffer` [INFO] [stderr] --> src/audio.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | static mut g_output_buffer: Option<*mut OutputBuffer> = None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `factor` [INFO] [stderr] --> src/gfx.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | fn factor(self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `g_output_buffer` should have an upper case name [INFO] [stderr] --> src/audio.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | static mut g_output_buffer: Option<*mut OutputBuffer> = None; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `G_OUTPUT_BUFFER` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rom` [INFO] [stderr] --> src/lib.rs:80:23 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn start_emulator(rom: Rom, scale: Scale) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_rom` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scale` [INFO] [stderr] --> src/lib.rs:80:33 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn start_emulator(rom: Rom, scale: Scale) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_scale` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pulse_number` [INFO] [stderr] --> src/apu.rs:600:30 [INFO] [stderr] | [INFO] [stderr] 600 | fn play_pulse(&mut self, pulse_number: usize, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider prefixing with an underscore: `_pulse_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `channel` [INFO] [stderr] --> src/apu.rs:600:51 [INFO] [stderr] | [INFO] [stderr] 600 | fn play_pulse(&mut self, pulse_number: usize, channel: usize) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_channel` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `channel` [INFO] [stderr] --> src/apu.rs:637:33 [INFO] [stderr] | [INFO] [stderr] 637 | fn play_triangle(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_channel` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `channel` [INFO] [stderr] --> src/apu.rs:666:30 [INFO] [stderr] | [INFO] [stderr] 666 | fn play_noise(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_channel` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nes_sample_rate` [INFO] [stderr] --> src/resampler.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(nes_sample_rate: u32, output_sample_rate: u32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_nes_sample_rate` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_sample_rate` [INFO] [stderr] --> src/resampler.rs:7:38 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(nes_sample_rate: u32, output_sample_rate: u32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_output_sample_rate` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/resampler.rs:14:27 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn process(&self, input: &mut [i16], output: &mut [u8]) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/resampler.rs:14:46 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn process(&self, input: &mut [i16], output: &mut [u8]) { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_output` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ppu_screen` [INFO] [stderr] --> src/gfx.rs:327:24 [INFO] [stderr] | [INFO] [stderr] 327 | fn blit(&mut self, ppu_screen: &[u8; SCREEN_SIZE]) { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_ppu_screen` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/util.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn read_to_buf(mut buf: &mut [u8], rd: &mut Read) -> io::Result<()> { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/audio.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_unsafe)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NES_SAMPLE_RATE` [INFO] [stderr] --> src/apu.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | const NES_SAMPLE_RATE: u32 = 1789920; // Actual is 1789800, but this is divisible by 240. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OUTPUT_SAMPLE_RATE` [INFO] [stderr] --> src/apu.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | const OUTPUT_SAMPLE_RATE: u32 = 44100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TICK_FREQUENCY` [INFO] [stderr] --> src/apu.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | const TICK_FREQUENCY: u32 = 240; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NES_SAMPLES_PER_TICK` [INFO] [stderr] --> src/apu.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | const NES_SAMPLES_PER_TICK: u32 = NES_SAMPLE_RATE / TICK_FREQUENCY; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PULSE_WAVEFORMS` [INFO] [stderr] --> src/apu.rs:24:1 [INFO] [stderr] | [INFO] [stderr] 24 | const PULSE_WAVEFORMS: [u8; 4] = [ 0b01000000, 0b01100000, 0b01111000, 0b10011111 ]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TRIANGLE_WAVEFORM` [INFO] [stderr] --> src/apu.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | / const TRIANGLE_WAVEFORM: [u8; 32] = [ [INFO] [stderr] 32 | | 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, [INFO] [stderr] 33 | | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, [INFO] [stderr] 34 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `audible` [INFO] [stderr] --> src/apu.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | fn audible(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sample_volume` [INFO] [stderr] --> src/apu.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | fn sample_volume(&self) -> i16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `audible` [INFO] [stderr] --> src/apu.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | fn audible(&self) -> bool { self.value > 0 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `wavelen` [INFO] [stderr] --> src/apu.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | fn wavelen(&self) -> u64 { (self.value as u64 + 1) * 2 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `waveform_index` [INFO] [stderr] --> src/apu.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | waveform_index: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `audible` [INFO] [stderr] --> src/apu.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 308 | fn audible(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `rng` [INFO] [stderr] --> src/apu.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | rng: Xorshift, // FIXME: This is inaccurate. [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SAMPLE_COUNT` [INFO] [stderr] --> src/apu.rs:400:1 [INFO] [stderr] | [INFO] [stderr] 400 | const SAMPLE_COUNT: usize = 178992; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `SampleBuffer` [INFO] [stderr] --> src/apu.rs:402:1 [INFO] [stderr] | [INFO] [stderr] 402 | struct SampleBuffer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_or_zero_sample_buffer` [INFO] [stderr] --> src/apu.rs:587:5 [INFO] [stderr] | [INFO] [stderr] 587 | / fn get_or_zero_sample_buffer(buffer: &mut [i16], offset: usize, audible: bool) [INFO] [stderr] 588 | | -> Option<&mut [i16]> { [INFO] [stderr] 589 | | let buffer = &mut buffer[offset..offset + NES_SAMPLES_PER_TICK as usize]; [INFO] [stderr] 590 | | if audible { [INFO] [stderr] ... | [INFO] [stderr] 597 | | None [INFO] [stderr] 598 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play_pulse` [INFO] [stderr] --> src/apu.rs:600:5 [INFO] [stderr] | [INFO] [stderr] 600 | fn play_pulse(&mut self, pulse_number: usize, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play_triangle` [INFO] [stderr] --> src/apu.rs:637:5 [INFO] [stderr] | [INFO] [stderr] 637 | fn play_triangle(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play_noise` [INFO] [stderr] --> src/apu.rs:666:5 [INFO] [stderr] | [INFO] [stderr] 666 | fn play_noise(&mut self, channel: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `g_output_buffer` [INFO] [stderr] --> src/audio.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | static mut g_output_buffer: Option<*mut OutputBuffer> = None; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `factor` [INFO] [stderr] --> src/gfx.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | fn factor(self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `g_output_buffer` should have an upper case name [INFO] [stderr] --> src/audio.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | static mut g_output_buffer: Option<*mut OutputBuffer> = None; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `G_OUTPUT_BUFFER` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 34s [INFO] running `"docker" "inspect" "c4bb815fc7bec7d2c98673f3f92b3e6fcd2778ed64b21ab2ead761f45c6d5981"` [INFO] running `"docker" "rm" "-f" "c4bb815fc7bec7d2c98673f3f92b3e6fcd2778ed64b21ab2ead761f45c6d5981"` [INFO] [stdout] c4bb815fc7bec7d2c98673f3f92b3e6fcd2778ed64b21ab2ead761f45c6d5981