[INFO] cloning repository https://github.com/yuval-k/connect [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yuval-k/connect" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuval-k%2Fconnect"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuval-k%2Fconnect'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e3b41db4cbc2236ce3a06be56bb4f47ff56683dc [INFO] testing yuval-k/connect against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuval-k%2Fconnect" "/workspace/builds/worker-4/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yuval-k/connect on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/yuval-k/connect [INFO] finished tweaking git repo https://github.com/yuval-k/connect [INFO] tweaked toml for git repo https://github.com/yuval-k/connect written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/yuval-k/connect already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 1939bbb6d37b58e3c62708fadb968d737c7417ed984ccae38812614be8c1dd62 [INFO] running `"docker" "start" "-a" "1939bbb6d37b58e3c62708fadb968d737c7417ed984ccae38812614be8c1dd62"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.21 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling num-traits v0.1.37 [INFO] [stderr] Compiling siphasher v0.2.2 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling log v0.3.7 [INFO] [stderr] Compiling byteorder v1.0.0 [INFO] [stderr] Compiling gcc v0.3.46 [INFO] [stderr] Compiling regex-syntax v0.3.9 [INFO] [stderr] Compiling utf8-ranges v0.1.3 [INFO] [stderr] Compiling futures v0.1.13 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling byteorder v0.5.3 [INFO] [stderr] Compiling vec_map v0.7.0 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling approx v0.1.1 [INFO] [stderr] Compiling unicode-segmentation v1.1.0 [INFO] [stderr] Compiling bitflags v0.8.2 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling bit-vec v0.4.3 [INFO] [stderr] Compiling rosc v0.1.5 [INFO] [stderr] Compiling phf_shared v0.7.21 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling phf v0.7.21 [INFO] [stderr] Compiling bit-set v0.4.0 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stderr] Compiling iovec v0.1.0 [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling term_size v0.3.0 [INFO] [stderr] Compiling atty v0.2.2 [INFO] [stderr] Compiling ioctl-rs v0.1.5 [INFO] [stderr] Compiling termios v0.2.2 [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling bytes v0.4.2 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling clap v2.24.1 [INFO] [stderr] Compiling num-integer v0.1.34 [INFO] [stderr] Compiling serial v0.3.4 [INFO] [stderr] Compiling num-iter v0.1.33 [INFO] [stderr] Compiling connect v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Compiling tokio-io v0.1.1 [INFO] [stderr] Compiling palette v0.2.1 [INFO] [stderr] Compiling tk-opc v0.1.3 [INFO] [stderr] Compiling env_logger v0.3.5 [INFO] [stderr] Compiling num-bigint v0.1.37 [INFO] [stderr] Compiling num-complex v0.1.37 [INFO] [stderr] Compiling num-rational v0.1.36 [INFO] [stderr] Compiling num v0.1.37 [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/osc.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / bitflags! { [INFO] [stderr] 39 | | flags SoundState: u32 { [INFO] [stderr] 40 | | const Touch = 1 << 0, [INFO] [stderr] 41 | | const HighTouch = 1 << 1, [INFO] [stderr] 42 | | const Riser = 1 << 2, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/osc.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / bitflags! { [INFO] [stderr] 39 | | flags SoundState: u32 { [INFO] [stderr] 40 | | const Touch = 1 << 0, [INFO] [stderr] 41 | | const HighTouch = 1 << 1, [INFO] [stderr] 42 | | const Riser = 1 << 2, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:109:33 [INFO] [stderr] | [INFO] [stderr] 109 | pub struct RgbLedArray + AsMut> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:109:57 [INFO] [stderr] | [INFO] [stderr] 109 | pub struct RgbLedArray + AsMut> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe impl + AsMut + Send> std::marker::Send for RgbLedArray{} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:114:45 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe impl + AsMut + Send> std::marker::Send for RgbLedArray{} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:116:15 [INFO] [stderr] | [INFO] [stderr] 116 | impl + AsMut> RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:116:39 [INFO] [stderr] | [INFO] [stderr] 116 | impl + AsMut> RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | impl + AsMut + Send> LedArray for RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:124:39 [INFO] [stderr] | [INFO] [stderr] 124 | impl + AsMut + Send> LedArray for RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:140:53 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn set_color>(l: &mut LedArray, lednum: usize, color: T) { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn LedArray` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/animations/idle.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/animations/idle.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/idle.rs:206:28 [INFO] [stderr] | [INFO] [stderr] 206 | where F: FnMut(Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:67:32 [INFO] [stderr] | [INFO] [stderr] 67 | backgroundsprites: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | sprites: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/animations/mod.rs:173:18 [INFO] [stderr] | [INFO] [stderr] 173 | 0...1 => NUM_POLES + string1 - 3, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:223:37 [INFO] [stderr] | [INFO] [stderr] 223 | let mut newsprites: Vec> = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:472:32 [INFO] [stderr] | [INFO] [stderr] 472 | fn draw(&self, array: &mut super::pixels::LedArray); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/events.rs:263:43 [INFO] [stderr] | [INFO] [stderr] 263 | pub fn get_eventer(s: &str) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Eventer` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/main.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn create_gui() -> (Option> , Option){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::pixels::LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | ls: &'a mut pixels::LedArray, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | fn new(ls: &'a mut pixels::LedArray, pole_strip_size: usize, pole_strip_index: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:156:28 [INFO] [stderr] | [INFO] [stderr] 156 | fn get_led_array() -> (Box, Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:273:46 [INFO] [stderr] | [INFO] [stderr] 273 | let (ledscapecontroller, gui) : (Box, Option ) = if opc_server.is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:279:34 [INFO] [stderr] | [INFO] [stderr] 279 | let ledscapecontroller : Box = ledscapecontroller; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:545:32 [INFO] [stderr] | [INFO] [stderr] 545 | fn draw_poles_to_array(c: &mut pixels::LedArray, poles: &[Pole]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:557:32 [INFO] [stderr] | [INFO] [stderr] 557 | fn draw(&self, array: &mut pixels::LedArray) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | std::thread::sleep_ms(1000000) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_touch_level` [INFO] [stderr] --> src/animations/mod.rs:331:17 [INFO] [stderr] | [INFO] [stderr] 331 | let old_touch_level = pole.touch_level; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_touch_level` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/animations/idle.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | for i in 0..5 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_pixels` [INFO] [stderr] --> src/animations/idle.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | let current_pixels = (8.0f32*(curpos*std::f32::consts::PI).sin()) as usize; //if curpos <= 0.5 { (10.0*2.0* curpos) as usize } else { (10.0*2.0* (1.0-curpos)) as usize } ; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pixels` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/opc.rs:51:70 [INFO] [stderr] | [INFO] [stderr] 51 | fn set_color_rgba(&mut self, lednum: usize, r: u8, g: u8, b: u8, a: u8) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | fn add_riser(&mut self, i: usize) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:150:32 [INFO] [stderr] | [INFO] [stderr] 150 | fn remove_riser(&mut self, i: usize) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/osc.rs:225:21 [INFO] [stderr] | [INFO] [stderr] 225 | Err(e) => return Err(std::io::Error::new(std::io::ErrorKind::InvalidInput, "invalid packet")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | for i in 0..3{ [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `poleindex` [INFO] [stderr] --> src/osc.rs:264:34 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poleindex` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `states` [INFO] [stderr] --> src/osc.rs:264:52 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `disco` [INFO] [stderr] --> src/events.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut disco = false; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disco` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/events.rs:290:23 [INFO] [stderr] | [INFO] [stderr] 290 | let (amt, src) = res.unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/config/mod.rs:83:23 [INFO] [stderr] | [INFO] [stderr] 83 | let (amt, src) = res.unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:453:10 [INFO] [stderr] | [INFO] [stderr] 453 | fn clear(mut poles: &mut [Pole]) { [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: variable does not need to be mutable [INFO] [stderr] --> src/osc.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | let mut socket = match std::net::UdpSocket::bind("0.0.0.0:0") { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | fn get_events(&mut self, mut sender: std::sync::mpsc::Sender) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut disco = false; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:280:30 [INFO] [stderr] | [INFO] [stderr] 280 | fn get_events(&mut self, mut sender: std::sync::mpsc::Sender) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config/mod.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let mut socket = UdpSocket::bind("0.0.0.0:8134").expect("this must work"); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Led` [INFO] [stderr] --> src/pixels/mod.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Led { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PixelArray` [INFO] [stderr] --> src/pixels/mod.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct PixelArray { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_color` [INFO] [stderr] --> src/pixels/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn set_color>(&mut self, lednum: usize, color: C) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LED_ANIM_DURATION` [INFO] [stderr] --> src/animations/idle.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const LED_ANIM_DURATION: u64 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cyclic_update` [INFO] [stderr] --> src/animations/idle.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn cyclic_update(&mut self, delta: std::time::Duration) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/animations/idle.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn new(color: palette::Hsl, total_time: std::time::Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LED_ANIM_DURATION` [INFO] [stderr] --> src/animations/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const LED_ANIM_DURATION: u64 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/animations/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn current(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `transition` [INFO] [stderr] --> src/animations/mod.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | / fn transition(&self, [INFO] [stderr] 395 | | i: usize, [INFO] [stderr] 396 | | generatedevents: &mut Vec, [INFO] [stderr] 397 | | old_state: &super::PoleState, [INFO] [stderr] ... | [INFO] [stderr] 463 | | */ [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_1` [INFO] [stderr] --> src/osc.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | const ACHIVE_EVENT_1: &str = "/achive/1"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_2` [INFO] [stderr] --> src/osc.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | const ACHIVE_EVENT_2: &str = "/achive/2"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_3` [INFO] [stderr] --> src/osc.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | const ACHIVE_EVENT_3: &str = "/achive/3"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_4` [INFO] [stderr] --> src/osc.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | const ACHIVE_EVENT_4: &str = "/achive/4"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sconnectudp` [INFO] [stderr] --> src/osc.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | fn sconnectudp(addr: &str, rx: &mut std::sync::mpsc::Receiver) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_event` [INFO] [stderr] --> src/osc.rs:264:5 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `h_shift` should have an upper case name [INFO] [stderr] --> src/main.rs:225:11 [INFO] [stderr] | [INFO] [stderr] 225 | const h_shift : f32 = (2.0+0.5)*360.0/(NUM_POLES as f32); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `H_SHIFT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `partition` should have an upper case name [INFO] [stderr] --> src/main.rs:226:11 [INFO] [stderr] | [INFO] [stderr] 226 | const partition : f32 = 2_f32 * std::f32::consts::PI / (NUM_POLES as f32); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `PARTITION` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/opc.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | Self::work(&receiver, &address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: constant `Touch` should have an upper case name [INFO] [stderr] --> src/osc.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | const Touch = 1 << 0, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `TOUCH` [INFO] [stderr] [INFO] [stderr] warning: constant `HighTouch` should have an upper case name [INFO] [stderr] --> src/osc.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | const HighTouch = 1 << 1, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `HIGH_TOUCH` [INFO] [stderr] [INFO] [stderr] warning: constant `Riser` should have an upper case name [INFO] [stderr] --> src/osc.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 42 | const Riser = 1 << 2, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `RISER` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/osc.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | self.sender.send(packet); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `tcpSend` should have a snake case name [INFO] [stderr] --> src/osc.rs:221:8 [INFO] [stderr] | [INFO] [stderr] 221 | fn tcpSend(stream :&mut std::net::TcpStream , msg : rosc::OscPacket) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `tcp_send` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | sender.send(Events::ModeChanged(mode)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:61:21 [INFO] [stderr] | [INFO] [stderr] 61 | sender.send(Events::Start(EventTypes::Connect(p1, p2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | sender.send(Events::Stop(EventTypes::Connect(p1, p2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | sender.send(Events::Reset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:255:21 [INFO] [stderr] | [INFO] [stderr] 255 | sender.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:405:17 [INFO] [stderr] | [INFO] [stderr] 405 | sender.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | sender.send(Events::ConfigChanged); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | sender.send(Events::ConfigChanged); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:151:25 [INFO] [stderr] | [INFO] [stderr] 151 | sender.send(Events::ModeChanged(Modes::Flower)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:153:25 [INFO] [stderr] | [INFO] [stderr] 153 | sender.send(Events::ModeChanged(Modes::Regular)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | sender.send(Events::ModeChanged(Modes::Disco)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:164:17 [INFO] [stderr] | [INFO] [stderr] 164 | sender.send(Events::ModeChanged(Modes::Regular)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | sender.send(Events::ModeChanged(Modes::Flower)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | sender.send(Events::SaveConfig); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 86 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 39.33s [INFO] running `"docker" "inspect" "1939bbb6d37b58e3c62708fadb968d737c7417ed984ccae38812614be8c1dd62"` [INFO] running `"docker" "rm" "-f" "1939bbb6d37b58e3c62708fadb968d737c7417ed984ccae38812614be8c1dd62"` [INFO] [stdout] 1939bbb6d37b58e3c62708fadb968d737c7417ed984ccae38812614be8c1dd62 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 449421e140346cfd0cea7c4a2bac18d8a3ad84f27a77ae553fa505d5003a2998 [INFO] running `"docker" "start" "-a" "449421e140346cfd0cea7c4a2bac18d8a3ad84f27a77ae553fa505d5003a2998"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling connect v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/osc.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / bitflags! { [INFO] [stderr] 39 | | flags SoundState: u32 { [INFO] [stderr] 40 | | const Touch = 1 << 0, [INFO] [stderr] 41 | | const HighTouch = 1 << 1, [INFO] [stderr] 42 | | const Riser = 1 << 2, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/osc.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / bitflags! { [INFO] [stderr] 39 | | flags SoundState: u32 { [INFO] [stderr] 40 | | const Touch = 1 << 0, [INFO] [stderr] 41 | | const HighTouch = 1 << 1, [INFO] [stderr] 42 | | const Riser = 1 << 2, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:109:33 [INFO] [stderr] | [INFO] [stderr] 109 | pub struct RgbLedArray + AsMut> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:109:57 [INFO] [stderr] | [INFO] [stderr] 109 | pub struct RgbLedArray + AsMut> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe impl + AsMut + Send> std::marker::Send for RgbLedArray{} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:114:45 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe impl + AsMut + Send> std::marker::Send for RgbLedArray{} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:116:15 [INFO] [stderr] | [INFO] [stderr] 116 | impl + AsMut> RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:116:39 [INFO] [stderr] | [INFO] [stderr] 116 | impl + AsMut> RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | impl + AsMut + Send> LedArray for RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:124:39 [INFO] [stderr] | [INFO] [stderr] 124 | impl + AsMut + Send> LedArray for RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:140:53 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn set_color>(l: &mut LedArray, lednum: usize, color: T) { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn LedArray` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/animations/idle.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/animations/idle.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/idle.rs:206:28 [INFO] [stderr] | [INFO] [stderr] 206 | where F: FnMut(Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:67:32 [INFO] [stderr] | [INFO] [stderr] 67 | backgroundsprites: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | sprites: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/animations/mod.rs:173:18 [INFO] [stderr] | [INFO] [stderr] 173 | 0...1 => NUM_POLES + string1 - 3, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:223:37 [INFO] [stderr] | [INFO] [stderr] 223 | let mut newsprites: Vec> = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:472:32 [INFO] [stderr] | [INFO] [stderr] 472 | fn draw(&self, array: &mut super::pixels::LedArray); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/events.rs:263:43 [INFO] [stderr] | [INFO] [stderr] 263 | pub fn get_eventer(s: &str) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Eventer` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/main.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn create_gui() -> (Option> , Option){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::pixels::LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | ls: &'a mut pixels::LedArray, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | fn new(ls: &'a mut pixels::LedArray, pole_strip_size: usize, pole_strip_index: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:156:28 [INFO] [stderr] | [INFO] [stderr] 156 | fn get_led_array() -> (Box, Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:273:46 [INFO] [stderr] | [INFO] [stderr] 273 | let (ledscapecontroller, gui) : (Box, Option ) = if opc_server.is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:279:34 [INFO] [stderr] | [INFO] [stderr] 279 | let ledscapecontroller : Box = ledscapecontroller; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:545:32 [INFO] [stderr] | [INFO] [stderr] 545 | fn draw_poles_to_array(c: &mut pixels::LedArray, poles: &[Pole]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:557:32 [INFO] [stderr] | [INFO] [stderr] 557 | fn draw(&self, array: &mut pixels::LedArray) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | std::thread::sleep_ms(1000000) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_touch_level` [INFO] [stderr] --> src/animations/mod.rs:331:17 [INFO] [stderr] | [INFO] [stderr] 331 | let old_touch_level = pole.touch_level; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_touch_level` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/animations/idle.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | for i in 0..5 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_pixels` [INFO] [stderr] --> src/animations/idle.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | let current_pixels = (8.0f32*(curpos*std::f32::consts::PI).sin()) as usize; //if curpos <= 0.5 { (10.0*2.0* curpos) as usize } else { (10.0*2.0* (1.0-curpos)) as usize } ; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pixels` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/opc.rs:51:70 [INFO] [stderr] | [INFO] [stderr] 51 | fn set_color_rgba(&mut self, lednum: usize, r: u8, g: u8, b: u8, a: u8) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | fn add_riser(&mut self, i: usize) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:150:32 [INFO] [stderr] | [INFO] [stderr] 150 | fn remove_riser(&mut self, i: usize) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/osc.rs:225:21 [INFO] [stderr] | [INFO] [stderr] 225 | Err(e) => return Err(std::io::Error::new(std::io::ErrorKind::InvalidInput, "invalid packet")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | for i in 0..3{ [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `poleindex` [INFO] [stderr] --> src/osc.rs:264:34 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poleindex` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `states` [INFO] [stderr] --> src/osc.rs:264:52 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `disco` [INFO] [stderr] --> src/events.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut disco = false; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disco` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/events.rs:290:23 [INFO] [stderr] | [INFO] [stderr] 290 | let (amt, src) = res.unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/config/mod.rs:83:23 [INFO] [stderr] | [INFO] [stderr] 83 | let (amt, src) = res.unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:453:10 [INFO] [stderr] | [INFO] [stderr] 453 | fn clear(mut poles: &mut [Pole]) { [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: variable does not need to be mutable [INFO] [stderr] --> src/osc.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | let mut socket = match std::net::UdpSocket::bind("0.0.0.0:0") { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | fn get_events(&mut self, mut sender: std::sync::mpsc::Sender) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut disco = false; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:280:30 [INFO] [stderr] | [INFO] [stderr] 280 | fn get_events(&mut self, mut sender: std::sync::mpsc::Sender) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config/mod.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let mut socket = UdpSocket::bind("0.0.0.0:8134").expect("this must work"); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Led` [INFO] [stderr] --> src/pixels/mod.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Led { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PixelArray` [INFO] [stderr] --> src/pixels/mod.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct PixelArray { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_color` [INFO] [stderr] --> src/pixels/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn set_color>(&mut self, lednum: usize, color: C) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LED_ANIM_DURATION` [INFO] [stderr] --> src/animations/idle.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const LED_ANIM_DURATION: u64 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cyclic_update` [INFO] [stderr] --> src/animations/idle.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn cyclic_update(&mut self, delta: std::time::Duration) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/animations/idle.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn new(color: palette::Hsl, total_time: std::time::Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LED_ANIM_DURATION` [INFO] [stderr] --> src/animations/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const LED_ANIM_DURATION: u64 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/animations/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn current(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `transition` [INFO] [stderr] --> src/animations/mod.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | / fn transition(&self, [INFO] [stderr] 395 | | i: usize, [INFO] [stderr] 396 | | generatedevents: &mut Vec, [INFO] [stderr] 397 | | old_state: &super::PoleState, [INFO] [stderr] ... | [INFO] [stderr] 463 | | */ [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_1` [INFO] [stderr] --> src/osc.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | const ACHIVE_EVENT_1: &str = "/achive/1"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_2` [INFO] [stderr] --> src/osc.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | const ACHIVE_EVENT_2: &str = "/achive/2"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_3` [INFO] [stderr] --> src/osc.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | const ACHIVE_EVENT_3: &str = "/achive/3"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_4` [INFO] [stderr] --> src/osc.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | const ACHIVE_EVENT_4: &str = "/achive/4"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sconnectudp` [INFO] [stderr] --> src/osc.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | fn sconnectudp(addr: &str, rx: &mut std::sync::mpsc::Receiver) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_event` [INFO] [stderr] --> src/osc.rs:264:5 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `h_shift` should have an upper case name [INFO] [stderr] --> src/main.rs:225:11 [INFO] [stderr] | [INFO] [stderr] 225 | const h_shift : f32 = (2.0+0.5)*360.0/(NUM_POLES as f32); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `H_SHIFT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `partition` should have an upper case name [INFO] [stderr] --> src/main.rs:226:11 [INFO] [stderr] | [INFO] [stderr] 226 | const partition : f32 = 2_f32 * std::f32::consts::PI / (NUM_POLES as f32); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `PARTITION` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/opc.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | Self::work(&receiver, &address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: constant `Touch` should have an upper case name [INFO] [stderr] --> src/osc.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | const Touch = 1 << 0, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `TOUCH` [INFO] [stderr] [INFO] [stderr] warning: constant `HighTouch` should have an upper case name [INFO] [stderr] --> src/osc.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | const HighTouch = 1 << 1, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `HIGH_TOUCH` [INFO] [stderr] [INFO] [stderr] warning: constant `Riser` should have an upper case name [INFO] [stderr] --> src/osc.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 42 | const Riser = 1 << 2, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `RISER` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/osc.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | self.sender.send(packet); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `tcpSend` should have a snake case name [INFO] [stderr] --> src/osc.rs:221:8 [INFO] [stderr] | [INFO] [stderr] 221 | fn tcpSend(stream :&mut std::net::TcpStream , msg : rosc::OscPacket) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `tcp_send` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | sender.send(Events::ModeChanged(mode)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:61:21 [INFO] [stderr] | [INFO] [stderr] 61 | sender.send(Events::Start(EventTypes::Connect(p1, p2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | sender.send(Events::Stop(EventTypes::Connect(p1, p2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | sender.send(Events::Reset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:255:21 [INFO] [stderr] | [INFO] [stderr] 255 | sender.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:405:17 [INFO] [stderr] | [INFO] [stderr] 405 | sender.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | sender.send(Events::ConfigChanged); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | sender.send(Events::ConfigChanged); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:151:25 [INFO] [stderr] | [INFO] [stderr] 151 | sender.send(Events::ModeChanged(Modes::Flower)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:153:25 [INFO] [stderr] | [INFO] [stderr] 153 | sender.send(Events::ModeChanged(Modes::Regular)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | sender.send(Events::ModeChanged(Modes::Disco)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:164:17 [INFO] [stderr] | [INFO] [stderr] 164 | sender.send(Events::ModeChanged(Modes::Regular)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | sender.send(Events::ModeChanged(Modes::Flower)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | sender.send(Events::SaveConfig); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 86 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.57s [INFO] running `"docker" "inspect" "449421e140346cfd0cea7c4a2bac18d8a3ad84f27a77ae553fa505d5003a2998"` [INFO] running `"docker" "rm" "-f" "449421e140346cfd0cea7c4a2bac18d8a3ad84f27a77ae553fa505d5003a2998"` [INFO] [stdout] 449421e140346cfd0cea7c4a2bac18d8a3ad84f27a77ae553fa505d5003a2998 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d04eb9e617586fddcf310eb68b581ee1747618d1b85d50bfe40b65f63b476170 [INFO] running `"docker" "start" "-a" "d04eb9e617586fddcf310eb68b581ee1747618d1b85d50bfe40b65f63b476170"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/osc.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / bitflags! { [INFO] [stderr] 39 | | flags SoundState: u32 { [INFO] [stderr] 40 | | const Touch = 1 << 0, [INFO] [stderr] 41 | | const HighTouch = 1 << 1, [INFO] [stderr] 42 | | const Riser = 1 << 2, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/osc.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / bitflags! { [INFO] [stderr] 39 | | flags SoundState: u32 { [INFO] [stderr] 40 | | const Touch = 1 << 0, [INFO] [stderr] 41 | | const HighTouch = 1 << 1, [INFO] [stderr] 42 | | const Riser = 1 << 2, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:109:33 [INFO] [stderr] | [INFO] [stderr] 109 | pub struct RgbLedArray + AsMut> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:109:57 [INFO] [stderr] | [INFO] [stderr] 109 | pub struct RgbLedArray + AsMut> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe impl + AsMut + Send> std::marker::Send for RgbLedArray{} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:114:45 [INFO] [stderr] | [INFO] [stderr] 114 | unsafe impl + AsMut + Send> std::marker::Send for RgbLedArray{} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:116:15 [INFO] [stderr] | [INFO] [stderr] 116 | impl + AsMut> RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:116:39 [INFO] [stderr] | [INFO] [stderr] 116 | impl + AsMut> RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | impl + AsMut + Send> LedArray for RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:124:39 [INFO] [stderr] | [INFO] [stderr] 124 | impl + AsMut + Send> LedArray for RgbLedArray { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/pixels/mod.rs:140:53 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn set_color>(l: &mut LedArray, lednum: usize, color: T) { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn LedArray` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/animations/idle.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::f32` [INFO] [stderr] --> src/animations/idle.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | use std::f32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/idle.rs:206:28 [INFO] [stderr] | [INFO] [stderr] 206 | where F: FnMut(Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:67:32 [INFO] [stderr] | [INFO] [stderr] 67 | backgroundsprites: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | sprites: Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/animations/mod.rs:173:18 [INFO] [stderr] | [INFO] [stderr] 173 | 0...1 => NUM_POLES + string1 - 3, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:223:37 [INFO] [stderr] | [INFO] [stderr] 223 | let mut newsprites: Vec> = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PoleAnimation` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animations/mod.rs:472:32 [INFO] [stderr] | [INFO] [stderr] 472 | fn draw(&self, array: &mut super::pixels::LedArray); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/events.rs:263:43 [INFO] [stderr] | [INFO] [stderr] 263 | pub fn get_eventer(s: &str) -> Option> { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Eventer` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/main.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn create_gui() -> (Option> , Option){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::pixels::LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | ls: &'a mut pixels::LedArray, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | fn new(ls: &'a mut pixels::LedArray, pole_strip_size: usize, pole_strip_index: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:156:28 [INFO] [stderr] | [INFO] [stderr] 156 | fn get_led_array() -> (Box, Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray+ Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:273:46 [INFO] [stderr] | [INFO] [stderr] 273 | let (ledscapecontroller, gui) : (Box, Option ) = if opc_server.is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:279:34 [INFO] [stderr] | [INFO] [stderr] 279 | let ledscapecontroller : Box = ledscapecontroller; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:545:32 [INFO] [stderr] | [INFO] [stderr] 545 | fn draw_poles_to_array(c: &mut pixels::LedArray, poles: &[Pole]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:557:32 [INFO] [stderr] | [INFO] [stderr] 557 | fn draw(&self, array: &mut pixels::LedArray) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn pixels::LedArray` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` [INFO] [stderr] --> src/main.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | std::thread::sleep_ms(1000000) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `old_touch_level` [INFO] [stderr] --> src/animations/mod.rs:331:17 [INFO] [stderr] | [INFO] [stderr] 331 | let old_touch_level = pole.touch_level; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_touch_level` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/animations/idle.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | for i in 0..5 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_pixels` [INFO] [stderr] --> src/animations/idle.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | let current_pixels = (8.0f32*(curpos*std::f32::consts::PI).sin()) as usize; //if curpos <= 0.5 { (10.0*2.0* curpos) as usize } else { (10.0*2.0* (1.0-curpos)) as usize } ; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_pixels` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/opc.rs:51:70 [INFO] [stderr] | [INFO] [stderr] 51 | fn set_color_rgba(&mut self, lednum: usize, r: u8, g: u8, b: u8, a: u8) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | fn add_riser(&mut self, i: usize) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:150:32 [INFO] [stderr] | [INFO] [stderr] 150 | fn remove_riser(&mut self, i: usize) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/osc.rs:225:21 [INFO] [stderr] | [INFO] [stderr] 225 | Err(e) => return Err(std::io::Error::new(std::io::ErrorKind::InvalidInput, "invalid packet")), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/osc.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | for i in 0..3{ [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `poleindex` [INFO] [stderr] --> src/osc.rs:264:34 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_poleindex` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `states` [INFO] [stderr] --> src/osc.rs:264:52 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `disco` [INFO] [stderr] --> src/events.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut disco = false; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disco` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/events.rs:290:23 [INFO] [stderr] | [INFO] [stderr] 290 | let (amt, src) = res.unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/config/mod.rs:83:23 [INFO] [stderr] | [INFO] [stderr] 83 | let (amt, src) = res.unwrap(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:453:10 [INFO] [stderr] | [INFO] [stderr] 453 | fn clear(mut poles: &mut [Pole]) { [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: variable does not need to be mutable [INFO] [stderr] --> src/osc.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | let mut socket = match std::net::UdpSocket::bind("0.0.0.0:0") { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | fn get_events(&mut self, mut sender: std::sync::mpsc::Sender) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut disco = false; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/events.rs:280:30 [INFO] [stderr] | [INFO] [stderr] 280 | fn get_events(&mut self, mut sender: std::sync::mpsc::Sender) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config/mod.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let mut socket = UdpSocket::bind("0.0.0.0:8134").expect("this must work"); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Led` [INFO] [stderr] --> src/pixels/mod.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Led { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PixelArray` [INFO] [stderr] --> src/pixels/mod.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct PixelArray { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_color` [INFO] [stderr] --> src/pixels/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn set_color>(&mut self, lednum: usize, color: C) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LED_ANIM_DURATION` [INFO] [stderr] --> src/animations/idle.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const LED_ANIM_DURATION: u64 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cyclic_update` [INFO] [stderr] --> src/animations/idle.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn cyclic_update(&mut self, delta: std::time::Duration) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/animations/idle.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn new(color: palette::Hsl, total_time: std::time::Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LED_ANIM_DURATION` [INFO] [stderr] --> src/animations/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const LED_ANIM_DURATION: u64 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current` [INFO] [stderr] --> src/animations/mod.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn current(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `transition` [INFO] [stderr] --> src/animations/mod.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | / fn transition(&self, [INFO] [stderr] 395 | | i: usize, [INFO] [stderr] 396 | | generatedevents: &mut Vec, [INFO] [stderr] 397 | | old_state: &super::PoleState, [INFO] [stderr] ... | [INFO] [stderr] 463 | | */ [INFO] [stderr] 464 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_1` [INFO] [stderr] --> src/osc.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | const ACHIVE_EVENT_1: &str = "/achive/1"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_2` [INFO] [stderr] --> src/osc.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | const ACHIVE_EVENT_2: &str = "/achive/2"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_3` [INFO] [stderr] --> src/osc.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | const ACHIVE_EVENT_3: &str = "/achive/3"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ACHIVE_EVENT_4` [INFO] [stderr] --> src/osc.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | const ACHIVE_EVENT_4: &str = "/achive/4"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sconnectudp` [INFO] [stderr] --> src/osc.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | fn sconnectudp(addr: &str, rx: &mut std::sync::mpsc::Receiver) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `send_event` [INFO] [stderr] --> src/osc.rs:264:5 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn send_event(&mut self, poleindex: usize, states: &[OSCEvent]) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `h_shift` should have an upper case name [INFO] [stderr] --> src/main.rs:225:11 [INFO] [stderr] | [INFO] [stderr] 225 | const h_shift : f32 = (2.0+0.5)*360.0/(NUM_POLES as f32); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `H_SHIFT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `partition` should have an upper case name [INFO] [stderr] --> src/main.rs:226:11 [INFO] [stderr] | [INFO] [stderr] 226 | const partition : f32 = 2_f32 * std::f32::consts::PI / (NUM_POLES as f32); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `PARTITION` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/opc.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | Self::work(&receiver, &address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: constant `Touch` should have an upper case name [INFO] [stderr] --> src/osc.rs:40:15 [INFO] [stderr] | [INFO] [stderr] 40 | const Touch = 1 << 0, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `TOUCH` [INFO] [stderr] [INFO] [stderr] warning: constant `HighTouch` should have an upper case name [INFO] [stderr] --> src/osc.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | const HighTouch = 1 << 1, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `HIGH_TOUCH` [INFO] [stderr] [INFO] [stderr] warning: constant `Riser` should have an upper case name [INFO] [stderr] --> src/osc.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 42 | const Riser = 1 << 2, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `RISER` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/osc.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | self.sender.send(packet); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `tcpSend` should have a snake case name [INFO] [stderr] --> src/osc.rs:221:8 [INFO] [stderr] | [INFO] [stderr] 221 | fn tcpSend(stream :&mut std::net::TcpStream , msg : rosc::OscPacket) -> std::io::Result<()> { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `tcp_send` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | sender.send(Events::ModeChanged(mode)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:61:21 [INFO] [stderr] | [INFO] [stderr] 61 | sender.send(Events::Start(EventTypes::Connect(p1, p2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | sender.send(Events::Stop(EventTypes::Connect(p1, p2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | sender.send(Events::Reset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:255:21 [INFO] [stderr] | [INFO] [stderr] 255 | sender.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/events.rs:405:17 [INFO] [stderr] | [INFO] [stderr] 405 | sender.send(event); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | sender.send(Events::ConfigChanged); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | sender.send(Events::ConfigChanged); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:151:25 [INFO] [stderr] | [INFO] [stderr] 151 | sender.send(Events::ModeChanged(Modes::Flower)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:153:25 [INFO] [stderr] | [INFO] [stderr] 153 | sender.send(Events::ModeChanged(Modes::Regular)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | sender.send(Events::ModeChanged(Modes::Disco)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:164:17 [INFO] [stderr] | [INFO] [stderr] 164 | sender.send(Events::ModeChanged(Modes::Regular)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | sender.send(Events::ModeChanged(Modes::Flower)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/config/mod.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | sender.send(Events::SaveConfig); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 86 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/connect-c15fddb3ed1ca7eb [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "d04eb9e617586fddcf310eb68b581ee1747618d1b85d50bfe40b65f63b476170"` [INFO] running `"docker" "rm" "-f" "d04eb9e617586fddcf310eb68b581ee1747618d1b85d50bfe40b65f63b476170"` [INFO] [stdout] d04eb9e617586fddcf310eb68b581ee1747618d1b85d50bfe40b65f63b476170