[INFO] fetching crate stm32g473-hal_oppe 0.1.0... [INFO] checking stm32g473-hal_oppe-0.1.0 against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] extracting crate stm32g473-hal_oppe 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate stm32g473-hal_oppe 0.1.0 on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config [INFO] started tweaking crates.io crate stm32g473-hal_oppe 0.1.0 [INFO] finished tweaking crates.io crate stm32g473-hal_oppe 0.1.0 [INFO] tweaked toml for crates.io crate stm32g473-hal_oppe 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 81 packages [INFO] [stderr] Adding aligned v0.3.5 (latest: v0.4.2) [INFO] [stderr] Adding as-slice v0.1.5 (latest: v0.2.1) [INFO] [stderr] Adding bare-metal v0.2.5 (latest: v1.0.0) [INFO] [stderr] Adding bitfield v0.13.2 (latest: v0.14.0) [INFO] [stderr] Adding bitflags v1.3.2 (latest: v2.5.0) [INFO] [stderr] Adding cast v0.2.7 (latest: v0.3.0) [INFO] [stderr] Adding cfg-if v0.1.10 (latest: v1.0.0) [INFO] [stderr] Adding cortex-m v0.6.7 (latest: v0.7.7) [INFO] [stderr] Adding cortex-m-log v0.7.0 (latest: v0.8.0) [INFO] [stderr] Adding cortex-m-rt v0.6.15 (latest: v0.7.3) [INFO] [stderr] Adding cortex-m-rt-macros v0.6.15 (latest: v0.7.0) [INFO] [stderr] Adding cortex-m-semihosting v0.3.7 (latest: v0.5.0) [INFO] [stderr] Adding embedded-dma v0.1.2 (latest: v0.2.0) [INFO] [stderr] Adding embedded-hal v0.2.7 (latest: v1.0.0) [INFO] [stderr] Adding embedded-sdmmc v0.3.0 (latest: v0.7.0) [INFO] [stderr] Adding generic-array v0.12.4 (latest: v1.0.0) [INFO] [stderr] Adding generic-array v0.13.3 (latest: v1.0.0) [INFO] [stderr] Adding generic-array v0.14.7 (latest: v1.0.0) [INFO] [stderr] Adding hash32 v0.1.1 (latest: v0.3.1) [INFO] [stderr] Adding hashbrown v0.12.3 (latest: v0.14.3) [INFO] [stderr] Adding heapless v0.5.6 (latest: v0.8.0) [INFO] [stderr] Adding indexmap v1.9.3 (latest: v2.2.6) [INFO] [stderr] Adding nalgebra v0.31.4 (latest: v0.32.5) [INFO] [stderr] Adding nb v0.1.3 (latest: v1.1.0) [INFO] [stderr] Adding panic-rtt-target v0.1.2 (latest: v0.1.3) [INFO] [stderr] Adding panic-semihosting v0.5.6 (latest: v0.6.0) [INFO] [stderr] Adding r0 v0.2.2 (latest: v1.0.0) [INFO] [stderr] Adding rtt-target v0.3.1 (latest: v0.5.0) [INFO] [stderr] Adding rustc_version v0.2.3 (latest: v0.4.0) [INFO] [stderr] Adding semver v0.9.0 (latest: v1.0.22) [INFO] [stderr] Adding semver-parser v0.7.0 (latest: v0.10.2) [INFO] [stderr] Adding simba v0.7.3 (latest: v0.8.1) [INFO] [stderr] Adding spin v0.5.2 (latest: v0.9.8) [INFO] [stderr] Adding stm32g4 v0.14.0 (latest: v0.15.1) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.57) [INFO] [stderr] Adding usb-device v0.2.9 (latest: v0.3.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded defmt-macros v0.3.7 [INFO] [stderr] Downloaded defmt v0.3.6 [INFO] [stderr] Downloaded defmt-parser v0.3.4 [INFO] [stderr] Downloaded mpu6050 v0.1.6 [INFO] [stderr] Downloaded stm32-usbd v0.6.0 [INFO] [stderr] Downloaded cortex-m-log v0.7.0 [INFO] [stderr] Downloaded rtfm-core v0.3.0 [INFO] [stderr] Downloaded cortex-m-rtfm-macros v0.5.1 [INFO] [stderr] Downloaded rtfm-syntax v0.4.0 [INFO] [stderr] Downloaded cortex-m-rtfm v0.5.3 [INFO] [stderr] Downloaded embedded-sdmmc v0.3.0 [INFO] [stderr] Downloaded bme680 v0.6.0 [INFO] [stderr] Downloaded stm32g4 v0.14.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b9c4b46dd914f1b1f563db9ca52dad8a099b9ed98194ca264ea7d700061d585f [INFO] running `Command { std: "docker" "start" "-a" "b9c4b46dd914f1b1f563db9ca52dad8a099b9ed98194ca264ea7d700061d585f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b9c4b46dd914f1b1f563db9ca52dad8a099b9ed98194ca264ea7d700061d585f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9c4b46dd914f1b1f563db9ca52dad8a099b9ed98194ca264ea7d700061d585f", kill_on_drop: false }` [INFO] [stdout] b9c4b46dd914f1b1f563db9ca52dad8a099b9ed98194ca264ea7d700061d585f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a0623a55b038d5d32aa00168b6a475355b4e77988793f72ad0d7cf0eb645a3b5 [INFO] running `Command { std: "docker" "start" "-a" "a0623a55b038d5d32aa00168b6a475355b4e77988793f72ad0d7cf0eb645a3b5", kill_on_drop: false }` [INFO] [stderr] Checking nb v1.1.0 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking vcell v0.1.3 [INFO] [stderr] Checking bitfield v0.13.2 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling cortex-m-rt v0.6.15 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking typenum v1.17.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking r0 v0.2.2 [INFO] [stderr] Checking bare-metal v0.2.5 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Compiling cortex-m-rt-macros v0.6.15 [INFO] [stderr] Compiling stm32g4 v0.14.0 [INFO] [stderr] Checking volatile-register v0.2.2 [INFO] [stderr] Compiling cortex-m-semihosting v0.3.7 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking nb v0.1.3 [INFO] [stderr] Compiling cortex-m v0.6.7 [INFO] [stderr] Compiling stm32-usbd v0.6.0 [INFO] [stderr] Compiling heapless v0.5.6 [INFO] [stderr] Checking embedded-hal v0.2.7 [INFO] [stderr] Compiling cortex-m-rtfm v0.5.3 [INFO] [stderr] Checking hash32 v0.1.1 [INFO] [stderr] Compiling cortex-m-log v0.7.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking cortex-m v0.7.7 [INFO] [stderr] Checking usb-device v0.2.9 [INFO] [stderr] Checking ufmt-write v0.1.0 [INFO] [stderr] Checking bare-metal v1.0.0 [INFO] [stderr] Checking libm v0.2.8 [INFO] [stderr] Checking embedded-dma v0.1.2 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking rtfm-core v0.3.0 [INFO] [stderr] Checking bme680 v0.6.0 [INFO] [stderr] Checking embedded-sdmmc v0.3.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking panic-halt v0.2.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking rtt-target v0.3.1 [INFO] [stderr] Checking panic-itm v0.4.2 [INFO] [stderr] Checking panic-semihosting v0.5.6 [INFO] [stderr] Checking panic-rtt-target v0.1.2 [INFO] [stderr] Checking generic-array v0.13.3 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Compiling rtfm-syntax v0.4.0 [INFO] [stderr] Checking as-slice v0.1.5 [INFO] [stderr] Checking aligned v0.3.5 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-complex v0.4.5 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-rational v0.4.1 [INFO] [stderr] Checking simba v0.7.3 [INFO] [stderr] Compiling cortex-m-rtfm-macros v0.5.1 [INFO] [stderr] Checking nalgebra v0.31.4 [INFO] [stderr] Checking mpu6050 v0.1.6 [INFO] [stderr] Checking stm32g473-hal_oppe v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `modify_at` [INFO] [stdout] --> src/lib.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | macro_rules! modify_at { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `modify_at` [INFO] [stdout] --> src/lib.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 39 | pub(crate) use modify_at; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/fdcan/id.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::{Ord, Ordering}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/af4a5a13a15fa0c60e06321077ef452f769b42fd/library/core/src/prelude/mod.rs:47:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `hal` is imported redundantly [INFO] [stdout] --> src/pwm.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | use crate::hal; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | pub extern crate embedded_hal as hal; [INFO] [stdout] | ------------------------------------- the item `hal` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `RCC` is imported redundantly [INFO] [stdout] --> src/rcc/clockout.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::rcc::*; [INFO] [stdout] | ------------- the item `RCC` is already imported here [INFO] [stdout] 3 | use crate::stm32::RCC; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `modify_at` [INFO] [stdout] --> src/lib.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | macro_rules! modify_at { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `modify_at` [INFO] [stdout] --> src/lib.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 39 | pub(crate) use modify_at; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/fdcan/id.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use core::cmp::{Ord, Ordering}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/af4a5a13a15fa0c60e06321077ef452f769b42fd/library/core/src/prelude/mod.rs:47:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `hal` is imported redundantly [INFO] [stdout] --> src/pwm.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | use crate::hal; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | pub extern crate embedded_hal as hal; [INFO] [stdout] | ------------------------------------- the item `hal` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `RCC` is imported redundantly [INFO] [stdout] --> src/rcc/clockout.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::rcc::*; [INFO] [stdout] | ------------- the item `RCC` is already imported here [INFO] [stdout] 3 | use crate::stm32::RCC; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `RX_FIFO0_FULL` found for struct `fdcan::interrupt::Interrupts` in the current scope [INFO] [stdout] --> src/fdcan/interrupt.rs:198:36 [INFO] [stdout] | [INFO] [stdout] 84 | / bitflags::bitflags! { [INFO] [stdout] 85 | | /// A set of FdCAN interrupts. [INFO] [stdout] 86 | | #[cfg_attr(feature = "unstable-defmt", derive(defmt::Format))] [INFO] [stdout] 87 | | pub struct Interrupts: u32 { [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_- associated item `RX_FIFO0_FULL` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 198 | let mut ints = Interrupts::RX_FIFO0_FULL; [INFO] [stdout] | ^^^^^^^^^^^^^ associated item not found in `Interrupts` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `fdcan::interrupt::Interrupts` consider using one of the following associated functions: [INFO] [stdout] fdcan::interrupt::Interrupts::empty [INFO] [stdout] fdcan::interrupt::Interrupts::all [INFO] [stdout] fdcan::interrupt::Interrupts::from_bits [INFO] [stdout] fdcan::interrupt::Interrupts::from_bits_truncate [INFO] [stdout] and 2 others [INFO] [stdout] --> src/fdcan/interrupt.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | / bitflags::bitflags! { [INFO] [stdout] 85 | | /// A set of FdCAN interrupts. [INFO] [stdout] 86 | | #[cfg_attr(feature = "unstable-defmt", derive(defmt::Format))] [INFO] [stdout] 87 | | pub struct Interrupts: u32 { [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] = note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: there is an associated constant `RX_FIFO_0_FULL` with a similar name [INFO] [stdout] | [INFO] [stdout] 198 | let mut ints = Interrupts::RX_FIFO_0_FULL; [INFO] [stdout] | ~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `RX_FIFO0_FULL` found for struct `fdcan::interrupt::Interrupts` in the current scope [INFO] [stdout] --> src/fdcan/interrupt.rs:200:38 [INFO] [stdout] | [INFO] [stdout] 84 | / bitflags::bitflags! { [INFO] [stdout] 85 | | /// A set of FdCAN interrupts. [INFO] [stdout] 86 | | #[cfg_attr(feature = "unstable-defmt", derive(defmt::Format))] [INFO] [stdout] 87 | | pub struct Interrupts: u32 { [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_- associated item `RX_FIFO0_FULL` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 200 | assert_eq!(ints, Interrupts::RX_FIFO0_FULL | Interrupts::RX_FIFO1_FULL); [INFO] [stdout] | ^^^^^^^^^^^^^ associated item not found in `Interrupts` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `fdcan::interrupt::Interrupts` consider using one of the following associated functions: [INFO] [stdout] fdcan::interrupt::Interrupts::empty [INFO] [stdout] fdcan::interrupt::Interrupts::all [INFO] [stdout] fdcan::interrupt::Interrupts::from_bits [INFO] [stdout] fdcan::interrupt::Interrupts::from_bits_truncate [INFO] [stdout] and 2 others [INFO] [stdout] --> src/fdcan/interrupt.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | / bitflags::bitflags! { [INFO] [stdout] 85 | | /// A set of FdCAN interrupts. [INFO] [stdout] 86 | | #[cfg_attr(feature = "unstable-defmt", derive(defmt::Format))] [INFO] [stdout] 87 | | pub struct Interrupts: u32 { [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] = note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: there is an associated constant `RX_FIFO_0_FULL` with a similar name [INFO] [stdout] | [INFO] [stdout] 200 | assert_eq!(ints, Interrupts::RX_FIFO_0_FULL | Interrupts::RX_FIFO1_FULL); [INFO] [stdout] | ~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `RX_FIFO1_FULL` found for struct `fdcan::interrupt::Interrupts` in the current scope [INFO] [stdout] --> src/fdcan/interrupt.rs:200:66 [INFO] [stdout] | [INFO] [stdout] 84 | / bitflags::bitflags! { [INFO] [stdout] 85 | | /// A set of FdCAN interrupts. [INFO] [stdout] 86 | | #[cfg_attr(feature = "unstable-defmt", derive(defmt::Format))] [INFO] [stdout] 87 | | pub struct Interrupts: u32 { [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_- associated item `RX_FIFO1_FULL` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 200 | assert_eq!(ints, Interrupts::RX_FIFO0_FULL | Interrupts::RX_FIFO1_FULL); [INFO] [stdout] | ^^^^^^^^^^^^^ associated item not found in `Interrupts` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `fdcan::interrupt::Interrupts` consider using one of the following associated functions: [INFO] [stdout] fdcan::interrupt::Interrupts::empty [INFO] [stdout] fdcan::interrupt::Interrupts::all [INFO] [stdout] fdcan::interrupt::Interrupts::from_bits [INFO] [stdout] fdcan::interrupt::Interrupts::from_bits_truncate [INFO] [stdout] and 2 others [INFO] [stdout] --> src/fdcan/interrupt.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | / bitflags::bitflags! { [INFO] [stdout] 85 | | /// A set of FdCAN interrupts. [INFO] [stdout] 86 | | #[cfg_attr(feature = "unstable-defmt", derive(defmt::Format))] [INFO] [stdout] 87 | | pub struct Interrupts: u32 { [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_^ [INFO] [stdout] = note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: there is an associated constant `RX_FIFO_1_FULL` with a similar name [INFO] [stdout] | [INFO] [stdout] 200 | assert_eq!(ints, Interrupts::RX_FIFO0_FULL | Interrupts::RX_FIFO_1_FULL); [INFO] [stdout] | ~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `cortex_m::peripheral::dwt::::get_cycle_count`: Use `cycle_count` which follows the C-GETTER convention [INFO] [stdout] --> src/timer.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | now: DWT::get_cycle_count(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `cortex_m::peripheral::dwt::::get_cycle_count`: Use `cycle_count` which follows the C-GETTER convention [INFO] [stdout] --> src/timer.rs:175:14 [INFO] [stdout] | [INFO] [stdout] 175 | DWT::get_cycle_count().wrapping_sub(self.now) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `cortex_m::peripheral::dwt::::get_cycle_count`: Use `cycle_count` which follows the C-GETTER convention [INFO] [stdout] --> src/timer.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | now: DWT::get_cycle_count(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `cortex_m::peripheral::dwt::::get_cycle_count`: Use `cycle_count` which follows the C-GETTER convention [INFO] [stdout] --> src/timer.rs:175:14 [INFO] [stdout] | [INFO] [stdout] 175 | DWT::get_cycle_count().wrapping_sub(self.now) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sw_bits` [INFO] [stdout] --> src/rcc/mod.rs:78:23 [INFO] [stdout] | [INFO] [stdout] 78 | let (sys_clk, sw_bits) = match rcc_cfg.sys_mux { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sw_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sw_bits` [INFO] [stdout] --> src/rcc/mod.rs:78:23 [INFO] [stdout] | [INFO] [stdout] 78 | let (sys_clk, sw_bits) = match rcc_cfg.sys_mux { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sw_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Sealed` is never used [INFO] [stdout] --> src/lib.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | pub trait Sealed {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `activity`, `transmitter_delay_comp`, `bus_off_status`, `error_warning`, `error_passive_state`, and `last_error` are never read [INFO] [stdout] --> src/fdcan.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct ProtocolStatus { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 169 | /// Type of current activity [INFO] [stdout] 170 | activity: Activity, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 171 | /// Transmitter delay companstation [INFO] [stdout] 172 | transmitter_delay_comp: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 173 | /// But Off Status [INFO] [stdout] 174 | bus_off_status: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 175 | /// Shows if Error counters are aat their limit of 96 [INFO] [stdout] 176 | error_warning: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 177 | /// Shows if the node send and active error flag (false) or stays silent (true). [INFO] [stdout] 178 | error_passive_state: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 179 | /// Indicates te last type of error which occurred on the CAN bus. [INFO] [stdout] 180 | last_error: LastErrorCode, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProtocolStatus` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `eccr`, `pdkeyr`, and `sec1r` are never read [INFO] [stdout] --> src/flash.rs:327:16 [INFO] [stdout] | [INFO] [stdout] 319 | pub struct Parts { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 327 | pub(crate) eccr: ECCR, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub(crate) pdkeyr: PDKEYR, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | pub(crate) sec1r: SEC1R, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smenr` is never used [INFO] [stdout] --> src/rcc/mod.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 292 | impl AHB1 { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 302 | fn smenr(rcc: &RccRB) -> &rcc::AHB1SMENR { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smenr` is never used [INFO] [stdout] --> src/rcc/mod.rs:320:8 [INFO] [stdout] | [INFO] [stdout] 310 | impl AHB2 { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 320 | fn smenr(rcc: &RccRB) -> &rcc::AHB2SMENR { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smenr` is never used [INFO] [stdout] --> src/rcc/mod.rs:338:8 [INFO] [stdout] | [INFO] [stdout] 328 | impl AHB3 { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 338 | fn smenr(rcc: &RccRB) -> &rcc::AHB3SMENR { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smenr` is never used [INFO] [stdout] --> src/rcc/mod.rs:356:8 [INFO] [stdout] | [INFO] [stdout] 346 | impl APB1_1 { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 356 | fn smenr(rcc: &RccRB) -> &rcc::APB1SMENR1 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smenr` is never used [INFO] [stdout] --> src/rcc/mod.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 364 | impl APB1_2 { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 374 | fn smenr(rcc: &RccRB) -> &rcc::APB1SMENR2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smenr` is never used [INFO] [stdout] --> src/rcc/mod.rs:392:8 [INFO] [stdout] | [INFO] [stdout] 382 | impl APB2 { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 392 | fn smenr(rcc: &RccRB) -> &rcc::APB2SMENR { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 652 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [ [INFO] [stdout] 653 | | PA0: (pa0, 0, exticr1), [INFO] [stdout] 654 | | PA1: (pa1, 1, exticr1), [INFO] [stdout] 655 | | PA2: (pa2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 668 | | PA15: (pa15, 15, exticr4), [INFO] [stdout] 669 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 671 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [ [INFO] [stdout] 672 | | PB0: (pb0, 0, exticr1), [INFO] [stdout] 673 | | PB1: (pb1, 1, exticr1), [INFO] [stdout] 674 | | PB2: (pb2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 687 | | PB15: (pb15, 15, exticr4), [INFO] [stdout] 688 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 690 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [ [INFO] [stdout] 691 | | PC0: (pc0, 0, exticr1), [INFO] [stdout] 692 | | PC1: (pc1, 1, exticr1), [INFO] [stdout] 693 | | PC2: (pc2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 706 | | PC15: (pc15, 15, exticr4), [INFO] [stdout] 707 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 709 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [ [INFO] [stdout] 710 | | PD0: (pd0, 0, exticr1), [INFO] [stdout] 711 | | PD1: (pd1, 1, exticr1), [INFO] [stdout] 712 | | PD2: (pd2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 725 | | PD15: (pd15, 15, exticr4), [INFO] [stdout] 726 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `stm32g473-hal_oppe` (lib test) due to 4 previous errors; 8 warnings emitted [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 728 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [ [INFO] [stdout] 729 | | PE0: (pe0, 0, exticr1), [INFO] [stdout] 730 | | PE1: (pe1, 1, exticr1), [INFO] [stdout] 731 | | PE2: (pe2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 744 | | PE15: (pe15, 15, exticr4), [INFO] [stdout] 745 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 747 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [ [INFO] [stdout] 748 | | PF0: (pf0, 0, exticr1), [INFO] [stdout] 749 | | PF1: (pf1, 1, exticr1), [INFO] [stdout] 750 | | PF2: (pf2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 763 | | PF15: (pf15, 15, exticr4), [INFO] [stdout] 764 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/gpio.rs:497:29 [INFO] [stdout] | [INFO] [stdout] 497 | / &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 | | }) [INFO] [stdout] | |______________________________^ the borrow produces a value [INFO] [stdout] ... [INFO] [stdout] 766 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [ [INFO] [stdout] 767 | | PG0: (pg0, 0, exticr1), [INFO] [stdout] 768 | | PG1: (pg1, 1, exticr1), [INFO] [stdout] 769 | | PG2: (pg2, 2, exticr1), [INFO] [stdout] ... | [INFO] [stdout] 782 | | PG15: (pg15, 15, exticr4), [INFO] [stdout] 783 | | ]); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 497 ~ let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| { [INFO] [stdout] 498 | w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset)) [INFO] [stdout] 499 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/spi.rs:214:30 [INFO] [stdout] | [INFO] [stdout] 214 | unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | / spi!( [INFO] [stdout] 229 | | SPI1, [INFO] [stdout] 230 | | spi1, [INFO] [stdout] 231 | | sck: [ [INFO] [stdout] ... | [INFO] [stdout] 266 | | ], [INFO] [stdout] 267 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] = note: this error originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/spi.rs:214:30 [INFO] [stdout] | [INFO] [stdout] 214 | unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | / spi!( [INFO] [stdout] 270 | | SPI2, [INFO] [stdout] 271 | | spi2, [INFO] [stdout] 272 | | sck: [ [INFO] [stdout] ... | [INFO] [stdout] 285 | | ], [INFO] [stdout] 286 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: this error originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/spi.rs:214:30 [INFO] [stdout] | [INFO] [stdout] 214 | unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | / spi!( [INFO] [stdout] 289 | | SPI3, [INFO] [stdout] 290 | | spi3, [INFO] [stdout] 291 | | sck: [ [INFO] [stdout] ... | [INFO] [stdout] 310 | | ], [INFO] [stdout] 311 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: this error originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/spi.rs:214:30 [INFO] [stdout] | [INFO] [stdout] 214 | unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | / spi!( [INFO] [stdout] 321 | | SPI4, [INFO] [stdout] 322 | | spi4, [INFO] [stdout] 323 | | sck: [ [INFO] [stdout] ... | [INFO] [stdout] 334 | | ], [INFO] [stdout] 335 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: this error originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `stm32g473-hal_oppe` (lib) due to 5 previous errors; 24 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a0623a55b038d5d32aa00168b6a475355b4e77988793f72ad0d7cf0eb645a3b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0623a55b038d5d32aa00168b6a475355b4e77988793f72ad0d7cf0eb645a3b5", kill_on_drop: false }` [INFO] [stdout] a0623a55b038d5d32aa00168b6a475355b4e77988793f72ad0d7cf0eb645a3b5