[INFO] fetching crate freertos-rust 0.1.2...
[INFO] testing freertos-rust-0.1.2 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate freertos-rust 0.1.2 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate freertos-rust 0.1.2
[INFO] finished tweaking crates.io crate freertos-rust 0.1.2
[INFO] tweaked toml for crates.io crate freertos-rust 0.1.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate freertos-rust 0.1.2 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5a9582722aa58de8fc965f4d07f4bc4ec3f0652c6d84123de07e25d6b426387a
[INFO] running `Command { std: "docker" "start" "-a" "5a9582722aa58de8fc965f4d07f4bc4ec3f0652c6d84123de07e25d6b426387a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a9582722aa58de8fc965f4d07f4bc4ec3f0652c6d84123de07e25d6b426387a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a9582722aa58de8fc965f4d07f4bc4ec3f0652c6d84123de07e25d6b426387a", kill_on_drop: false }`
[INFO] [stdout] 5a9582722aa58de8fc965f4d07f4bc4ec3f0652c6d84123de07e25d6b426387a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cccb4d1c89584a24b91fa05264d0dff9db7f100ef757493d8fdcb977c93515b7
[INFO] running `Command { std: "docker" "start" "-a" "cccb4d1c89584a24b91fa05264d0dff9db7f100ef757493d8fdcb977c93515b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling freertos-rust v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `print_env` is never used
[INFO] [stdout]  --> build.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn print_env() {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::prelude::*`
[INFO] [stdout]  --> src/prelude/no_std.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use core::prelude::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cell::RefCell`
[INFO] [stdout]  --> src/prelude/no_std.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use core::cell::RefCell;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops::Range`
[INFO] [stdout]  --> src/prelude/no_std.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use core::ops::Range;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num::Wrapping`
[INFO] [stdout]  --> src/prelude/no_std.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use core::num::Wrapping;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::intrinsics::write_bytes`
[INFO] [stdout]   --> src/prelude/no_std.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::rc::Rc`
[INFO] [stdout]   --> src/prelude/no_std.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use alloc::rc::Rc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]  --> src/shim.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern {
[INFO] [stdout]   | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/shim.rs:48:38
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn freertos_rs_spawn_task(f: extern fn(FreeRtosMutVoidPtr) -> FreeRtosMutVoidPtr, value: FreeRtosMutVoidPtr, name: FreeRtosCharPt...
[INFO] [stdout]    |                                      ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/shim.rs:58:154
[INFO] [stdout]    |
[INFO] [stdout] 58 | ... timer_id: FreeRtosVoidPtr, callback: extern fn(FreeRtosTimerHandle) -> ()) -> FreeRtosTimerHandle;
[INFO] [stdout]    |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `core::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/prelude/no_std.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `c_size`, and `rust_size` are never read
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TypeSizeError {
[INFO] [stdout]   |            ------------- fields in this struct
[INFO] [stdout] 7 |     id: usize,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 8 |     c_size: usize,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 9 |     rust_size: usize
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TypeSizeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/hooks.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     unsafe { FREERTOS_HOOKS.do_on_assert(); }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `alloc::boxed::Box::<T>::into_raw` that must be used
[INFO] [stdout]    --> src/timers.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |                         Box::into_raw(b);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: losing the pointer will leak memory
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 107 |                         let _ = Box::into_raw(b);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/mutex.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<T, M>, FreeRtosError> {
[INFO] [stdout]    |                                   ^^^^^                         ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<'_, T, M>, FreeRtosError> {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on `Self: Drop` are most likely incorrect, consider instead using `core::mem::needs_drop` to detect whether a type can be trivially dropped
[INFO] [stdout]    --> src/mutex.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub trait MutexInnerImpl where Self: Sized + Drop {
[INFO] [stdout]     |                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(drop_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/critical.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<T>, FreeRtosError> {
[INFO] [stdout]    |                 ^^^^^            --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<'_, T>, FreeRtosError> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/critical.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<T>, FreeRtosError> {
[INFO] [stdout]    |                          ^^^^^ this lifetime flows to the output                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<'_, T>, FreeRtosError> {
[INFO] [stdout]    |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.81s
[INFO] running `Command { std: "docker" "inspect" "cccb4d1c89584a24b91fa05264d0dff9db7f100ef757493d8fdcb977c93515b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cccb4d1c89584a24b91fa05264d0dff9db7f100ef757493d8fdcb977c93515b7", kill_on_drop: false }`
[INFO] [stdout] cccb4d1c89584a24b91fa05264d0dff9db7f100ef757493d8fdcb977c93515b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 16fccf32342ec325a4f6fd054d3388d19957b0ffbcc1a9d89e8d40b99413a9ea
[INFO] running `Command { std: "docker" "start" "-a" "16fccf32342ec325a4f6fd054d3388d19957b0ffbcc1a9d89e8d40b99413a9ea", kill_on_drop: false }`
[INFO] [stdout] warning: function `print_env` is never used
[INFO] [stdout]  --> build.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn print_env() {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::prelude::*`
[INFO] [stdout]  --> src/prelude/no_std.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use core::prelude::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cell::RefCell`
[INFO] [stdout]  --> src/prelude/no_std.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use core::cell::RefCell;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops::Range`
[INFO] [stdout]  --> src/prelude/no_std.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use core::ops::Range;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num::Wrapping`
[INFO] [stdout]  --> src/prelude/no_std.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use core::num::Wrapping;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::intrinsics::write_bytes`
[INFO] [stdout]   --> src/prelude/no_std.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::rc::Rc`
[INFO] [stdout]   --> src/prelude/no_std.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use alloc::rc::Rc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]  --> src/shim.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern {
[INFO] [stdout]   | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/shim.rs:48:38
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn freertos_rs_spawn_task(f: extern fn(FreeRtosMutVoidPtr) -> FreeRtosMutVoidPtr, value: FreeRtosMutVoidPtr, name: FreeRtosCharPt...
[INFO] [stdout]    |                                      ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/shim.rs:58:154
[INFO] [stdout]    |
[INFO] [stdout] 58 | ... timer_id: FreeRtosVoidPtr, callback: extern fn(FreeRtosTimerHandle) -> ()) -> FreeRtosTimerHandle;
[INFO] [stdout]    |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `core::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/prelude/no_std.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `c_size`, and `rust_size` are never read
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TypeSizeError {
[INFO] [stdout]   |            ------------- fields in this struct
[INFO] [stdout] 7 |     id: usize,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 8 |     c_size: usize,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 9 |     rust_size: usize
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TypeSizeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/hooks.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     unsafe { FREERTOS_HOOKS.do_on_assert(); }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `alloc::boxed::Box::<T>::into_raw` that must be used
[INFO] [stdout]    --> src/timers.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |                         Box::into_raw(b);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: losing the pointer will leak memory
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 107 |                         let _ = Box::into_raw(b);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/mutex.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<T, M>, FreeRtosError> {
[INFO] [stdout]    |                                   ^^^^^                         ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<'_, T, M>, FreeRtosError> {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on `Self: Drop` are most likely incorrect, consider instead using `core::mem::needs_drop` to detect whether a type can be trivially dropped
[INFO] [stdout]    --> src/mutex.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub trait MutexInnerImpl where Self: Sized + Drop {
[INFO] [stdout]     |                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(drop_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/critical.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<T>, FreeRtosError> {
[INFO] [stdout]    |                 ^^^^^            --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<'_, T>, FreeRtosError> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/critical.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<T>, FreeRtosError> {
[INFO] [stdout]    |                          ^^^^^ this lifetime flows to the output                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<'_, T>, FreeRtosError> {
[INFO] [stdout]    |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling freertos-rust v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::prelude::*`
[INFO] [stdout]  --> src/prelude/no_std.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use core::prelude::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cell::RefCell`
[INFO] [stdout]  --> src/prelude/no_std.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use core::cell::RefCell;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops::Range`
[INFO] [stdout]  --> src/prelude/no_std.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use core::ops::Range;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num::Wrapping`
[INFO] [stdout]  --> src/prelude/no_std.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use core::num::Wrapping;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::intrinsics::write_bytes`
[INFO] [stdout]   --> src/prelude/no_std.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::rc::Rc`
[INFO] [stdout]   --> src/prelude/no_std.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use alloc::rc::Rc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]  --> src/shim.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern {
[INFO] [stdout]   | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/shim.rs:48:38
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn freertos_rs_spawn_task(f: extern fn(FreeRtosMutVoidPtr) -> FreeRtosMutVoidPtr, value: FreeRtosMutVoidPtr, name: FreeRtosCharPt...
[INFO] [stdout]    |                                      ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/shim.rs:58:154
[INFO] [stdout]    |
[INFO] [stdout] 58 | ... timer_id: FreeRtosVoidPtr, callback: extern fn(FreeRtosTimerHandle) -> ()) -> FreeRtosTimerHandle;
[INFO] [stdout]    |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `core::intrinsics`: import this function via `std::ptr` instead
[INFO] [stdout]   --> src/prelude/no_std.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `c_size`, and `rust_size` are never read
[INFO] [stdout]  --> src/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TypeSizeError {
[INFO] [stdout]   |            ------------- fields in this struct
[INFO] [stdout] 7 |     id: usize,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 8 |     c_size: usize,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 9 |     rust_size: usize
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TypeSizeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/hooks.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     unsafe { FREERTOS_HOOKS.do_on_assert(); }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `alloc::boxed::Box::<T>::into_raw` that must be used
[INFO] [stdout]    --> src/timers.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |                         Box::into_raw(b);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: losing the pointer will leak memory
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 107 |                         let _ = Box::into_raw(b);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/mutex.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<T, M>, FreeRtosError> {
[INFO] [stdout]    |                                   ^^^^^                         ---------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<'_, T, M>, FreeRtosError> {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on `Self: Drop` are most likely incorrect, consider instead using `core::mem::needs_drop` to detect whether a type can be trivially dropped
[INFO] [stdout]    --> src/mutex.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub trait MutexInnerImpl where Self: Sized + Drop {
[INFO] [stdout]     |                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(drop_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/critical.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<T>, FreeRtosError> {
[INFO] [stdout]    |                 ^^^^^            --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<'_, T>, FreeRtosError> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/critical.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<T>, FreeRtosError> {
[INFO] [stdout]    |                          ^^^^^ this lifetime flows to the output                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<'_, T>, FreeRtosError> {
[INFO] [stdout]    |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] running `Command { std: "docker" "inspect" "16fccf32342ec325a4f6fd054d3388d19957b0ffbcc1a9d89e8d40b99413a9ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16fccf32342ec325a4f6fd054d3388d19957b0ffbcc1a9d89e8d40b99413a9ea", kill_on_drop: false }`
[INFO] [stdout] 16fccf32342ec325a4f6fd054d3388d19957b0ffbcc1a9d89e8d40b99413a9ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d1b575a06e790cfdf0718ec7d97e416b23e713f9e29a4f41c6274a30797929c5
[INFO] running `Command { std: "docker" "start" "-a" "d1b575a06e790cfdf0718ec7d97e416b23e713f9e29a4f41c6274a30797929c5", kill_on_drop: false }`
[INFO] [stderr] warning: function `print_env` is never used
[INFO] [stderr]  --> build.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn print_env() {
[INFO] [stderr]   |    ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `freertos-rust` (build script) generated 1 warning
[INFO] [stderr] warning: unused import: `core::prelude::*`
[INFO] [stderr]  --> src/prelude/no_std.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub use core::prelude::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::cell::RefCell`
[INFO] [stderr]  --> src/prelude/no_std.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use core::cell::RefCell;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::ops::Range`
[INFO] [stderr]  --> src/prelude/no_std.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use core::ops::Range;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::num::Wrapping`
[INFO] [stderr]  --> src/prelude/no_std.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use core::num::Wrapping;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::intrinsics::write_bytes`
[INFO] [stderr]   --> src/prelude/no_std.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `alloc::rc::Rc`
[INFO] [stderr]   --> src/prelude/no_std.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub use alloc::rc::Rc;
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]  --> src/shim.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | extern {
[INFO] [stderr]   | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(missing_abi)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]   --> src/shim.rs:48:38
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn freertos_rs_spawn_task(f: extern fn(FreeRtosMutVoidPtr) -> FreeRtosMutVoidPtr, value: FreeRtosMutVoidPtr, name: FreeRtosCharPt...
[INFO] [stderr]    |                                      ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]   --> src/shim.rs:58:154
[INFO] [stderr]    |
[INFO] [stderr] 58 | ... timer_id: FreeRtosVoidPtr, callback: extern fn(FreeRtosTimerHandle) -> ()) -> FreeRtosTimerHandle;
[INFO] [stderr]    |                                          ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `core::intrinsics`: import this function via `std::ptr` instead
[INFO] [stderr]   --> src/prelude/no_std.rs:10:27
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use core::intrinsics::write_bytes;
[INFO] [stderr]    |                           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `c_size`, and `rust_size` are never read
[INFO] [stderr]  --> src/utils.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct TypeSizeError {
[INFO] [stderr]   |            ------------- fields in this struct
[INFO] [stderr] 7 |     id: usize,
[INFO] [stderr]   |     ^^
[INFO] [stderr] 8 |     c_size: usize,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 9 |     rust_size: usize
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `TypeSizeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/hooks.rs:34:14
[INFO] [stderr]    |
[INFO] [stderr] 34 |     unsafe { FREERTOS_HOOKS.do_on_assert(); }
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `alloc::boxed::Box::<T>::into_raw` that must be used
[INFO] [stderr]    --> src/timers.rs:107:25
[INFO] [stderr]     |
[INFO] [stderr] 107 |                         Box::into_raw(b);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: losing the pointer will leak memory
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 107 |                         let _ = Box::into_raw(b);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/mutex.rs:48:35
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<T, M>, FreeRtosError> {
[INFO] [stderr]    |                                   ^^^^^                         ---------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn lock<D: DurationTicks>(&self, max_wait: D) -> Result<MutexGuard<'_, T, M>, FreeRtosError> {
[INFO] [stderr]    |                                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: bounds on `Self: Drop` are most likely incorrect, consider instead using `core::mem::needs_drop` to detect whether a type can be trivially dropped
[INFO] [stderr]    --> src/mutex.rs:102:46
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub trait MutexInnerImpl where Self: Sized + Drop {
[INFO] [stderr]     |                                              ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(drop_bounds)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/critical.rs:36:17
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<T>, FreeRtosError> {
[INFO] [stderr]    |                 ^^^^^            --------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn lock(&self) -> Result<ExclusiveDataGuard<'_, T>, FreeRtosError> {
[INFO] [stderr]    |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/critical.rs:43:26
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<T>, FreeRtosError> {
[INFO] [stderr]    |                          ^^^^^ this lifetime flows to the output                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn lock_from_isr(&self, _context: &mut crate::isr::InterruptContext) -> Result<ExclusiveDataGuardIsr<'_, T>, FreeRtosError> {
[INFO] [stderr]    |                                                                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: `freertos-rust` (lib) generated 17 warnings (run `cargo fix --lib -p freertos-rust` to apply 9 suggestions)
[INFO] [stderr] warning: `freertos-rust` (lib test) generated 17 warnings (17 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/freertos_rust-7d038fe77047e1a9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests freertos_rust
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/patterns/compute_task.rs - patterns::compute_task::ComputeTask (line 75) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 47) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 24) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 38) ... FAILED
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] test src/allocator.rs - allocator::FreeRtosAllocator (line 7) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/patterns/compute_task.rs - patterns::compute_task::ComputeTask (line 75) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `freertos_rs`
[INFO] [stdout]  --> src/patterns/compute_task.rs:77:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use freertos_rs::patterns::compute_task::*;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `freertos_rs`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 4 - use freertos_rs::patterns::compute_task::*;
[INFO] [stdout] 4 + use freertos_rust::patterns::compute_task::*;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `freertos_rs`
[INFO] [stdout]  --> src/patterns/compute_task.rs:76:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use freertos_rs::*;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `freertos_rs`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 3 - use freertos_rs::*;
[INFO] [stdout] 3 + use freertos_rust::*;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 47) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `freertos_rs`
[INFO] [stdout]  --> src/lib.rs:48:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use freertos_rs::*;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `freertos_rs`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 3 - use freertos_rs::*;
[INFO] [stdout] 3 + use freertos_rust::*;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 24) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `freertos_rs`
[INFO] [stdout]  --> src/lib.rs:25:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use freertos_rs::*;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `freertos_rs`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 3 - use freertos_rs::*;
[INFO] [stdout] 3 + use freertos_rust::*;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 38) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `freertos_rs`
[INFO] [stdout]  --> src/lib.rs:39:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use freertos_rs::*;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `freertos_rs`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 3 - use freertos_rs::*;
[INFO] [stdout] 3 + use freertos_rust::*;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator.rs - allocator::FreeRtosAllocator (line 7) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `FreeRtosAllocator` in this scope
[INFO] [stdout]  --> src/allocator.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | static GLOBAL: FreeRtosAllocator = FreeRtosAllocator;
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use freertos_rust::FreeRtosAllocator;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `FreeRtosAllocator` in this scope
[INFO] [stdout]  --> src/allocator.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | static GLOBAL: FreeRtosAllocator = FreeRtosAllocator;
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this unit struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use freertos_rust::FreeRtosAllocator;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/allocator.rs - allocator::FreeRtosAllocator (line 7)
[INFO] [stdout]     src/lib.rs - (line 24)
[INFO] [stdout]     src/lib.rs - (line 38)
[INFO] [stdout]     src/lib.rs - (line 47)
[INFO] [stdout]     src/patterns/compute_task.rs - patterns::compute_task::ComputeTask (line 75)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d1b575a06e790cfdf0718ec7d97e416b23e713f9e29a4f41c6274a30797929c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1b575a06e790cfdf0718ec7d97e416b23e713f9e29a4f41c6274a30797929c5", kill_on_drop: false }`
[INFO] [stdout] d1b575a06e790cfdf0718ec7d97e416b23e713f9e29a4f41c6274a30797929c5
