[INFO] cloning repository https://github.com/Xaymar/teensy40-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Xaymar/teensy40-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXaymar%2Fteensy40-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXaymar%2Fteensy40-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e4c59e324e46d912564cbc09bb589d75e5f7bfc3 [INFO] checking Xaymar/teensy40-rs/e4c59e324e46d912564cbc09bb589d75e5f7bfc3 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXaymar%2Fteensy40-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Xaymar/teensy40-rs 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-6-tc1/source/.cargo/config [INFO] started tweaking git repo https://github.com/Xaymar/teensy40-rs [INFO] finished tweaking git repo https://github.com/Xaymar/teensy40-rs [INFO] tweaked toml for git repo https://github.com/Xaymar/teensy40-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Xaymar/teensy40-rs 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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bit_field v0.10.0 [INFO] [stderr] Downloaded volatile v0.2.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] aa36946497ff63b45fc1f1a1d1543ef43328b8c8a829de8f5b9fd3d89c1fd777 [INFO] running `Command { std: "docker" "start" "-a" "aa36946497ff63b45fc1f1a1d1543ef43328b8c8a829de8f5b9fd3d89c1fd777", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aa36946497ff63b45fc1f1a1d1543ef43328b8c8a829de8f5b9fd3d89c1fd777", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa36946497ff63b45fc1f1a1d1543ef43328b8c8a829de8f5b9fd3d89c1fd777", kill_on_drop: false }` [INFO] [stdout] aa36946497ff63b45fc1f1a1d1543ef43328b8c8a829de8f5b9fd3d89c1fd777 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 1d92eb704643eb4d9013fd957d91410df095cd8aa1b553e22b41d4f34d79e384 [INFO] running `Command { std: "docker" "start" "-a" "1d92eb704643eb4d9013fd957d91410df095cd8aa1b553e22b41d4f34d79e384", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking bit_field v0.10.0 [INFO] [stderr] Checking volatile v0.2.6 [INFO] [stderr] Checking teensy_audio_led v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(const_raw_ptr_to_usize_cast)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: at compile-time, pointers do not have an integer value, so these casts cannot be properly supported [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(const_raw_ptr_to_usize_cast)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: at compile-time, pointers do not have an integer value, so these casts cannot be properly supported [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/teensy40/cm7/mod.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | unsafe { asm!("ISB") }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 3 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/teensy40/cm7/mod.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | unsafe { asm!("ISB") }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 3 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/teensy40/cm7/mod.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | unsafe { asm!("DSB") }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 3 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/teensy40/cm7/mod.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | unsafe { asm!("DSB") }; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 3 + use core::arch::asm; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `asm` in this scope [INFO] [stdout] --> src/teensy40/startup.rs:97:3 [INFO] [stdout] | [INFO] [stdout] 97 | asm!("mov sp, $0" : : "r"(transmute::<&core::ffi::c_void, u32>(&_STACK_END))); [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/teensy40/startup.rs:97:3 [INFO] [stdout] | [INFO] [stdout] 97 | asm!("mov sp, $0" : : "r"(transmute::<&core::ffi::c_void, u32>(&_STACK_END))); [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] warning: unused import: `super::gpio::*` [INFO] [stdout] --> src/teensy40/startup.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::gpio::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::gpio::*` [INFO] [stdout] --> src/teensy40/startup.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::gpio::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unwinding panics are not supported without std [INFO] [stdout] | [INFO] [stdout] = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding [INFO] [stdout] = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl` [INFO] [stdout] --> src/main.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | fn teensy_panic(_: &core::panic::PanicInfo) -> ! { loop {} } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `test` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/f609b7e0586f81fefb3523e3e17adf779ac416be/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-e0ee872a6f64065a.rlib [INFO] [stdout] = note: second definition in the local crate (`teensy_audio_led`) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_raw_ptr_deref` has been stable since 1.58.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(const_raw_ptr_deref)] [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/main.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(asm)] [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_transmute` has been stable since 1.56.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(const_transmute)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0635]: unknown feature `stdsimd` [INFO] [stdout] --> src/main.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(stdsimd)] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0512]: cannot transmute between types of different sizes, or dependently-sized types [INFO] [stdout] --> src/teensy40/bootdata.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | unsafe { Some(transmute(0x6000_0000)) }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: source type: `i32` (32 bits) [INFO] [stdout] = note: target type: `&()` (64 bits) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0512]: cannot transmute between types of different sizes, or dependently-sized types [INFO] [stdout] --> src/teensy40/bootdata.rs:166:16 [INFO] [stdout] | [INFO] [stdout] 166 | unsafe { Some(transmute(0x40_20_00_D1))}, // Version [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: source type: `i32` (32 bits) [INFO] [stdout] = note: target type: `&()` (64 bits) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0152, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0152`. [INFO] [stdout] [INFO] [stderr] error: could not compile `teensy_audio_led` (bin "teensy_audio_led" test) due to 6 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/teensy40/cm7/nvic.rs:148:26 [INFO] [stdout] | [INFO] [stdout] 148 | (*VTOR).write(transmute(&_INTERRUPTS)); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 148 | (*VTOR).write(transmute(addr_of!(_INTERRUPTS))); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0512]: cannot transmute between types of different sizes, or dependently-sized types [INFO] [stdout] --> src/teensy40/cm7/nvic.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | (*VTOR).write(transmute(&_INTERRUPTS)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: source type: `&[Option<&unsafe extern "C" fn()>; 256]` (64 bits) [INFO] [stdout] = note: target type: `u32` (32 bits) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | true => self.data_set.write(mask), [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/teensy40/gpio.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | false => self.data_clear.write(mask), [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:49:3 [INFO] [stdout] | [INFO] [stdout] 49 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:63:10 [INFO] [stdout] | [INFO] [stdout] 63 | match self.data.read() & mask { [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:61:3 [INFO] [stdout] | [INFO] [stdout] 61 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | true => self.direction.write(self.direction.read() | mask), [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/teensy40/gpio.rs:75:34 [INFO] [stdout] | [INFO] [stdout] 75 | true => self.direction.write(self.direction.read() | mask), [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/teensy40/gpio.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | false => self.direction.write(self.direction.read() & !mask), [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/teensy40/gpio.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | false => self.direction.write(self.direction.read() & !mask), [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:71:3 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | return match self.direction.read() & mask { [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:81:3 [INFO] [stdout] | [INFO] [stdout] 81 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | return match self.direction.read() & mask { [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:91:3 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | self.interrupt_configuration_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/teensy40/gpio.rs:114:14 [INFO] [stdout] | [INFO] [stdout] 114 | .write((self.interrupt_configuration_1.read() & !(3 << offset)) | (val << offset)); [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/teensy40/gpio.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | self.interrupt_configuration_2 [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/teensy40/gpio.rs:119:14 [INFO] [stdout] | [INFO] [stdout] 119 | .write((self.interrupt_configuration_2.read() & !(3 << offset)) | (val << offset)); [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:101:3 [INFO] [stdout] | [INFO] [stdout] 101 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:131:11 [INFO] [stdout] | [INFO] [stdout] 131 | val = self.interrupt_configuration_1.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/teensy40/gpio.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | val = self.interrupt_configuration_2.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] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:125:3 [INFO] [stdout] | [INFO] [stdout] 125 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | true => self.interrupt_mask.write(self.interrupt_mask.read() | mask), [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/teensy40/gpio.rs:152:39 [INFO] [stdout] | [INFO] [stdout] 152 | true => self.interrupt_mask.write(self.interrupt_mask.read() | mask), [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/teensy40/gpio.rs:151:14 [INFO] [stdout] | [INFO] [stdout] 151 | false => self.interrupt_mask.write(self.interrupt_mask.read() & !mask), [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/teensy40/gpio.rs:151:40 [INFO] [stdout] | [INFO] [stdout] 151 | false => self.interrupt_mask.write(self.interrupt_mask.read() & !mask), [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:148:3 [INFO] [stdout] | [INFO] [stdout] 148 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | return match self.interrupt_mask.read() & mask { [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:158:3 [INFO] [stdout] | [INFO] [stdout] 158 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | return match self.interrupt_status.read() & mask { [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:168:3 [INFO] [stdout] | [INFO] [stdout] 168 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | self.interrupt_status.write(mask) [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:178:3 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:189:14 [INFO] [stdout] | [INFO] [stdout] 189 | false => self.interrupt_edge_selection.write(self.interrupt_edge_selection.read() | mask), [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/teensy40/gpio.rs:189:50 [INFO] [stdout] | [INFO] [stdout] 189 | false => self.interrupt_edge_selection.write(self.interrupt_edge_selection.read() | mask), [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/teensy40/gpio.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | true => self.interrupt_edge_selection.write(self.interrupt_edge_selection.read() & !mask), [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/teensy40/gpio.rs:188:49 [INFO] [stdout] | [INFO] [stdout] 188 | true => self.interrupt_edge_selection.write(self.interrupt_edge_selection.read() & !mask), [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:185:3 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/gpio.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 197 | return match self.interrupt_edge_selection.read() & mask { [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: unnecessary `unsafe` block [INFO] [stdout] --> src/teensy40/gpio.rs:195:3 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> src/teensy40/watchdog.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | core::ptr::write_volatile(&mut self.wcr, wcr); [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 37 previous errors; 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0512, E0557, E0635, E0793. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0512`. [INFO] [stdout] [INFO] [stderr] error: could not compile `teensy_audio_led` (bin "teensy_audio_led") due to 38 previous errors; 18 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1d92eb704643eb4d9013fd957d91410df095cd8aa1b553e22b41d4f34d79e384", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d92eb704643eb4d9013fd957d91410df095cd8aa1b553e22b41d4f34d79e384", kill_on_drop: false }` [INFO] [stdout] 1d92eb704643eb4d9013fd957d91410df095cd8aa1b553e22b41d4f34d79e384