[INFO] fetching crate rust-rsm 0.3.2...
[INFO] testing rust-rsm-0.3.2 against nightly-2024-10-28 for randomize-layout
[INFO] extracting crate rust-rsm 0.3.2 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate rust-rsm 0.3.2 on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rust-rsm 0.3.2
[INFO] finished tweaking crates.io crate rust-rsm 0.3.2
[INFO] tweaked toml for crates.io crate rust-rsm 0.3.2 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate crates.io crate rust-rsm 0.3.2 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" "+nightly-2024-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libdeflater v0.10.0
[INFO] [stderr]   Downloaded sm4 v0.5.1
[INFO] [stderr]   Downloaded tiny_http v0.11.0
[INFO] [stderr]   Downloaded ascii v1.0.0
[INFO] [stderr]   Downloaded aes v0.8.1
[INFO] [stderr]   Downloaded libdeflate-sys v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c5e15e1a4660995e2f83c2e3708efef790f7291f1df4e6f836f788e42ac8a11b
[INFO] running `Command { std: "docker" "start" "-a" "c5e15e1a4660995e2f83c2e3708efef790f7291f1df4e6f836f788e42ac8a11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c5e15e1a4660995e2f83c2e3708efef790f7291f1df4e6f836f788e42ac8a11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5e15e1a4660995e2f83c2e3708efef790f7291f1df4e6f836f788e42ac8a11b", kill_on_drop: false }`
[INFO] [stdout] c5e15e1a4660995e2f83c2e3708efef790f7291f1df4e6f836f788e42ac8a11b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ddfa9a25d14b400f5c7408be2ba7f00b4402841d892458aaf9e6fa7ddbbe6017
[INFO] running `Command { std: "docker" "start" "-a" "ddfa9a25d14b400f5c7408be2ba7f00b4402841d892458aaf9e6fa7ddbbe6017", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling serde_derive v1.0.139
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling serde v1.0.139
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling cpufeatures v0.2.2
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling chunked_transfer v1.4.0
[INFO] [stderr]    Compiling ryu v1.0.10
[INFO] [stderr]    Compiling ascii v1.0.0
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling libdeflate-sys v0.10.0
[INFO] [stderr]    Compiling rust-rsm v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.21
[INFO] [stderr] warning: rust-rsm@0.3.2: src/net_ext/os_linux.c: In function 'c_create_timer':
[INFO] [stderr] warning: rust-rsm@0.3.2: src/net_ext/os_linux.c:175:31: warning: assignment to 'void (*)(__sigval_t)' {aka 'void (*)(union sigval)'} from incompatible pointer type 'timer_callback' {aka 'int (*)(sigval_t)'} [-Wincompatible-pointer-types]
[INFO] [stderr] warning: rust-rsm@0.3.2:   175 |     sev.sigev_notify_function = call_back;
[INFO] [stderr] warning: rust-rsm@0.3.2:       |                               ^
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling block-buffer v0.10.2
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling cipher v0.4.3
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling aes v0.8.1
[INFO] [stderr]    Compiling sm4 v0.5.1
[INFO] [stderr]    Compiling sha2 v0.10.2
[INFO] [stderr]    Compiling libdeflater v0.10.0
[INFO] [stderr]    Compiling time v0.3.11
[INFO] [stderr]    Compiling tiny_http v0.11.0
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/common/ringbuf.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{cmp,alloc,mem,ptr};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]  --> src/rsm/os_timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rsm/os_timer.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::common::{self,tsidallocator::TsIdAllocator,tsmap::TsHashMap};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]   --> src/rsm/socket/poll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/rsm/xlog/xlog_server.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{self,Read,Write};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc`
[INFO] [stdout]  --> src/net_ext/rawpacket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/net_ext/netinterface.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/net_ext/netinterface.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/net_ext/unix/rawsocket.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{UdpSocket,SocketAddr,SocketAddrV6,SocketAddrV4};
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Aes256`
[INFO] [stdout]  --> src/alg/crypto.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use aes::{self,Aes128,Aes256, Block};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ----------------------------------- matches some of the same values
[INFO] [stdout] 250 |         E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50),
[INFO] [stdout]     |         -------------------------------------- matches some of the same values
[INFO] [stdout] 251 |         E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80),
[INFO] [stdout]     |         ------------------------------------ matches some of the same values
[INFO] [stdout] 252 |         E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10),
[INFO] [stdout]     |         ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/os_timer.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut its = libc::itimerspec  {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let mut client = match self.RegisterLogModule(&msg.ModuleName, sender) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msgStru`
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net_ext/netinterface.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |         if let Some(mut if_info) = ifmap.get_mut(&ifname) {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/alg/spf.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let mut c=0u32;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alt` is never read
[INFO] [stdout]    --> src/alg/spf.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let mut alt=0u32;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]   --> src/alg/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut m:HashSet<T>=HashSet::with_capacity(v1.len()<<1);
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_addr` is never read
[INFO] [stdout]   --> src/net_ext/restserver.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct RestServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 31 |     local_addr: net::SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/common/errcode.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&ErrorNameMap} {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if ErrorNameMap.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&ErrorNameMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]     |                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 |     if gRsmConfig.is_some() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&gRsmConfig} {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&raw const gRsmConfig} {
[INFO] [stdout]     |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&mut gTaskList {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&raw mut gTaskList {
[INFO] [stdout]    |                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &mut gTaskRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &raw mut gTaskRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &mut gComponentRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &raw mut gComponentRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&gTaskList} {
[INFO] [stdout]    |                            ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&raw const gTaskList} {
[INFO] [stdout]    |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ts.push((t,task.clone()));
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `task_t` does not implement `Clone`, so calling `clone` on `&task_t` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 105 -             ts.push((t,task.clone()));
[INFO] [stdout] 105 +             ts.push((t,task));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `task_t`, implement `Clone` for it
[INFO] [stdout]    --> src/rsm/task.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub(crate) struct task_t{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { & mut gTaskIdMap} {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { &raw mut gTaskIdMap} {
[INFO] [stdout]     |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&mut gTaskIdMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&raw mut gTaskIdMap} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:186:30
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:199:30
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {& gComponentRegistry} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {&raw const gComponentRegistry} {
[INFO] [stdout]     |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |         if gTimerIdAlloc.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {(&mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {&raw mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {(&mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {&raw mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {(&mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {&raw mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {&raw mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:76:42
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {&raw mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {&raw mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:244:31
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &mut gTimer10ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &raw mut gTimer10ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &mut gTimer100ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &raw mut gTimer100ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &mut gTimer1s} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &raw mut gTimer1s} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &gTimerIdAlloc {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &raw const gTimerIdAlloc {
[INFO] [stdout]     |                              ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:296:40
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &gTimer10ms {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &raw const gTimer10ms {
[INFO] [stdout]     |                                        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:301:41
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &gTimer100ms {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &raw const gTimer100ms {
[INFO] [stdout]     |                                         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:305:38
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &gTimer1s {
[INFO] [stdout]     |                                      ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &raw const gTimer1s {
[INFO] [stdout]     |                                      ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/os_timer.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &raw mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if gOsTimerAlloc.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if gOsTimerMap.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:284:30
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:302:30
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:331:30
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:343:36
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &mut gSocketPool} {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &raw mut gSocketPool} {
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&mut gSocketPool} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&raw mut gSocketPool} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:178:2
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let _ = fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:179:2
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fp2.flush();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = fp2.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 |     if gLogServer.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:436:28
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:451:28
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:463:28
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:504:30
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&mut gLogServer} {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&raw mut gLogServer} {
[INFO] [stdout]     |                                 ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/mod.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&raw mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/oam_main.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |         if gOamInst.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &raw mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &raw mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/main.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::io::{Error};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/common/ringbuf.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{cmp,alloc,mem,ptr};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]  --> src/rsm/os_timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rsm/os_timer.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::common::{self,tsidallocator::TsIdAllocator,tsmap::TsHashMap};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]   --> src/rsm/socket/poll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/rsm/xlog/xlog_server.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{self,Read,Write};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Aes256`
[INFO] [stdout]  --> src/alg/crypto.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use aes::{self,Aes128,Aes256, Block};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc`
[INFO] [stdout]  --> src/net_ext/rawpacket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/net_ext/netinterface.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/net_ext/netinterface.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/net_ext/unix/rawsocket.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{UdpSocket,SocketAddr,SocketAddrV6,SocketAddrV4};
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ----------------------------------- matches some of the same values
[INFO] [stdout] 250 |         E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50),
[INFO] [stdout]     |         -------------------------------------- matches some of the same values
[INFO] [stdout] 251 |         E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80),
[INFO] [stdout]     |         ------------------------------------ matches some of the same values
[INFO] [stdout] 252 |         E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10),
[INFO] [stdout]     |         ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/os_timer.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut its = libc::itimerspec  {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let mut client = match self.RegisterLogModule(&msg.ModuleName, sender) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msgStru`
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/alg/spf.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let mut c=0u32;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alt` is never read
[INFO] [stdout]    --> src/alg/spf.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let mut alt=0u32;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]   --> src/alg/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut m:HashSet<T>=HashSet::with_capacity(v1.len()<<1);
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net_ext/netinterface.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |         if let Some(mut if_info) = ifmap.get_mut(&ifname) {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]   --> src/main.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn on_socket_event(&mut self,cid:&rsm::rsm_component_t,event:rsm::rsm_socket_event_t) {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/main.rs:55:60
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn on_socket_event(&mut self,cid:&rsm::rsm_component_t,event:rsm::rsm_socket_event_t) {
[INFO] [stdout]    |                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]   --> src/main.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn on_close(&mut self,cid:&rsm::rsm_component_t) {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rsm_conf`
[INFO] [stdout]    --> src/main.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let rsm_conf = match config::load_rsm_cfg(fpath) {
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rsm_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/main.rs:44:63
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let msg= rsm::rsm_message_t::new::<u64>(10015,unsafe {&data}).unwrap();
[INFO] [stdout]    |                                                               ^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let msg= rsm::rsm_message_t::new::<u64>(10015,unsafe {&raw const data}).unwrap();
[INFO] [stdout]    |                                                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/main.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let apps = unsafe {&mut sampleApp};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let apps = unsafe {&raw mut sampleApp};
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/common/errcode.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&ErrorNameMap} {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if ErrorNameMap.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&ErrorNameMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]     |                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 |     if gRsmConfig.is_some() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&gRsmConfig} {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&raw const gRsmConfig} {
[INFO] [stdout]     |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&mut gTaskList {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&raw mut gTaskList {
[INFO] [stdout]    |                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &mut gTaskRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &raw mut gTaskRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &mut gComponentRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &raw mut gComponentRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&gTaskList} {
[INFO] [stdout]    |                            ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&raw const gTaskList} {
[INFO] [stdout]    |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ts.push((t,task.clone()));
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `task_t` does not implement `Clone`, so calling `clone` on `&task_t` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 105 -             ts.push((t,task.clone()));
[INFO] [stdout] 105 +             ts.push((t,task));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `task_t`, implement `Clone` for it
[INFO] [stdout]    --> src/rsm/task.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub(crate) struct task_t{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { & mut gTaskIdMap} {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { &raw mut gTaskIdMap} {
[INFO] [stdout]     |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&mut gTaskIdMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&raw mut gTaskIdMap} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:186:30
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:199:30
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {& gComponentRegistry} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {&raw const gComponentRegistry} {
[INFO] [stdout]     |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |         if gTimerIdAlloc.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {(&mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {&raw mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {(&mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {&raw mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {(&mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {&raw mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {&raw mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:76:42
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {&raw mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {&raw mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:244:31
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &mut gTimer10ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &raw mut gTimer10ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &mut gTimer100ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &raw mut gTimer100ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &mut gTimer1s} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &raw mut gTimer1s} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &gTimerIdAlloc {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &raw const gTimerIdAlloc {
[INFO] [stdout]     |                              ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:296:40
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &gTimer10ms {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &raw const gTimer10ms {
[INFO] [stdout]     |                                        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:301:41
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &gTimer100ms {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &raw const gTimer100ms {
[INFO] [stdout]     |                                         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:305:38
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &gTimer1s {
[INFO] [stdout]     |                                      ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &raw const gTimer1s {
[INFO] [stdout]     |                                      ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/os_timer.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &raw mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if gOsTimerAlloc.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if gOsTimerMap.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:284:30
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:302:30
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:331:30
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:343:36
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &mut gSocketPool} {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &raw mut gSocketPool} {
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&mut gSocketPool} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&raw mut gSocketPool} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:178:2
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let _ = fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:179:2
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fp2.flush();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = fp2.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 |     if gLogServer.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:436:28
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:451:28
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:463:28
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:504:30
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&mut gLogServer} {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&raw mut gLogServer} {
[INFO] [stdout]     |                                 ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/mod.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&raw mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/oam_main.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |         if gOamInst.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &raw mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &raw mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 12.60s
[INFO] running `Command { std: "docker" "inspect" "ddfa9a25d14b400f5c7408be2ba7f00b4402841d892458aaf9e6fa7ddbbe6017", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddfa9a25d14b400f5c7408be2ba7f00b4402841d892458aaf9e6fa7ddbbe6017", kill_on_drop: false }`
[INFO] [stdout] ddfa9a25d14b400f5c7408be2ba7f00b4402841d892458aaf9e6fa7ddbbe6017
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c549c9fc8ca4819631f80cc77f88a612faaf9b23366ed443ee1ce3c9d246bb25
[INFO] running `Command { std: "docker" "start" "-a" "c549c9fc8ca4819631f80cc77f88a612faaf9b23366ed443ee1ce3c9d246bb25", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling serde_derive v1.0.139
[INFO] [stderr]    Compiling serde v1.0.139
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling cpufeatures v0.2.2
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]    Compiling ryu v1.0.10
[INFO] [stderr]    Compiling chunked_transfer v1.4.0
[INFO] [stderr]    Compiling ascii v1.0.0
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling libdeflate-sys v0.10.0
[INFO] [stderr]    Compiling rust-rsm v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr] warning: rust-rsm@0.3.2: src/net_ext/os_linux.c: In function 'c_create_timer':
[INFO] [stderr] warning: rust-rsm@0.3.2: src/net_ext/os_linux.c:175:31: warning: assignment to 'void (*)(__sigval_t)' {aka 'void (*)(union sigval)'} from incompatible pointer type 'timer_callback' {aka 'int (*)(sigval_t)'} [-Wincompatible-pointer-types]
[INFO] [stderr] warning: rust-rsm@0.3.2:   175 |     sev.sigev_notify_function = call_back;
[INFO] [stderr] warning: rust-rsm@0.3.2:       |                               ^
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.21
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling block-buffer v0.10.2
[INFO] [stderr]    Compiling cipher v0.4.3
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling sha2 v0.10.2
[INFO] [stderr]    Compiling aes v0.8.1
[INFO] [stderr]    Compiling sm4 v0.5.1
[INFO] [stderr]    Compiling libdeflater v0.10.0
[INFO] [stderr]    Compiling time v0.3.11
[INFO] [stderr]    Compiling tiny_http v0.11.0
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/common/ringbuf.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{cmp,alloc,mem,ptr};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]  --> src/rsm/os_timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rsm/os_timer.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::common::{self,tsidallocator::TsIdAllocator,tsmap::TsHashMap};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]   --> src/rsm/socket/poll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/rsm/xlog/xlog_server.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{self,Read,Write};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc`
[INFO] [stdout]  --> src/net_ext/rawpacket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/net_ext/netinterface.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/net_ext/netinterface.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/net_ext/unix/rawsocket.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{UdpSocket,SocketAddr,SocketAddrV6,SocketAddrV4};
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Aes256`
[INFO] [stdout]  --> src/alg/crypto.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use aes::{self,Aes128,Aes256, Block};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/common/ringbuf.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{cmp,alloc,mem,ptr};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]  --> src/rsm/os_timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rsm/os_timer.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::common::{self,tsidallocator::TsIdAllocator,tsmap::TsHashMap};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]   --> src/rsm/socket/poll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/rsm/xlog/xlog_server.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{self,Read,Write};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc`
[INFO] [stdout]  --> src/net_ext/rawpacket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/net_ext/netinterface.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/net_ext/netinterface.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/net_ext/unix/rawsocket.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{UdpSocket,SocketAddr,SocketAddrV6,SocketAddrV4};
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Aes256`
[INFO] [stdout]  --> src/alg/crypto.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use aes::{self,Aes128,Aes256, Block};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ----------------------------------- matches some of the same values
[INFO] [stdout] 250 |         E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50),
[INFO] [stdout]     |         -------------------------------------- matches some of the same values
[INFO] [stdout] 251 |         E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80),
[INFO] [stdout]     |         ------------------------------------ matches some of the same values
[INFO] [stdout] 252 |         E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10),
[INFO] [stdout]     |         ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/os_timer.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut its = libc::itimerspec  {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let mut client = match self.RegisterLogModule(&msg.ModuleName, sender) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msgStru`
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net_ext/netinterface.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |         if let Some(mut if_info) = ifmap.get_mut(&ifname) {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/alg/spf.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let mut c=0u32;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alt` is never read
[INFO] [stdout]    --> src/alg/spf.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let mut alt=0u32;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]   --> src/alg/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut m:HashSet<T>=HashSet::with_capacity(v1.len()<<1);
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_addr` is never read
[INFO] [stdout]   --> src/net_ext/restserver.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct RestServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 31 |     local_addr: net::SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/common/errcode.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&ErrorNameMap} {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if ErrorNameMap.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&ErrorNameMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]     |                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 |     if gRsmConfig.is_some() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&gRsmConfig} {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&raw const gRsmConfig} {
[INFO] [stdout]     |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&mut gTaskList {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&raw mut gTaskList {
[INFO] [stdout]    |                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &mut gTaskRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &raw mut gTaskRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &mut gComponentRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &raw mut gComponentRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&gTaskList} {
[INFO] [stdout]    |                            ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&raw const gTaskList} {
[INFO] [stdout]    |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ts.push((t,task.clone()));
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `task_t` does not implement `Clone`, so calling `clone` on `&task_t` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 105 -             ts.push((t,task.clone()));
[INFO] [stdout] 105 +             ts.push((t,task));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `task_t`, implement `Clone` for it
[INFO] [stdout]    --> src/rsm/task.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub(crate) struct task_t{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { & mut gTaskIdMap} {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { &raw mut gTaskIdMap} {
[INFO] [stdout]     |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&mut gTaskIdMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&raw mut gTaskIdMap} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:186:30
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:199:30
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {& gComponentRegistry} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {&raw const gComponentRegistry} {
[INFO] [stdout]     |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |         if gTimerIdAlloc.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {(&mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {&raw mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {(&mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {&raw mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {(&mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {&raw mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {&raw mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:76:42
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {&raw mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {&raw mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:244:31
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &mut gTimer10ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &raw mut gTimer10ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &mut gTimer100ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &raw mut gTimer100ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &mut gTimer1s} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &raw mut gTimer1s} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &gTimerIdAlloc {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &raw const gTimerIdAlloc {
[INFO] [stdout]     |                              ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:296:40
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &gTimer10ms {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &raw const gTimer10ms {
[INFO] [stdout]     |                                        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:301:41
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &gTimer100ms {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &raw const gTimer100ms {
[INFO] [stdout]     |                                         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:305:38
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &gTimer1s {
[INFO] [stdout]     |                                      ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &raw const gTimer1s {
[INFO] [stdout]     |                                      ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/os_timer.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &raw mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if gOsTimerAlloc.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if gOsTimerMap.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:284:30
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:302:30
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:331:30
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:343:36
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &mut gSocketPool} {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &raw mut gSocketPool} {
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&mut gSocketPool} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&raw mut gSocketPool} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:178:2
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let _ = fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:179:2
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fp2.flush();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = fp2.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 |     if gLogServer.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:436:28
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:451:28
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:463:28
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:504:30
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&mut gLogServer} {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&raw mut gLogServer} {
[INFO] [stdout]     |                                 ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/mod.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&raw mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/oam_main.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |         if gOamInst.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &raw mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &raw mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ----------------------------------- matches some of the same values
[INFO] [stdout] 250 |         E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50),
[INFO] [stdout]     |         -------------------------------------- matches some of the same values
[INFO] [stdout] 251 |         E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80),
[INFO] [stdout]     |         ------------------------------------ matches some of the same values
[INFO] [stdout] 252 |         E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10),
[INFO] [stdout]     |         ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/os_timer.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut its = libc::itimerspec  {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lis`
[INFO] [stdout]    --> src/rsm/socket/poll.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let lis=match TcpListener::new(&addr1, 1024, SOCKET_LB_POLICY::SOCK_LB_ALL_INSTANCE) {
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_lis`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let mut client = match self.RegisterLogModule(&msg.ModuleName, sender) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msgStru`
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net_ext/netinterface.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |         if let Some(mut if_info) = ifmap.get_mut(&ifname) {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/alg/spf.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let mut c=0u32;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alt` is never read
[INFO] [stdout]    --> src/alg/spf.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let mut alt=0u32;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]   --> src/alg/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut m:HashSet<T>=HashSet::with_capacity(v1.len()<<1);
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_addr` is never read
[INFO] [stdout]   --> src/net_ext/restserver.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct RestServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 31 |     local_addr: net::SocketAddr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/common/errcode.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&ErrorNameMap} {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if ErrorNameMap.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&ErrorNameMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]     |                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 |     if gRsmConfig.is_some() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&gRsmConfig} {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&raw const gRsmConfig} {
[INFO] [stdout]     |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&mut gTaskList {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&raw mut gTaskList {
[INFO] [stdout]    |                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &mut gTaskRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &raw mut gTaskRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &mut gComponentRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &raw mut gComponentRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&gTaskList} {
[INFO] [stdout]    |                            ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&raw const gTaskList} {
[INFO] [stdout]    |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ts.push((t,task.clone()));
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `task_t` does not implement `Clone`, so calling `clone` on `&task_t` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 105 -             ts.push((t,task.clone()));
[INFO] [stdout] 105 +             ts.push((t,task));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `task_t`, implement `Clone` for it
[INFO] [stdout]    --> src/rsm/task.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub(crate) struct task_t{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { & mut gTaskIdMap} {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { &raw mut gTaskIdMap} {
[INFO] [stdout]     |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&mut gTaskIdMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&raw mut gTaskIdMap} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:186:30
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:199:30
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {& gComponentRegistry} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {&raw const gComponentRegistry} {
[INFO] [stdout]     |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |         if gTimerIdAlloc.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {(&mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {&raw mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {(&mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {&raw mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {(&mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {&raw mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {&raw mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:76:42
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {&raw mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {&raw mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:244:31
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &mut gTimer10ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &raw mut gTimer10ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &mut gTimer100ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &raw mut gTimer100ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &mut gTimer1s} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &raw mut gTimer1s} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &gTimerIdAlloc {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &raw const gTimerIdAlloc {
[INFO] [stdout]     |                              ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:296:40
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &gTimer10ms {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &raw const gTimer10ms {
[INFO] [stdout]     |                                        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:301:41
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &gTimer100ms {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &raw const gTimer100ms {
[INFO] [stdout]     |                                         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:305:38
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &gTimer1s {
[INFO] [stdout]     |                                      ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &raw const gTimer1s {
[INFO] [stdout]     |                                      ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/os_timer.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &raw mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if gOsTimerAlloc.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if gOsTimerMap.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:284:30
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:302:30
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:331:30
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:343:36
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &mut gSocketPool} {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &raw mut gSocketPool} {
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&mut gSocketPool} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&raw mut gSocketPool} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:178:2
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let _ = fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:179:2
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fp2.flush();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = fp2.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 |     if gLogServer.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:436:28
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:451:28
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:463:28
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:504:30
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&mut gLogServer} {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&raw mut gLogServer} {
[INFO] [stdout]     |                                 ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/mod.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&raw mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/oam_main.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |         if gOamInst.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &raw mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &raw mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/main.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::io::{Error};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/common/ringbuf.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{cmp,alloc,mem,ptr};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]  --> src/rsm/os_timer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ffi::c_void;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rsm/os_timer.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::common::{self,tsidallocator::TsIdAllocator,tsmap::TsHashMap};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ffi::c_void`
[INFO] [stdout]   --> src/rsm/socket/poll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use core::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/rsm/xlog/xlog_server.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{self,Read,Write};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Aes256`
[INFO] [stdout]  --> src/alg/crypto.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use aes::{self,Aes128,Aes256, Block};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc`
[INFO] [stdout]  --> src/net_ext/rawpacket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/net_ext/netinterface.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]   --> src/net_ext/netinterface.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> src/net_ext/unix/rawsocket.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{UdpSocket,SocketAddr,SocketAddrV6,SocketAddrV4};
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ----------------------------------- matches some of the same values
[INFO] [stdout] 250 |         E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50),
[INFO] [stdout]     |         -------------------------------------- matches some of the same values
[INFO] [stdout] 251 |         E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80),
[INFO] [stdout]     |         ------------------------------------ matches some of the same values
[INFO] [stdout] 252 |         E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10),
[INFO] [stdout]     |         ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 255 |         _=>(libc::SCHED_OTHER,0),
[INFO] [stdout]     |         ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/os_timer.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut its = libc::itimerspec  {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lis`
[INFO] [stdout]    --> src/rsm/socket/poll.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let lis=match TcpListener::new(&addr1, 1024, SOCKET_LB_POLICY::SOCK_LB_ALL_INSTANCE) {
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_lis`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:233:8
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let mut client = match self.RegisterLogModule(&msg.ModuleName, sender) {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msgStru`
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:326:37
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/alg/spf.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let mut c=0u32;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `alt` is never read
[INFO] [stdout]    --> src/alg/spf.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let mut alt=0u32;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]   --> src/alg/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut m:HashSet<T>=HashSet::with_capacity(v1.len()<<1);
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net_ext/netinterface.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |         if let Some(mut if_info) = ifmap.get_mut(&ifname) {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]   --> src/main.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn on_socket_event(&mut self,cid:&rsm::rsm_component_t,event:rsm::rsm_socket_event_t) {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/main.rs:55:60
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn on_socket_event(&mut self,cid:&rsm::rsm_component_t,event:rsm::rsm_socket_event_t) {
[INFO] [stdout]    |                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]   --> src/main.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn on_close(&mut self,cid:&rsm::rsm_component_t) {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rsm_conf`
[INFO] [stdout]    --> src/main.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let rsm_conf = match config::load_rsm_cfg(fpath) {
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rsm_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/main.rs:44:63
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let msg= rsm::rsm_message_t::new::<u64>(10015,unsafe {&data}).unwrap();
[INFO] [stdout]    |                                                               ^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let msg= rsm::rsm_message_t::new::<u64>(10015,unsafe {&raw const data}).unwrap();
[INFO] [stdout]    |                                                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/main.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let apps = unsafe {&mut sampleApp};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let apps = unsafe {&raw mut sampleApp};
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/common/errcode.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&ErrorNameMap} {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     match unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]    |                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 |     if ErrorNameMap.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/common/errcode.rs:128:31
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&ErrorNameMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 128 |     if let Some(errm)=unsafe {&raw const ErrorNameMap} {
[INFO] [stdout]     |                               ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 |     if gRsmConfig.is_some() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/mod.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&gRsmConfig} {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let serv_addr = match unsafe {&raw const gRsmConfig} {
[INFO] [stdout]     |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&mut gTaskList {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 46 |         if let Some(tl)=&raw mut gTaskList {
[INFO] [stdout]    |                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &mut gTaskRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let ptMap = match unsafe { &raw mut gTaskRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &mut gComponentRegistry } {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let pcMap = match unsafe { &raw mut gComponentRegistry } {
[INFO] [stdout]    |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let tEntries = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_sched.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&gTaskList} {
[INFO] [stdout]    |                            ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let tl = match unsafe {&raw const gTaskList} {
[INFO] [stdout]    |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |             ts.push((t,task.clone()));
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `task_t` does not implement `Clone`, so calling `clone` on `&task_t` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 105 -             ts.push((t,task.clone()));
[INFO] [stdout] 105 +             ts.push((t,task));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `task_t`, implement `Clone` for it
[INFO] [stdout]    --> src/rsm/task.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout] 24  + #[derive(Clone)]
[INFO] [stdout] 25  | pub(crate) struct task_t{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let gTask = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { & mut gTaskIdMap} {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     if let Some(tm) = unsafe { &raw mut gTaskIdMap} {
[INFO] [stdout]     |                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&mut gTaskIdMap} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 149 |     if let Some(tm) = unsafe {&raw mut gTaskIdMap} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 159 |   let tm = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:186:30
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:199:30
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {& gComponentRegistry} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let cm = match unsafe {&raw const gComponentRegistry} {
[INFO] [stdout]     |                            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_sched.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&mut gTaskRegistry} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let task = match unsafe {&raw mut gTaskRegistry} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |         if gTimerIdAlloc.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {(&mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 66 |         return unsafe {&raw mut gTimer10ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {(&mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         return unsafe {&raw mut gTimer100ms).as_mut()}
[INFO] [stdout]    |                        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {(&mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 70 |     return unsafe {&raw mut gTimer1s).as_mut()}
[INFO] [stdout]    |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |         TIMER_CAT_10MS=> return unsafe {&raw mut gTimer10ms).as_mut()},
[INFO] [stdout]    |                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:76:42
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 76 |         TIMER_CAT_100MS=> return unsafe {&raw mut gTimer100ms).as_mut()},
[INFO] [stdout]    |                                          ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/rsm_timer.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |         TIMER_CAT_1S=> return unsafe {&raw mut gTimer1s).as_mut()},
[INFO] [stdout]    |                                       ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let ida = match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 162 |     match unsafe { &raw mut gTimerIdAlloc} {
[INFO] [stdout]     |                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:244:31
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &mut gTimer10ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let tMap = match unsafe { &raw mut gTimer10ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &mut gTimer100ms} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let tMap = match unsafe { &raw mut gTimer100ms} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &mut gTimer1s} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let tMap = match unsafe { &raw mut gTimer1s} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &gTimerIdAlloc {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 291 |         stats.total =  match &raw const gTimerIdAlloc {
[INFO] [stdout]     |                              ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:296:40
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &gTimer10ms {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 296 |         stats.timer_count_10ms = match &raw const gTimer10ms {
[INFO] [stdout]     |                                        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:301:41
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &gTimer100ms {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 301 |         stats.timer_count_100ms = match &raw const gTimer100ms {
[INFO] [stdout]     |                                         ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/rsm_timer.rs:305:38
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &gTimer1s {
[INFO] [stdout]     |                                      ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 305 |         stats.timer_count_1s = match &raw const gTimer1s {
[INFO] [stdout]     |                                      ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/os_timer.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let tid = match unsafe { &raw mut gOsTimerAlloc} {
[INFO] [stdout]    |                                  ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         if gOsTimerAlloc.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if gOsTimerMap.is_none() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/os_timer.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&mut gOsTimerMap} {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let tm = match unsafe {&raw mut gOsTimerMap} {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:284:30
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:302:30
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:331:30
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&mut gSocketPool} {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let pool = match unsafe {&raw mut gSocketPool} {
[INFO] [stdout]     |                              ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:343:36
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &mut gSocketPool} {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let pool_inst = match unsafe { &raw mut gSocketPool} {
[INFO] [stdout]     |                                    ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/socket/socketpool.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&mut gSocketPool} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let pool = match unsafe{&raw mut gSocketPool} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:178:2
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let _ = fp2.write(&vec_buf_out.as_slice()[0..comp_len]);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/rsm/xlog/mod.rs:179:2
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fp2.flush();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = fp2.flush();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 |     if gLogServer.is_none() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:417:28
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:436:28
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 436 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:451:28
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:463:28
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&mut gLogServer} {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 474 |     let service=match unsafe {&raw mut gLogServer} {
[INFO] [stdout]     |                               ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/xlog/xlog_server.rs:504:30
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&mut gLogServer} {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 504 |     let log_serv = match unsafe{&raw mut gLogServer} {
[INFO] [stdout]     |                                 ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/mod.rs:67:29
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let map = match unsafe {&raw mut gMapOpStr2Int} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/rsm/oam/oam_main.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]    |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |         if gOamInst.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/rsm/oam/oam_main.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&mut gOamInst} {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 255 |     let inst =match unsafe {&raw mut gOamInst} {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             match  unsafe { &raw mut GlobalRecvPktBufs } {
[INFO] [stdout]     |                             ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/net_ext/pktbuf.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: 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] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 220 |             match unsafe { &raw mut GlobalSendPktBufs } {
[INFO] [stdout]     |                            ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Linking globals named 'os_timer_callback': symbol multiply defined!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: failed to load bitcode of module "rust_rsm.118ae67fdd1dad30-cgu.4": 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] The following warnings were emitted during compilation:
[INFO] [stderr] 
[INFO] [stderr] warning: rust-rsm@0.3.2: src/net_ext/os_linux.c: In function 'c_create_timer':
[INFO] [stderr] warning: rust-rsm@0.3.2: src/net_ext/os_linux.c:175:31: warning: assignment to 'void (*)(__sigval_t)' {aka 'void (*)(union sigval)'} from incompatible pointer type 'timer_callback' {aka 'int (*)(sigval_t)'} [-Wincompatible-pointer-types]
[INFO] [stderr] warning: rust-rsm@0.3.2:   175 |     sev.sigev_notify_function = call_back;
[INFO] [stderr] warning: rust-rsm@0.3.2:       |                               ^
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `rust-rsm` (bin "rust-rsm" test) due to 1 previous error; 90 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "c549c9fc8ca4819631f80cc77f88a612faaf9b23366ed443ee1ce3c9d246bb25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c549c9fc8ca4819631f80cc77f88a612faaf9b23366ed443ee1ce3c9d246bb25", kill_on_drop: false }`
[INFO] [stdout] c549c9fc8ca4819631f80cc77f88a612faaf9b23366ed443ee1ce3c9d246bb25
