[INFO] crate stick 0.4.1 is already in cache [INFO] extracting crate stick 0.4.1 into work/ex/clippy-test-run/sources/stable/reg/stick/0.4.1 [INFO] extracting crate stick 0.4.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stick/0.4.1 [INFO] validating manifest of stick-0.4.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of stick-0.4.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing stick-0.4.1 [INFO] finished frobbing stick-0.4.1 [INFO] frobbed toml for stick-0.4.1 written to work/ex/clippy-test-run/sources/stable/reg/stick/0.4.1/Cargo.toml [INFO] started frobbing stick-0.4.1 [INFO] finished frobbing stick-0.4.1 [INFO] frobbed toml for stick-0.4.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stick/0.4.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting stick-0.4.1 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stick/0.4.1:/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 -Dclippy::into_iter_on_array" "-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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b26616a09d58795842081c84a432dce7fd13ac11e20689b4fdc6f6c2d3e1b9f5 [INFO] running `"docker" "start" "-a" "b26616a09d58795842081c84a432dce7fd13ac11e20689b4fdc6f6c2d3e1b9f5"` [INFO] [stderr] Checking stick v0.4.1 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/remapping/game_cube.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | ::Remapper::new(0x791844, remapper) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0079_1844` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:110:40 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn disconnect(&mut self, fd: i32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:144:21 [INFO] [stderr] | [INFO] [stderr] 144 | fn drop(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:178:39 [INFO] [stderr] | [INFO] [stderr] 178 | fn open_joystick(device: &mut Device) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:187:28 [INFO] [stderr] | [INFO] [stderr] 187 | fn joystick_async(fd: i32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ffi/linux.rs:205:24 [INFO] [stderr] | [INFO] [stderr] 205 | if unsafe { ioctl(fd, 0x80084502, &mut a[0]) } == -1 { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8008_4502` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ffi/linux.rs:229:24 [INFO] [stderr] | [INFO] [stderr] 229 | if unsafe { ioctl(fd, 0x80184540, &mut a) } == -1 { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8018_4540` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:237:27 [INFO] [stderr] | [INFO] [stderr] 237 | fn joystick_drop(fd: i32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/remapping/game_cube.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | ::Remapper::new(0x791844, remapper) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0079_1844` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:110:40 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn disconnect(&mut self, fd: i32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:144:21 [INFO] [stderr] | [INFO] [stderr] 144 | fn drop(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:178:39 [INFO] [stderr] | [INFO] [stderr] 178 | fn open_joystick(device: &mut Device) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:187:28 [INFO] [stderr] | [INFO] [stderr] 187 | fn joystick_async(fd: i32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ffi/linux.rs:205:24 [INFO] [stderr] | [INFO] [stderr] 205 | if unsafe { ioctl(fd, 0x80084502, &mut a[0]) } == -1 { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8008_4502` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ffi/linux.rs:229:24 [INFO] [stderr] | [INFO] [stderr] 229 | if unsafe { ioctl(fd, 0x80184540, &mut a) } == -1 { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8018_4540` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ffi/linux.rs:237:27 [INFO] [stderr] | [INFO] [stderr] 237 | fn joystick_drop(fd: i32) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 54 [INFO] [stderr] --> src/controller_manager.rs:106:2 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn update(&mut self) -> Option<(usize, Input)> { [INFO] [stderr] | _____^ [INFO] [stderr] 107 | | if let Some(input) = self.input.pop() { [INFO] [stderr] 108 | | let remapped = self.remap(input); [INFO] [stderr] 109 | | [INFO] [stderr] ... | [INFO] [stderr] 369 | | self.update() [INFO] [stderr] 370 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:180:25 [INFO] [stderr] | [INFO] [stderr] 180 | self.input.push((i, match self.controllers[i].state.accept { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 181 | | false => Input::Accept(None), [INFO] [stderr] 182 | | true => Input::Accept(Some(true)), [INFO] [stderr] 183 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.accept { Input::Accept(Some(true)) } else { Input::Accept(None) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:193:25 [INFO] [stderr] | [INFO] [stderr] 193 | self.input.push((i, match self.controllers[i].state.cancel { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 194 | | false => Input::Cancel(None), [INFO] [stderr] 195 | | true => Input::Cancel(Some(true)), [INFO] [stderr] 196 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.cancel { Input::Cancel(Some(true)) } else { Input::Cancel(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:206:25 [INFO] [stderr] | [INFO] [stderr] 206 | self.input.push((i, match self.controllers[i].state.execute { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 207 | | false => Input::Execute(None), [INFO] [stderr] 208 | | true => Input::Execute(Some(true)), [INFO] [stderr] 209 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.execute { Input::Execute(Some(true)) } else { Input::Execute(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:219:25 [INFO] [stderr] | [INFO] [stderr] 219 | self.input.push((i, match self.controllers[i].state.trigger { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 220 | | false => Input::Action(None), [INFO] [stderr] 221 | | true => Input::Action(Some(true)), [INFO] [stderr] 222 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.trigger { Input::Action(Some(true)) } else { Input::Action(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:232:25 [INFO] [stderr] | [INFO] [stderr] 232 | self.input.push((i, match self.controllers[i].state.menu { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | false => Input::Menu(None), [INFO] [stderr] 234 | | true => Input::Menu(Some(true)), [INFO] [stderr] 235 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.menu { Input::Menu(Some(true)) } else { Input::Menu(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:245:25 [INFO] [stderr] | [INFO] [stderr] 245 | self.input.push((i, match self.controllers[i].state.left { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | false => Input::Left(None), [INFO] [stderr] 247 | | true => Input::Left(Some(true)), [INFO] [stderr] 248 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.left { Input::Left(Some(true)) } else { Input::Left(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:258:25 [INFO] [stderr] | [INFO] [stderr] 258 | self.input.push((i, match self.controllers[i].state.right { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 259 | | false => Input::Right(None), [INFO] [stderr] 260 | | true => Input::Right(Some(true)), [INFO] [stderr] 261 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.right { Input::Right(Some(true)) } else { Input::Right(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 54 [INFO] [stderr] --> src/controller_manager.rs:106:2 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn update(&mut self) -> Option<(usize, Input)> { [INFO] [stderr] | _____^ [INFO] [stderr] 107 | | if let Some(input) = self.input.pop() { [INFO] [stderr] 108 | | let remapped = self.remap(input); [INFO] [stderr] 109 | | [INFO] [stderr] ... | [INFO] [stderr] 369 | | self.update() [INFO] [stderr] 370 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:271:25 [INFO] [stderr] | [INFO] [stderr] 271 | self.input.push((i, match self.controllers[i].state.up { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 272 | | false => Input::Up(None), [INFO] [stderr] 273 | | true => Input::Up(Some(true)), [INFO] [stderr] 274 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.up { Input::Up(Some(true)) } else { Input::Up(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:284:25 [INFO] [stderr] | [INFO] [stderr] 284 | self.input.push((i, match self.controllers[i].state.down { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 285 | | false => Input::Down(None), [INFO] [stderr] 286 | | true => Input::Down(Some(true)), [INFO] [stderr] 287 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.down { Input::Down(Some(true)) } else { Input::Down(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:307:25 [INFO] [stderr] | [INFO] [stderr] 307 | self.input.push((i, match self.controllers[i].state.move_stick { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 308 | | false => Input::MoveStick(None), [INFO] [stderr] 309 | | true => Input::MoveStick(Some(true)), [INFO] [stderr] 310 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.move_stick { Input::MoveStick(Some(true)) } else { Input::MoveStick(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:320:25 [INFO] [stderr] | [INFO] [stderr] 320 | self.input.push((i, match self.controllers[i].state.cam_stick { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 321 | | false => Input::CamStick(None), [INFO] [stderr] 322 | | true => Input::CamStick(Some(true)), [INFO] [stderr] 323 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.cam_stick { Input::CamStick(Some(true)) } else { Input::CamStick(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:344:26 [INFO] [stderr] | [INFO] [stderr] 344 | self.input.push((i, match self.controllers[i].state.l[b] { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 345 | | false => Input::L(b as u8, None), [INFO] [stderr] 346 | | true => Input::L(b as u8, Some(true)), [INFO] [stderr] 347 | | })); [INFO] [stderr] | |_____________________^ help: consider using an if/else expression: `if self.controllers[i].state.l[b] { Input::L(b as u8, Some(true)) } else { Input::L(b as u8, None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:357:26 [INFO] [stderr] | [INFO] [stderr] 357 | self.input.push((i, match self.controllers[i].state.r[b] { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 358 | | false => Input::R(b as u8, None), [INFO] [stderr] 359 | | true => Input::R(b as u8, Some(true)), [INFO] [stderr] 360 | | })); [INFO] [stderr] | |_____________________^ help: consider using an if/else expression: `if self.controllers[i].state.r[b] { Input::R(b as u8, Some(true)) } else { Input::R(b as u8, None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/controller_manager.rs:381:23 [INFO] [stderr] | [INFO] [stderr] 381 | ThrottleL(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 382 | | self.controllers[input.0].l_throttle [INFO] [stderr] | |____________________________________________________^ help: consider comparing them within some error: `(x - self.controllers[input.0].l_throttle).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/controller_manager.rs:381:23 [INFO] [stderr] | [INFO] [stderr] 381 | ThrottleL(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 382 | | self.controllers[input.0].l_throttle [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/controller_manager.rs:387:23 [INFO] [stderr] | [INFO] [stderr] 387 | ThrottleR(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 388 | | self.controllers[input.0].r_throttle [INFO] [stderr] | |____________________________________________________^ help: consider comparing them within some error: `(x - self.controllers[input.0].r_throttle).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/controller_manager.rs:387:23 [INFO] [stderr] | [INFO] [stderr] 387 | ThrottleR(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 388 | | self.controllers[input.0].r_throttle [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:180:25 [INFO] [stderr] | [INFO] [stderr] 180 | self.input.push((i, match self.controllers[i].state.accept { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 181 | | false => Input::Accept(None), [INFO] [stderr] 182 | | true => Input::Accept(Some(true)), [INFO] [stderr] 183 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.accept { Input::Accept(Some(true)) } else { Input::Accept(None) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:414:18 [INFO] [stderr] | [INFO] [stderr] 414 | input.push((id, match rthrottle { [INFO] [stderr] | _____________________^ [INFO] [stderr] 415 | | false => Input::ThrottleL(i), [INFO] [stderr] 416 | | true => Input::ThrottleR(i), [INFO] [stderr] 417 | | })); [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if rthrottle { Input::ThrottleR(i) } else { Input::ThrottleL(i) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:193:25 [INFO] [stderr] | [INFO] [stderr] 193 | self.input.push((i, match self.controllers[i].state.cancel { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 194 | | false => Input::Cancel(None), [INFO] [stderr] 195 | | true => Input::Cancel(Some(true)), [INFO] [stderr] 196 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.cancel { Input::Cancel(Some(true)) } else { Input::Cancel(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:206:25 [INFO] [stderr] | [INFO] [stderr] 206 | self.input.push((i, match self.controllers[i].state.execute { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 207 | | false => Input::Execute(None), [INFO] [stderr] 208 | | true => Input::Execute(Some(true)), [INFO] [stderr] 209 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.execute { Input::Execute(Some(true)) } else { Input::Execute(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:219:25 [INFO] [stderr] | [INFO] [stderr] 219 | self.input.push((i, match self.controllers[i].state.trigger { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 220 | | false => Input::Action(None), [INFO] [stderr] 221 | | true => Input::Action(Some(true)), [INFO] [stderr] 222 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.trigger { Input::Action(Some(true)) } else { Input::Action(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:232:25 [INFO] [stderr] | [INFO] [stderr] 232 | self.input.push((i, match self.controllers[i].state.menu { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | false => Input::Menu(None), [INFO] [stderr] 234 | | true => Input::Menu(Some(true)), [INFO] [stderr] 235 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.menu { Input::Menu(Some(true)) } else { Input::Menu(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:245:25 [INFO] [stderr] | [INFO] [stderr] 245 | self.input.push((i, match self.controllers[i].state.left { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | false => Input::Left(None), [INFO] [stderr] 247 | | true => Input::Left(Some(true)), [INFO] [stderr] 248 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.left { Input::Left(Some(true)) } else { Input::Left(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:258:25 [INFO] [stderr] | [INFO] [stderr] 258 | self.input.push((i, match self.controllers[i].state.right { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 259 | | false => Input::Right(None), [INFO] [stderr] 260 | | true => Input::Right(Some(true)), [INFO] [stderr] 261 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.right { Input::Right(Some(true)) } else { Input::Right(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:271:25 [INFO] [stderr] | [INFO] [stderr] 271 | self.input.push((i, match self.controllers[i].state.up { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 272 | | false => Input::Up(None), [INFO] [stderr] 273 | | true => Input::Up(Some(true)), [INFO] [stderr] 274 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.up { Input::Up(Some(true)) } else { Input::Up(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:284:25 [INFO] [stderr] | [INFO] [stderr] 284 | self.input.push((i, match self.controllers[i].state.down { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 285 | | false => Input::Down(None), [INFO] [stderr] 286 | | true => Input::Down(Some(true)), [INFO] [stderr] 287 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.down { Input::Down(Some(true)) } else { Input::Down(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:307:25 [INFO] [stderr] | [INFO] [stderr] 307 | self.input.push((i, match self.controllers[i].state.move_stick { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 308 | | false => Input::MoveStick(None), [INFO] [stderr] 309 | | true => Input::MoveStick(Some(true)), [INFO] [stderr] 310 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.move_stick { Input::MoveStick(Some(true)) } else { Input::MoveStick(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:320:25 [INFO] [stderr] | [INFO] [stderr] 320 | self.input.push((i, match self.controllers[i].state.cam_stick { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 321 | | false => Input::CamStick(None), [INFO] [stderr] 322 | | true => Input::CamStick(Some(true)), [INFO] [stderr] 323 | | })); [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if self.controllers[i].state.cam_stick { Input::CamStick(Some(true)) } else { Input::CamStick(None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:344:26 [INFO] [stderr] | [INFO] [stderr] 344 | self.input.push((i, match self.controllers[i].state.l[b] { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 345 | | false => Input::L(b as u8, None), [INFO] [stderr] 346 | | true => Input::L(b as u8, Some(true)), [INFO] [stderr] 347 | | })); [INFO] [stderr] | |_____________________^ help: consider using an if/else expression: `if self.controllers[i].state.l[b] { Input::L(b as u8, Some(true)) } else { Input::L(b as u8, None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:357:26 [INFO] [stderr] | [INFO] [stderr] 357 | self.input.push((i, match self.controllers[i].state.r[b] { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 358 | | false => Input::R(b as u8, None), [INFO] [stderr] 359 | | true => Input::R(b as u8, Some(true)), [INFO] [stderr] 360 | | })); [INFO] [stderr] | |_____________________^ help: consider using an if/else expression: `if self.controllers[i].state.r[b] { Input::R(b as u8, Some(true)) } else { Input::R(b as u8, None) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/controller_manager.rs:381:23 [INFO] [stderr] | [INFO] [stderr] 381 | ThrottleL(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 382 | | self.controllers[input.0].l_throttle [INFO] [stderr] | |____________________________________________________^ help: consider comparing them within some error: `(x - self.controllers[input.0].l_throttle).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/controller_manager.rs:381:23 [INFO] [stderr] | [INFO] [stderr] 381 | ThrottleL(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 382 | | self.controllers[input.0].l_throttle [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/controller_manager.rs:387:23 [INFO] [stderr] | [INFO] [stderr] 387 | ThrottleR(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 388 | | self.controllers[input.0].r_throttle [INFO] [stderr] | |____________________________________________________^ help: consider comparing them within some error: `(x - self.controllers[input.0].r_throttle).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/controller_manager.rs:387:23 [INFO] [stderr] | [INFO] [stderr] 387 | ThrottleR(x) => if x != [INFO] [stderr] | ________________________________^ [INFO] [stderr] 388 | | self.controllers[input.0].r_throttle [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/controller_manager.rs:414:18 [INFO] [stderr] | [INFO] [stderr] 414 | input.push((id, match rthrottle { [INFO] [stderr] | _____________________^ [INFO] [stderr] 415 | | false => Input::ThrottleL(i), [INFO] [stderr] 416 | | true => Input::ThrottleR(i), [INFO] [stderr] 417 | | })); [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if rthrottle { Input::ThrottleR(i) } else { Input::ThrottleL(i) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ffi/linux.rs:209:10 [INFO] [stderr] | [INFO] [stderr] 209 | (a[0], ((a[1] as i32) << 16) | (a[2] as i32), false) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(a[1])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ffi/linux.rs:209:33 [INFO] [stderr] | [INFO] [stderr] 209 | (a[0], ((a[1] as i32) << 16) | (a[2] as i32), false) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(a[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ffi/linux.rs:209:10 [INFO] [stderr] | [INFO] [stderr] 209 | (a[0], ((a[1] as i32) << 16) | (a[2] as i32), false) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(a[1])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ffi/linux.rs:209:33 [INFO] [stderr] | [INFO] [stderr] 209 | (a[0], ((a[1] as i32) << 16) | (a[2] as i32), false) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(a[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `stick`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `stick`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b26616a09d58795842081c84a432dce7fd13ac11e20689b4fdc6f6c2d3e1b9f5"` [INFO] running `"docker" "rm" "-f" "b26616a09d58795842081c84a432dce7fd13ac11e20689b4fdc6f6c2d3e1b9f5"` [INFO] [stdout] b26616a09d58795842081c84a432dce7fd13ac11e20689b4fdc6f6c2d3e1b9f5