[INFO] fetching crate bern-kernel 0.3.1...
[INFO] testing bern-kernel-0.3.1 against 1.97.0-beta.6 for beta-1.98-1
[INFO] extracting crate bern-kernel 0.3.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate bern-kernel 0.3.1
[INFO] finished tweaking crates.io crate bern-kernel 0.3.1
[INFO] tweaked toml for crates.io crate bern-kernel 0.3.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate bern-kernel 0.3.1 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate bern-kernel 0.3.1 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_core v1.0.221
[INFO] [stderr]   Downloaded ufmt-write v0.1.0
[INFO] [stderr]   Downloaded rtt-target v0.3.1
[INFO] [stderr]   Downloaded serde v1.0.221
[INFO] [stderr]   Downloaded serde_derive v1.0.221
[INFO] [stderr]   Downloaded cortex-m-rt v0.7.5
[INFO] [stderr]   Downloaded bern-kernel-macros v0.3.0
[INFO] [stderr]   Downloaded predicates-tree v1.0.12
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded rtos-trace v0.2.0
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded float-cmp v0.9.0
[INFO] [stderr]   Downloaded bern-arch v0.4.0
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded cortex-m-rt-macros v0.7.5
[INFO] [stderr]   Downloaded defmt v0.3.100
[INFO] [stderr]   Downloaded convert_case v0.4.0
[INFO] [stderr]   Downloaded bern-conf-type v0.2.1
[INFO] [stderr]   Downloaded predicates-core v1.0.9
[INFO] [stderr]   Downloaded bern-conf v0.2.0
[INFO] [stderr]   Downloaded fragile v2.0.1
[INFO] [stderr]   Downloaded bern-units v0.1.0
[INFO] [stderr]   Downloaded downcast v0.11.0
[INFO] [stderr]   Downloaded predicates v2.1.5
[INFO] [stderr]   Downloaded mockall_derive v0.11.4
[INFO] [stderr]   Downloaded semver v1.0.26
[INFO] [stderr]   Downloaded mockall v0.11.4
[INFO] [stderr]   Downloaded derive_more v0.99.20
[INFO] [stderr]   Downloaded embedded-time v0.12.1
[INFO] [stderr]   Downloaded regex v1.11.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b
[INFO] running `Command { std: "docker" "start" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling serde_core v1.0.221
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.221
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling bern-arch v0.4.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling float-cmp v0.9.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling const_format v0.2.34
[INFO] [stderr]    Compiling num v0.3.1
[INFO] [stderr]    Compiling embedded-time v0.12.1
[INFO] [stderr]    Compiling rtos-trace v0.2.0
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling serde_derive v1.0.221
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling predicates v2.1.5
[INFO] [stderr]    Compiling mockall_derive v0.11.4
[INFO] [stderr]    Compiling bern-units v0.1.0
[INFO] [stderr]    Compiling bern-conf-type v0.2.1
[INFO] [stderr]    Compiling bern-conf v0.2.0
[INFO] [stderr]    Compiling bern-kernel v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling bern-kernel-macros v0.3.0
[INFO] [stderr]    Compiling mockall v0.11.4
[INFO] [stdout] warning: the type `[mem::linked_list::LinkedList<Runnable>; 8]` does not permit being left uninitialized
[INFO] [stdout]   --> src/sched.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             MaybeUninit::uninit().assume_init();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/mem/linked_list.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     head: Link<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:247:32
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:260:32
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:280:32
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:304:30
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let sched = unsafe { SCHEDULER.assume_init_mut() };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:356:32
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:372:32
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:378:32
[INFO] [stdout]     |
[INFO] [stdout] 378 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:424:32
[INFO] [stdout]     |
[INFO] [stdout] 424 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         data_start: (&__smprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         data_start: (&raw const __smprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |         data_end: (&__emprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 19 |         data_end: (&raw const __emprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stdout]    |                                            ^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&raw mut STACK, STACK.len()) })
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stdout]    |                                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:265:54
[INFO] [stdout]     |
[INFO] [stdout] 265 |             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 265 -             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stdout] 265 +             let recv_queue: &&dyn PushRaw = unsafe { &*std::ptr::with_exposed_provenance::<&dyn PushRaw>(arg0) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:266:64
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 266 -             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 266 +             let res: &mut Result<usize, AllocError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<usize, allocator::AllocError>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:272:43
[INFO] [stdout]     |
[INFO] [stdout] 272 |             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 272 -             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 272 +             let item: &RawItem = unsafe { &*std::ptr::with_exposed_provenance::<RawItem>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:273:63
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 273 -             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stdout] 273 +             let res: &mut Result<(), ChannelError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(), ChannelError>>(arg2) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:280:26
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 unsafe { mem::transmute(arg1) };
[INFO] [stdout] 280 +                 unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(usize, usize), allocator::AllocError>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:286:64
[INFO] [stdout]     |
[INFO] [stdout] 286 |             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 286 -             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 286 +             let res: &mut Result<bool, sync::Error> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<bool, sync::Error>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.17s
[INFO] running `Command { std: "docker" "inspect" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bern-kernel v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `[mem::linked_list::LinkedList<Runnable>; 8]` does not permit being left uninitialized
[INFO] [stdout]   --> src/sched.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             MaybeUninit::uninit().assume_init();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/mem/linked_list.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     head: Link<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:247:32
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:260:32
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:280:32
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:304:30
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let sched = unsafe { SCHEDULER.assume_init_mut() };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:356:32
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:372:32
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:378:32
[INFO] [stdout]     |
[INFO] [stdout] 378 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:424:32
[INFO] [stdout]     |
[INFO] [stdout] 424 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         data_start: (&__smprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         data_start: (&raw const __smprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |         data_end: (&__emprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 19 |         data_end: (&raw const __emprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stdout]    |                                            ^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&raw mut STACK, STACK.len()) })
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stdout]    |                                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:265:54
[INFO] [stdout]     |
[INFO] [stdout] 265 |             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 265 -             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stdout] 265 +             let recv_queue: &&dyn PushRaw = unsafe { &*std::ptr::with_exposed_provenance::<&dyn PushRaw>(arg0) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:266:64
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 266 -             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 266 +             let res: &mut Result<usize, AllocError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<usize, allocator::AllocError>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:272:43
[INFO] [stdout]     |
[INFO] [stdout] 272 |             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 272 -             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 272 +             let item: &RawItem = unsafe { &*std::ptr::with_exposed_provenance::<RawItem>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:273:63
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 273 -             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stdout] 273 +             let res: &mut Result<(), ChannelError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(), ChannelError>>(arg2) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:280:26
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 unsafe { mem::transmute(arg1) };
[INFO] [stdout] 280 +                 unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(usize, usize), allocator::AllocError>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:286:64
[INFO] [stdout]     |
[INFO] [stdout] 286 |             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 286 -             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 286 +             let res: &mut Result<bool, sync::Error> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<bool, sync::Error>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/alloc/bump.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/alloc/bump.rs:109:40
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/alloc/bump.rs:109:60
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/alloc/bump.rs:149:40
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/alloc/bump.rs:150:40
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/alloc/bump.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/heap.rs:191:34
[INFO] [stdout]     |
[INFO] [stdout] 191 |             HEAP.init_from_slice(&mut HEAP_BUFFER);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 191 |             HEAP.init_from_slice(&raw mut HEAP_BUFFER);
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/heap.rs:208:34
[INFO] [stdout]     |
[INFO] [stdout] 208 |             HEAP.init_from_slice(&mut HEAP_BUFFER);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |             HEAP.init_from_slice(&raw mut HEAP_BUFFER);
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/heap.rs:224:34
[INFO] [stdout]     |
[INFO] [stdout] 224 |             HEAP.init_from_slice(&mut HEAP_BUFFER);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 224 |             HEAP.init_from_slice(&raw mut HEAP_BUFFER);
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/pool.rs:188:37
[INFO] [stdout]     |
[INFO] [stdout] 188 |             partion.init_from_slice(BUFFER.as_mut());
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/pool.rs:200:56
[INFO] [stdout]     |
[INFO] [stdout] 200 |             POOL.partition(0).unwrap().init_from_slice(BUFFER.as_mut());
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/pool.rs:236:34
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 .init_from_slice(BUFFER_1.as_mut());
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/pool.rs:239:34
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 .init_from_slice(BUFFER_2.as_mut());
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/alloc/pool.rs:242:34
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 .init_from_slice(BUFFER_3.as_mut());
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:440:40
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:441:40
[INFO] [stdout]     |
[INFO] [stdout] 441 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:441:60
[INFO] [stdout]     |
[INFO] [stdout] 441 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:477:40
[INFO] [stdout]     |
[INFO] [stdout] 477 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:478:40
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:478:60
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:498:40
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:499:40
[INFO] [stdout]     |
[INFO] [stdout] 499 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:499:60
[INFO] [stdout]     |
[INFO] [stdout] 499 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:524:40
[INFO] [stdout]     |
[INFO] [stdout] 524 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:525:40
[INFO] [stdout]     |
[INFO] [stdout] 525 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:525:60
[INFO] [stdout]     |
[INFO] [stdout] 525 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:541:40
[INFO] [stdout]     |
[INFO] [stdout] 541 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:542:40
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:542:60
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:566:40
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:567:40
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:567:60
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:593:40
[INFO] [stdout]     |
[INFO] [stdout] 593 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:594:40
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:594:60
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:631:40
[INFO] [stdout]     |
[INFO] [stdout] 631 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:632:40
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/linked_list.rs:632:60
[INFO] [stdout]     |
[INFO] [stdout] 632 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/mem/queue/mpmc_linked.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 |             for n in LIST_BUFFER.iter_mut() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 195 -         static mut LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stdout] 195 +         static LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/mem/queue/mpmc_linked.rs:223:22
[INFO] [stdout]     |
[INFO] [stdout] 223 |             for n in LIST_BUFFER.iter_mut() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 219 -         static mut LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stdout] 219 +         static LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/mem/queue/mpmc_linked.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |             let mut i = LIST_BUFFER.len();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 219 -         static mut LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stdout] 219 +         static LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[mem::linked_list::LinkedList<Runnable>; 8]` does not permit being left uninitialized
[INFO] [stdout]   --> src/sched.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             MaybeUninit::uninit().assume_init();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout] note: raw pointers must be initialized (in this struct field)
[INFO] [stdout]   --> src/mem/linked_list.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     head: Link<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched.rs:84:32
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:247:32
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:260:32
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:280:32
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:304:30
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let sched = unsafe { SCHEDULER.assume_init_mut() };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:356:32
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:372:32
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:378:32
[INFO] [stdout]     |
[INFO] [stdout] 378 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:424:32
[INFO] [stdout]     |
[INFO] [stdout] 424 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/sched.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         data_start: (&__smprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         data_start: (&raw const __smprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |         data_end: (&__emprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 19 |         data_end: (&raw const __emprocess_default_idle) as *const _ as *const u8,
[INFO] [stdout]    |                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stdout]    |                                            ^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&raw mut STACK, STACK.len()) })
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/sched/idle.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stdout]    |                                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:265:54
[INFO] [stdout]     |
[INFO] [stdout] 265 |             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 265 -             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stdout] 265 +             let recv_queue: &&dyn PushRaw = unsafe { &*std::ptr::with_exposed_provenance::<&dyn PushRaw>(arg0) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:266:64
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 266 -             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 266 +             let res: &mut Result<usize, AllocError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<usize, allocator::AllocError>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:272:43
[INFO] [stdout]     |
[INFO] [stdout] 272 |             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 272 -             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 272 +             let item: &RawItem = unsafe { &*std::ptr::with_exposed_provenance::<RawItem>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:273:63
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 273 -             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stdout] 273 +             let res: &mut Result<(), ChannelError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(), ChannelError>>(arg2) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:280:26
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 280 -                 unsafe { mem::transmute(arg1) };
[INFO] [stdout] 280 +                 unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(usize, usize), allocator::AllocError>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> src/syscall.rs:286:64
[INFO] [stdout]     |
[INFO] [stdout] 286 |             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 286 -             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stdout] 286 +             let res: &mut Result<bool, sync::Error> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<bool, sync::Error>>(arg1) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.99s
[INFO] running `Command { std: "docker" "inspect" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]    Compiling bern-kernel v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: the type `[mem::linked_list::LinkedList<Runnable>; 8]` does not permit being left uninitialized
[INFO] [stderr]   --> src/sched.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |             MaybeUninit::uninit().assume_init();
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr]    |
[INFO] [stderr] note: raw pointers must be initialized (in this struct field)
[INFO] [stderr]   --> src/mem/linked_list.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 95 |     head: Link<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/sched.rs:84:32
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]    |
[INFO] [stderr] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/sched.rs:95:32
[INFO] [stderr]    |
[INFO] [stderr] 95 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]    |
[INFO] [stderr] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:121:32
[INFO] [stderr]     |
[INFO] [stderr] 121 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:154:32
[INFO] [stderr]     |
[INFO] [stderr] 154 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:174:32
[INFO] [stderr]     |
[INFO] [stderr] 174 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:191:32
[INFO] [stderr]     |
[INFO] [stderr] 191 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:236:32
[INFO] [stderr]     |
[INFO] [stderr] 236 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:247:32
[INFO] [stderr]     |
[INFO] [stderr] 247 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:260:32
[INFO] [stderr]     |
[INFO] [stderr] 260 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:280:32
[INFO] [stderr]     |
[INFO] [stderr] 280 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:304:30
[INFO] [stderr]     |
[INFO] [stderr] 304 |         let sched = unsafe { SCHEDULER.assume_init_mut() };
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:356:32
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:372:32
[INFO] [stderr]     |
[INFO] [stderr] 372 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:378:32
[INFO] [stderr]     |
[INFO] [stderr] 378 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:424:32
[INFO] [stderr]     |
[INFO] [stderr] 424 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/sched.rs:503:32
[INFO] [stderr]     |
[INFO] [stderr] 503 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr]  32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]  32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/sched/idle.rs:18:21
[INFO] [stderr]    |
[INFO] [stderr] 18 |         data_start: (&__smprocess_default_idle) as *const _ as *const u8,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 18 |         data_start: (&raw const __smprocess_default_idle) as *const _ as *const u8,
[INFO] [stderr]    |                       +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/sched/idle.rs:19:19
[INFO] [stderr]    |
[INFO] [stderr] 19 |         data_end: (&__emprocess_default_idle) as *const _ as *const u8,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 19 |         data_end: (&raw const __emprocess_default_idle) as *const _ as *const u8,
[INFO] [stderr]    |                     +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/sched/idle.rs:36:44
[INFO] [stderr]    |
[INFO] [stderr] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stderr]    |                                            ^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 36 |                 .stack(unsafe { Stack::new(&raw mut STACK, STACK.len()) })
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/sched/idle.rs:36:56
[INFO] [stderr]    |
[INFO] [stderr] 36 |                 .stack(unsafe { Stack::new(&mut STACK, STACK.len()) })
[INFO] [stderr]    |                                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/syscall.rs:265:54
[INFO] [stderr]     |
[INFO] [stderr] 265 |             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 265 -             let recv_queue: &&dyn PushRaw = unsafe { mem::transmute(arg0) };
[INFO] [stderr] 265 +             let recv_queue: &&dyn PushRaw = unsafe { &*std::ptr::with_exposed_provenance::<&dyn PushRaw>(arg0) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/syscall.rs:266:64
[INFO] [stderr]     |
[INFO] [stderr] 266 |             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 266 -             let res: &mut Result<usize, AllocError> = unsafe { mem::transmute(arg1) };
[INFO] [stderr] 266 +             let res: &mut Result<usize, AllocError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<usize, allocator::AllocError>>(arg1) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/syscall.rs:272:43
[INFO] [stderr]     |
[INFO] [stderr] 272 |             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 272 -             let item: &RawItem = unsafe { mem::transmute(arg1) };
[INFO] [stderr] 272 +             let item: &RawItem = unsafe { &*std::ptr::with_exposed_provenance::<RawItem>(arg1) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/syscall.rs:273:63
[INFO] [stderr]     |
[INFO] [stderr] 273 |             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stderr]     |                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 273 -             let res: &mut Result<(), ChannelError> = unsafe { mem::transmute(arg2) };
[INFO] [stderr] 273 +             let res: &mut Result<(), ChannelError> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(), ChannelError>>(arg2) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/syscall.rs:280:26
[INFO] [stderr]     |
[INFO] [stderr] 280 |                 unsafe { mem::transmute(arg1) };
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 280 -                 unsafe { mem::transmute(arg1) };
[INFO] [stderr] 280 +                 unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<(usize, usize), allocator::AllocError>>(arg1) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stderr]    --> src/syscall.rs:286:64
[INFO] [stderr]     |
[INFO] [stderr] 286 |             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stderr]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stderr]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stderr]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stderr]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance
[INFO] [stderr]     |
[INFO] [stderr] 286 -             let res: &mut Result<bool, sync::Error> = unsafe { mem::transmute(arg1) };
[INFO] [stderr] 286 +             let res: &mut Result<bool, sync::Error> = unsafe { &mut *std::ptr::with_exposed_provenance_mut::<Result<bool, sync::Error>>(arg1) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `bern-kernel` (lib) generated 27 warnings (run `cargo fix --lib -p bern-kernel` to apply 6 suggestions)
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/alloc/bump.rs:108:40
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/alloc/bump.rs:109:40
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/alloc/bump.rs:109:60
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/alloc/bump.rs:149:40
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/alloc/bump.rs:150:40
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/alloc/bump.rs:150:60
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/heap.rs:191:34
[INFO] [stderr]     |
[INFO] [stderr] 191 |             HEAP.init_from_slice(&mut HEAP_BUFFER);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 191 |             HEAP.init_from_slice(&raw mut HEAP_BUFFER);
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/heap.rs:208:34
[INFO] [stderr]     |
[INFO] [stderr] 208 |             HEAP.init_from_slice(&mut HEAP_BUFFER);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 208 |             HEAP.init_from_slice(&raw mut HEAP_BUFFER);
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/heap.rs:224:34
[INFO] [stderr]     |
[INFO] [stderr] 224 |             HEAP.init_from_slice(&mut HEAP_BUFFER);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 224 |             HEAP.init_from_slice(&raw mut HEAP_BUFFER);
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/pool.rs:188:37
[INFO] [stderr]     |
[INFO] [stderr] 188 |             partion.init_from_slice(BUFFER.as_mut());
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/pool.rs:200:56
[INFO] [stderr]     |
[INFO] [stderr] 200 |             POOL.partition(0).unwrap().init_from_slice(BUFFER.as_mut());
[INFO] [stderr]     |                                                        ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/pool.rs:236:34
[INFO] [stderr]     |
[INFO] [stderr] 236 |                 .init_from_slice(BUFFER_1.as_mut());
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/pool.rs:239:34
[INFO] [stderr]     |
[INFO] [stderr] 239 |                 .init_from_slice(BUFFER_2.as_mut());
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/alloc/pool.rs:242:34
[INFO] [stderr]     |
[INFO] [stderr] 242 |                 .init_from_slice(BUFFER_3.as_mut());
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:440:40
[INFO] [stderr]     |
[INFO] [stderr] 440 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:441:40
[INFO] [stderr]     |
[INFO] [stderr] 441 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:441:60
[INFO] [stderr]     |
[INFO] [stderr] 441 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:477:40
[INFO] [stderr]     |
[INFO] [stderr] 477 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:478:40
[INFO] [stderr]     |
[INFO] [stderr] 478 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:478:60
[INFO] [stderr]     |
[INFO] [stderr] 478 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:498:40
[INFO] [stderr]     |
[INFO] [stderr] 498 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:499:40
[INFO] [stderr]     |
[INFO] [stderr] 499 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:499:60
[INFO] [stderr]     |
[INFO] [stderr] 499 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:524:40
[INFO] [stderr]     |
[INFO] [stderr] 524 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:525:40
[INFO] [stderr]     |
[INFO] [stderr] 525 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:525:60
[INFO] [stderr]     |
[INFO] [stderr] 525 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:541:40
[INFO] [stderr]     |
[INFO] [stderr] 541 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:542:40
[INFO] [stderr]     |
[INFO] [stderr] 542 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:542:60
[INFO] [stderr]     |
[INFO] [stderr] 542 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:566:40
[INFO] [stderr]     |
[INFO] [stderr] 566 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:567:40
[INFO] [stderr]     |
[INFO] [stderr] 567 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:567:60
[INFO] [stderr]     |
[INFO] [stderr] 567 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:593:40
[INFO] [stderr]     |
[INFO] [stderr] 593 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:594:40
[INFO] [stderr]     |
[INFO] [stderr] 594 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:594:60
[INFO] [stderr]     |
[INFO] [stderr] 594 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:631:40
[INFO] [stderr]     |
[INFO] [stderr] 631 |                 NonNull::new_unchecked(BUFFER.as_ptr() as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:632:40
[INFO] [stderr]     |
[INFO] [stderr] 632 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/linked_list.rs:632:60
[INFO] [stderr]     |
[INFO] [stderr] 632 |                 NonNull::new_unchecked(BUFFER.as_ptr().add(BUFFER.len()) as *mut _),
[INFO] [stderr]     |                                                            ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/mem/queue/mpmc_linked.rs:199:22
[INFO] [stderr]     |
[INFO] [stderr] 199 |             for n in LIST_BUFFER.iter_mut() {
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr] 195 -         static mut LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stderr] 195 +         static LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/mem/queue/mpmc_linked.rs:223:22
[INFO] [stderr]     |
[INFO] [stderr] 223 |             for n in LIST_BUFFER.iter_mut() {
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr] 219 -         static mut LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stderr] 219 +         static LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/mem/queue/mpmc_linked.rs:230:25
[INFO] [stderr]     |
[INFO] [stderr] 230 |             let mut i = LIST_BUFFER.len();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]     |
[INFO] [stderr] 219 -         static mut LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stderr] 219 +         static LIST_BUFFER: [Node<MyStruct>; 8] = node_array();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/sched.rs:84:32
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let sched = unsafe { &mut *SCHEDULER.as_mut_ptr() };
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stderr]    |
[INFO] [stderr] 32 - static mut SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr] 32 + static SCHEDULER: MaybeUninit<Scheduler> = MaybeUninit::uninit();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `bern-kernel` (lib test) generated 68 warnings (26 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.91s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bern_kernel-708e622fe0d8c32a)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stderr] 
[INFO] [stderr] thread 'alloc::heap::tests::alloc_and_dealloc' (926) panicked at src/alloc/heap.rs:67:21:
[INFO] [stderr] misaligned pointer dereference: address must be a multiple of 0x8 but is 0x5f9fb7d880d4
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x5f9fb7d5aaf8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5f9fb7d5aaf8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5f9fb7d5aaf8 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x5f9fb7d5aaf8 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x5f9fb7d6e91a - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x5f9fb7d6e91a - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stderr]    6:     0x5f9fb7d5fe62 - std[10d71ac2c42b111e]::io::default_write_fmt::<std[10d71ac2c42b111e]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stderr]    7:     0x5f9fb7d5fe62 - <std[10d71ac2c42b111e]::sys::stdio::unix::Stderr as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stderr]    8:     0x5f9fb7d39cb6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x5f9fb7d39cb6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x5f9fb7d53011 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x5f9fb7cebddc - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stderr]   12:     0x5f9fb7cebddc - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stderr]   13:     0x5f9fb7d53202 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stderr]   14:     0x5f9fb7d53202 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x5f9fb7d39d72 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stderr]   16:     0x5f9fb7d2ef79 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x5f9fb7d3aa8d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x5f9fb7d6eecd - core[8fb95b77d25ab6c8]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x5f9fb7d6eecd - core[8fb95b77d25ab6c8]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/intrinsics/mod.rs:2450:9
[INFO] [stderr]   20:     0x5f9fb7d6f059 - core[8fb95b77d25ab6c8]::panicking::panic_misaligned_pointer_dereference
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:284:5
[INFO] [stderr]   21:     0x5f9fb7cd31fe - <bern_kernel[8e95f6481dd6ab5]::alloc::heap::Heap>::insert_free
[INFO] [stderr]                                at /opt/rustwide/workdir/src/alloc/heap.rs:67:21
[INFO] [stderr]   22:     0x5f9fb7cd64fa - <bern_kernel[8e95f6481dd6ab5]::alloc::heap::Heap as bern_kernel[8e95f6481dd6ab5]::alloc::allocator::Allocator>::dealloc
[INFO] [stderr]                                at /opt/rustwide/workdir/src/alloc/heap.rs:167:14
[INFO] [stderr]   23:     0x5f9fb7cd9315 - bern_kernel[8e95f6481dd6ab5]::alloc::heap::tests::alloc_and_dealloc
[INFO] [stderr]                                at /opt/rustwide/workdir/src/alloc/heap.rs:235:26
[INFO] [stderr]   24:     0x5f9fb7cd7ad7 - bern_kernel[8e95f6481dd6ab5]::alloc::heap::tests::alloc_and_dealloc::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/alloc/heap.rs:219:27
[INFO] [stderr]   25:     0x5f9fb7cda156 - <bern_kernel[8e95f6481dd6ab5]::alloc::heap::tests::alloc_and_dealloc::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   26:     0x5f9fb7cdeebb - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   27:     0x5f9fb7cdeebb - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stderr]   28:     0x5f9fb7cec735 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stderr]   29:     0x5f9fb7cec735 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   30:     0x5f9fb7cec735 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stderr]   31:     0x5f9fb7cec735 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stderr]   32:     0x5f9fb7cec735 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stderr]   33:     0x5f9fb7cec735 - test[213991da798b1c03]::run_test_in_process
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stderr]   34:     0x5f9fb7cec735 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stderr]   35:     0x5f9fb7ce6044 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stderr]   36:     0x5f9fb7ce6044 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   37:     0x5f9fb7cef7b2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stderr]   38:     0x5f9fb7cef7b2 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stderr]   39:     0x5f9fb7cef7b2 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stderr]   40:     0x5f9fb7cef7b2 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stderr]   41:     0x5f9fb7cef7b2 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stderr]   42:     0x5f9fb7cef7b2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stderr]   43:     0x5f9fb7cef7b2 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   44:     0x5f9fb7d5a45f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stderr]   45:     0x5f9fb7d5a45f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stderr]   46:     0x737ebbc01aa4 - <unknown>
[INFO] [stderr]   47:     0x737ebbc8ea64 - clone
[INFO] [stderr]   48:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/bern_kernel-708e622fe0d8c32a` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b", kill_on_drop: false }`
[INFO] [stdout] a4bd7bd4e209e57fddff66a55d988b388b55a94177546ff51322a7c859b88d6b
