[INFO] fetching crate rppal 0.11.3... [INFO] checking rppal-0.11.3 against try#b0d0ea232bdae12fa8da8491a91ae1db029990ef for pr-84037 [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 b0d0ea232bdae12fa8da8491a91ae1db029990ef [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b0d0ea232bdae12fa8da8491a91ae1db029990ef" "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" "+b0d0ea232bdae12fa8da8491a91ae1db029990ef" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b0d0ea232bdae12fa8da8491a91ae1db029990ef" "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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+b0d0ea232bdae12fa8da8491a91ae1db029990ef" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e3f58ac0f7ce938299c92b9a15181d819eb2abfaec9fbd86e1f726e2228fbd42 [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" "e3f58ac0f7ce938299c92b9a15181d819eb2abfaec9fbd86e1f726e2228fbd42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3f58ac0f7ce938299c92b9a15181d819eb2abfaec9fbd86e1f726e2228fbd42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3f58ac0f7ce938299c92b9a15181d819eb2abfaec9fbd86e1f726e2228fbd42", kill_on_drop: false }` [INFO] [stdout] e3f58ac0f7ce938299c92b9a15181d819eb2abfaec9fbd86e1f726e2228fbd42 [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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+b0d0ea232bdae12fa8da8491a91ae1db029990ef" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ddbad0580d9952e88d3c8e534d5df0f07fb87b5ee2c243c44702da1a64980af1 [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" "ddbad0580d9952e88d3c8e534d5df0f07fb87b5ee2c243c44702da1a64980af1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.94 [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: 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 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 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 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: 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: 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: 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 4.74s [INFO] running `Command { std: "docker" "inspect" "ddbad0580d9952e88d3c8e534d5df0f07fb87b5ee2c243c44702da1a64980af1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ddbad0580d9952e88d3c8e534d5df0f07fb87b5ee2c243c44702da1a64980af1", kill_on_drop: false }` [INFO] [stdout] ddbad0580d9952e88d3c8e534d5df0f07fb87b5ee2c243c44702da1a64980af1