[INFO] cloning repository https://github.com/OlivierLemoine/raspberry-pi-4-hal [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OlivierLemoine/raspberry-pi-4-hal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOlivierLemoine%2Fraspberry-pi-4-hal", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOlivierLemoine%2Fraspberry-pi-4-hal'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0c7a04cd7ebf33e886d43915f368694130899626 [INFO] checking OlivierLemoine/raspberry-pi-4-hal/0c7a04cd7ebf33e886d43915f368694130899626 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOlivierLemoine%2Fraspberry-pi-4-hal" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/OlivierLemoine/raspberry-pi-4-hal on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config [INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain [INFO] started tweaking git repo https://github.com/OlivierLemoine/raspberry-pi-4-hal [INFO] finished tweaking git repo https://github.com/OlivierLemoine/raspberry-pi-4-hal [INFO] tweaked toml for git repo https://github.com/OlivierLemoine/raspberry-pi-4-hal written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/OlivierLemoine/raspberry-pi-4-hal already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8096064bb4f4f1fd605ee137278e30bda5477528485779bac89f52f790cbc2c9 [INFO] running `Command { std: "docker" "start" "-a" "8096064bb4f4f1fd605ee137278e30bda5477528485779bac89f52f790cbc2c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8096064bb4f4f1fd605ee137278e30bda5477528485779bac89f52f790cbc2c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8096064bb4f4f1fd605ee137278e30bda5477528485779bac89f52f790cbc2c9", kill_on_drop: false }` [INFO] [stdout] 8096064bb4f4f1fd605ee137278e30bda5477528485779bac89f52f790cbc2c9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 484132d94c4f7e7037e835ab736e91ed613791e5696b64b9ac1e1ef7f836a93f [INFO] running `Command { std: "docker" "start" "-a" "484132d94c4f7e7037e835ab736e91ed613791e5696b64b9ac1e1ef7f836a93f", kill_on_drop: false }` [INFO] [stderr] Checking register v0.1.0 (/opt/rustwide/workdir/register) [INFO] [stderr] Checking hal v0.1.2 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(const_generics)] [INFO] [stdout] | ^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in favor of `#![feature(adt_const_params)]` and `#![feature(generic_const_exprs)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(const_generics)] [INFO] [stdout] | ^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in favor of `#![feature(adt_const_params)]` and `#![feature(generic_const_exprs)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(const_fn)] [INFO] [stdout] | ^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: split into finer-grained feature gates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(const_fn)] [INFO] [stdout] | ^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: split into finer-grained feature gates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(const_evaluatable_checked)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: renamed to `generic_const_exprs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(const_evaluatable_checked)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: renamed to `generic_const_exprs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/lib.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe { asm!("mrs {}, CurrentEL", out(reg) res) } [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 7 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/time.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | asm!( [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 1 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/lib.rs:36:14 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe { asm!("mrs {}, CurrentEL", out(reg) res) } [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 7 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/time.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | asm!("mrs {}, cntpct_el0", out(reg) count); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 1 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/time.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | asm!("nop"); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 1 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/time.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | asm!( [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 1 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/lib.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | asm!( [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 7 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/time.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | asm!("mrs {}, cntpct_el0", out(reg) count); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 1 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/time.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | asm!("nop"); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 1 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: generic parameters may not be used in const operations [INFO] [stdout] --> src/mailbox.rs:372:22 [INFO] [stdout] | [INFO] [stdout] 372 | [u32; Tags::::LEN + 3]: Sized, [INFO] [stdout] | ^^ cannot perform const operation using `O1` [INFO] [stdout] | [INFO] [stdout] = note: type parameters may not be used in const expressions [INFO] [stdout] = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: generic parameters may not be used in const operations [INFO] [stdout] --> src/mailbox.rs:372:26 [INFO] [stdout] | [INFO] [stdout] 372 | [u32; Tags::::LEN + 3]: Sized, [INFO] [stdout] | ^^ cannot perform const operation using `O2` [INFO] [stdout] | [INFO] [stdout] = note: type parameters may not be used in const expressions [INFO] [stdout] = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/lib.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | asm!( [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 7 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: generic parameters may not be used in const operations [INFO] [stdout] --> src/mailbox.rs:372:22 [INFO] [stdout] | [INFO] [stdout] 372 | [u32; Tags::::LEN + 3]: Sized, [INFO] [stdout] | ^^ cannot perform const operation using `O1` [INFO] [stdout] | [INFO] [stdout] = note: type parameters may not be used in const expressions [INFO] [stdout] = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: generic parameters may not be used in const operations [INFO] [stdout] --> src/mailbox.rs:372:26 [INFO] [stdout] | [INFO] [stdout] 372 | [u32; Tags::::LEN + 3]: Sized, [INFO] [stdout] | ^^ cannot perform const operation using `O2` [INFO] [stdout] | [INFO] [stdout] = note: type parameters may not be used in const expressions [INFO] [stdout] = help: add `#![feature(generic_const_exprs)]` to allow generic const expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `asm` has been stable since 1.59.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(asm)] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `asm` has been stable since 1.59.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(asm)] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:47 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:40 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:26 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:26 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | buffer.0[0] = (buffer.0.len() << 2) as u32; // Size [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:380:34 [INFO] [stdout] | [INFO] [stdout] 380 | self.tags.serialize(&mut buffer.0[2..buffer_len - 1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | if buffer.0[1] != 0x80000000 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:393:48 [INFO] [stdout] | [INFO] [stdout] 393 | let res = Tags::::deserialize(&buffer.0[2..buffer_len - 1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:47 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:40 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:26 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:375:26 [INFO] [stdout] | [INFO] [stdout] 375 | let mut buffer = Align16Buffer([0u32; Tags::::LEN + 3]); // size + request code + tags + zero terminated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | buffer.0[0] = (buffer.0.len() << 2) as u32; // Size [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:380:34 [INFO] [stdout] | [INFO] [stdout] 380 | self.tags.serialize(&mut buffer.0[2..buffer_len - 1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | / if v { [INFO] [stdout] 90 | | &mut gpio().GPSET [INFO] [stdout] 91 | | } else { [INFO] [stdout] 92 | | &mut gpio().GPCLR [INFO] [stdout] 93 | | } [INFO] [stdout] 94 | | .value [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | if buffer.0[1] != 0x80000000 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: constant expression depends on a generic parameter [INFO] [stdout] --> src/mailbox.rs:393:48 [INFO] [stdout] | [INFO] [stdout] 393 | let res = Tags::::deserialize(&buffer.0[2..buffer_len - 1]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this may fail depending on what value the parameter takes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | / gpio() [INFO] [stdout] 101 | | .GPLEV [INFO] [stdout] 102 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / gpio() [INFO] [stdout] 108 | | .GPFSEL [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | / gpio() [INFO] [stdout] 115 | | .GPPUD [INFO] [stdout] 116 | | .CNTRL_OFF [INFO] [stdout] 117 | | .GPIO_PUP_PDN_CNTRL [INFO] [stdout] | |_______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | / gpio() [INFO] [stdout] 142 | | .GPREN [INFO] [stdout] 143 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | / gpio() [INFO] [stdout] 150 | | .GPFEN [INFO] [stdout] 151 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | / gpio() [INFO] [stdout] 158 | | .GPHEN [INFO] [stdout] 159 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | / gpio() [INFO] [stdout] 166 | | .GPLEN [INFO] [stdout] 167 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | while unsafe { mailbox().write.param.status.get(31) } {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:60:18 [INFO] [stdout] | [INFO] [stdout] 60 | unsafe { mailbox().write.write.write(message) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:66:28 [INFO] [stdout] | [INFO] [stdout] 66 | while unsafe { mailbox().read.param.status.get(30) } {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:68:36 [INFO] [stdout] | [INFO] [stdout] 68 | let message = unsafe { mailbox().read.read.read() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | / if v { [INFO] [stdout] 90 | | &mut gpio().GPSET [INFO] [stdout] 91 | | } else { [INFO] [stdout] 92 | | &mut gpio().GPCLR [INFO] [stdout] 93 | | } [INFO] [stdout] 94 | | .value [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | / gpio() [INFO] [stdout] 101 | | .GPLEV [INFO] [stdout] 102 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / gpio() [INFO] [stdout] 108 | | .GPFSEL [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/mailbox.rs:339:13 [INFO] [stdout] | [INFO] [stdout] 339 | for i in 0..Self::LEN { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/mailbox.rs:338:24 [INFO] [stdout] | [INFO] [stdout] 338 | fn serialize(self, buffer: &mut [u32]) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | / gpio() [INFO] [stdout] 115 | | .GPPUD [INFO] [stdout] 116 | | .CNTRL_OFF [INFO] [stdout] 117 | | .GPIO_PUP_PDN_CNTRL [INFO] [stdout] | |_______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | / gpio() [INFO] [stdout] 142 | | .GPREN [INFO] [stdout] 143 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | aux().ENABLES.write(1); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | / gpio() [INFO] [stdout] 150 | | .GPFEN [INFO] [stdout] 151 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | aux().MU.control.write(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | / gpio() [INFO] [stdout] 158 | | .GPHEN [INFO] [stdout] 159 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | aux().MU.IER.write(0); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | aux().MU.IIR.write(0b1100_0110); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/gpio.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | / gpio() [INFO] [stdout] 166 | | .GPLEN [INFO] [stdout] 167 | | .value [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | aux().MU.LCR.write(0b11); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | aux().MU.MCR.write(0); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | aux().MU.baud_rate.write(BAUD_RATE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | aux().MU.control.write(0b11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | if unsafe { aux().MU.status.get(1) } { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | while unsafe { mailbox().write.param.status.get(31) } {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:45:18 [INFO] [stdout] | [INFO] [stdout] 45 | unsafe { aux().MU.IO.write(c as u32) }; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:60:18 [INFO] [stdout] | [INFO] [stdout] 60 | unsafe { mailbox().write.write.write(message) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | if unsafe { aux().MU.status.get(0) } { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | Some(unsafe { aux().MU.IO.read() & 0xFF } as u8) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:66:28 [INFO] [stdout] | [INFO] [stdout] 66 | while unsafe { mailbox().read.param.status.get(30) } {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/mailbox.rs:68:36 [INFO] [stdout] | [INFO] [stdout] 68 | let message = unsafe { mailbox().read.read.read() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 42 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0557, E0793. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/mailbox.rs:339:13 [INFO] [stdout] | [INFO] [stdout] 339 | for i in 0..Self::LEN { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/mailbox.rs:338:24 [INFO] [stdout] | [INFO] [stdout] 338 | fn serialize(self, buffer: &mut [u32]) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | aux().ENABLES.write(1); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | aux().MU.control.write(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | aux().MU.IER.write(0); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | aux().MU.IIR.write(0b1100_0110); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | aux().MU.LCR.write(0b11); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | aux().MU.MCR.write(0); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | aux().MU.baud_rate.write(BAUD_RATE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | aux().MU.control.write(0b11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | if unsafe { aux().MU.status.get(1) } { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:45:18 [INFO] [stdout] | [INFO] [stdout] 45 | unsafe { aux().MU.IO.write(c as u32) }; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | if unsafe { aux().MU.status.get(0) } { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/uart.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | Some(unsafe { aux().MU.IO.read() & 0xFF } as u8) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `hal` (lib) due to 43 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 42 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0557, E0793. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `hal` (lib test) due to 43 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "484132d94c4f7e7037e835ab736e91ed613791e5696b64b9ac1e1ef7f836a93f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "484132d94c4f7e7037e835ab736e91ed613791e5696b64b9ac1e1ef7f836a93f", kill_on_drop: false }` [INFO] [stdout] 484132d94c4f7e7037e835ab736e91ed613791e5696b64b9ac1e1ef7f836a93f