[INFO] fetching crate rppal 0.11.3... [INFO] checking rppal-0.11.3 against try#b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b for pr-82781 [INFO] extracting crate rppal 0.11.3 into /workspace/builds/worker-3/source [INFO] validating manifest of crates.io crate rppal 0.11.3 on toolchain b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rppal 0.11.3 [INFO] finished tweaking crates.io crate rppal 0.11.3 [INFO] tweaked toml for crates.io crate rppal 0.11.3 written to /workspace/builds/worker-3/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a49e5f2bd16416d2cc798b385e6e319937a3ca74918a717583e2889bbf9ff36f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a49e5f2bd16416d2cc798b385e6e319937a3ca74918a717583e2889bbf9ff36f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a49e5f2bd16416d2cc798b385e6e319937a3ca74918a717583e2889bbf9ff36f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a49e5f2bd16416d2cc798b385e6e319937a3ca74918a717583e2889bbf9ff36f", kill_on_drop: false }` [INFO] [stdout] a49e5f2bd16416d2cc798b385e6e319937a3ca74918a717583e2889bbf9ff36f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+b09a3e9a7a0ff7efb269ec0c13dcc0fd3cedcf6b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c6180fad6f90d0298e436580ab4fdb753ff1ad3d2c34e4657e5e4441a662f65b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "c6180fad6f90d0298e436580ab4fdb753ff1ad3d2c34e4657e5e4441a662f65b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.90 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking simple-signal v1.1.1 [INFO] [stderr] Checking rppal v0.11.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/gpio/ioctl.rs:49:23 [INFO] [stdout] | [INFO] [stdout] 49 | const TYPESHIFT: u8 = (NRSHIFT + NRBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/gpio/ioctl.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | const SIZESHIFT: u8 = (TYPESHIFT + TYPEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/gpio/ioctl.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | const DIRSHIFT: u8 = (SIZESHIFT + SIZEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | const TYPESHIFT: u8 = (NRSHIFT + NRBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:44:23 [INFO] [stdout] | [INFO] [stdout] 44 | const SIZESHIFT: u8 = (TYPESHIFT + TYPEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:45:22 [INFO] [stdout] | [INFO] [stdout] 45 | const DIRSHIFT: u8 = (SIZESHIFT + SIZEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | const REQ_RD_MODE: IoctlLong = (DIR_READ | TYPE_SPI | NR_MODE | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:64:37 [INFO] [stdout] | [INFO] [stdout] 64 | const REQ_RD_LSB_FIRST: IoctlLong = (DIR_READ | TYPE_SPI | NR_LSB_FIRST | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:65:41 [INFO] [stdout] | [INFO] [stdout] 65 | const REQ_RD_BITS_PER_WORD: IoctlLong = (DIR_READ | TYPE_SPI | NR_BITS_PER_WORD | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:66:40 [INFO] [stdout] | [INFO] [stdout] 66 | const REQ_RD_MAX_SPEED_HZ: IoctlLong = (DIR_READ | TYPE_SPI | NR_MAX_SPEED_HZ | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:67:35 [INFO] [stdout] | [INFO] [stdout] 67 | const REQ_RD_MODE_32: IoctlLong = (DIR_READ | TYPE_SPI | NR_MODE32 | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | const REQ_WR_MESSAGE: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MESSAGE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | const REQ_WR_MODE: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MODE | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:71:37 [INFO] [stdout] | [INFO] [stdout] 71 | const REQ_WR_LSB_FIRST: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_LSB_FIRST | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | const REQ_WR_BITS_PER_WORD: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_BITS_PER_WORD | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | const REQ_WR_MAX_SPEED_HZ: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MAX_SPEED_HZ | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | const REQ_WR_MODE_32: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MODE32 | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/macros.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array: [_; $len] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/gpio.rs:374:30 [INFO] [stdout] | [INFO] [stdout] 374 | let pins_taken = init_array!(AtomicBool::new(false), pin::MAX); [INFO] [stdout] | --------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/macros.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array: [_; $len] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/gpio/mem.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let locks = init_array!(AtomicBool::new(false), GPIO_MEM_REGISTERS); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio.rs:410:48 [INFO] [stdout] | [INFO] [stdout] 410 | if self.inner.pins_taken[pin as usize].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio/mem.rs:202:36 [INFO] [stdout] | [INFO] [stdout] 202 | if !self.locks[offset].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio/mem.rs:221:35 [INFO] [stdout] | [INFO] [stdout] 221 | if !self.locks[GPPUD].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio/mem.rs:222:40 [INFO] [stdout] | [INFO] [stdout] 222 | if !self.locks[offset].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/gpio/ioctl.rs:49:23 [INFO] [stdout] | [INFO] [stdout] 49 | const TYPESHIFT: u8 = (NRSHIFT + NRBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/gpio/ioctl.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | const SIZESHIFT: u8 = (TYPESHIFT + TYPEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/gpio/ioctl.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | const DIRSHIFT: u8 = (SIZESHIFT + SIZEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | const TYPESHIFT: u8 = (NRSHIFT + NRBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:44:23 [INFO] [stdout] | [INFO] [stdout] 44 | const SIZESHIFT: u8 = (TYPESHIFT + TYPEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:45:22 [INFO] [stdout] | [INFO] [stdout] 45 | const DIRSHIFT: u8 = (SIZESHIFT + SIZEBITS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | const REQ_RD_MODE: IoctlLong = (DIR_READ | TYPE_SPI | NR_MODE | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:64:37 [INFO] [stdout] | [INFO] [stdout] 64 | const REQ_RD_LSB_FIRST: IoctlLong = (DIR_READ | TYPE_SPI | NR_LSB_FIRST | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:65:41 [INFO] [stdout] | [INFO] [stdout] 65 | const REQ_RD_BITS_PER_WORD: IoctlLong = (DIR_READ | TYPE_SPI | NR_BITS_PER_WORD | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:66:40 [INFO] [stdout] | [INFO] [stdout] 66 | const REQ_RD_MAX_SPEED_HZ: IoctlLong = (DIR_READ | TYPE_SPI | NR_MAX_SPEED_HZ | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:67:35 [INFO] [stdout] | [INFO] [stdout] 67 | const REQ_RD_MODE_32: IoctlLong = (DIR_READ | TYPE_SPI | NR_MODE32 | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | const REQ_WR_MESSAGE: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MESSAGE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | const REQ_WR_MODE: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MODE | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:71:37 [INFO] [stdout] | [INFO] [stdout] 71 | const REQ_WR_LSB_FIRST: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_LSB_FIRST | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | const REQ_WR_BITS_PER_WORD: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_BITS_PER_WORD | SIZE_U8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | const REQ_WR_MAX_SPEED_HZ: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MAX_SPEED_HZ | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/spi/ioctl.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | const REQ_WR_MODE_32: IoctlLong = (DIR_WRITE | TYPE_SPI | NR_MODE32 | SIZE_U32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/macros.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array: [_; $len] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/gpio.rs:374:30 [INFO] [stdout] | [INFO] [stdout] 374 | let pins_taken = init_array!(AtomicBool::new(false), pin::MAX); [INFO] [stdout] | --------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/macros.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 36 | let mut array: [_; $len] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/gpio/mem.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let locks = init_array!(AtomicBool::new(false), GPIO_MEM_REGISTERS); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/gpio/interrupt.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | format!("No interrupt set for pin {}", pin) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 177 | "No interrupt set for pin {}", pin [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio.rs:410:48 [INFO] [stdout] | [INFO] [stdout] 410 | if self.inner.pins_taken[pin as usize].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio/mem.rs:202:36 [INFO] [stdout] | [INFO] [stdout] 202 | if !self.locks[offset].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio/mem.rs:221:35 [INFO] [stdout] | [INFO] [stdout] 221 | if !self.locks[GPPUD].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/gpio/mem.rs:222:40 [INFO] [stdout] | [INFO] [stdout] 222 | if !self.locks[offset].compare_and_swap(false, true, Ordering::SeqCst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/gpio/interrupt.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | format!("No interrupt set for pin {}", pin) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panic)]` on by default [INFO] [stdout] = note: this is no longer accepted in Rust 2021 [INFO] [stdout] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 177 | "No interrupt set for pin {}", pin [INFO] [stdout] | -- -- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.20s [INFO] running `Command { std: "docker" "inspect" "c6180fad6f90d0298e436580ab4fdb753ff1ad3d2c34e4657e5e4441a662f65b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6180fad6f90d0298e436580ab4fdb753ff1ad3d2c34e4657e5e4441a662f65b", kill_on_drop: false }` [INFO] [stdout] c6180fad6f90d0298e436580ab4fdb753ff1ad3d2c34e4657e5e4441a662f65b