[INFO] fetching crate rust-rsm 0.3.2... [INFO] checking rust-rsm-0.3.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate rust-rsm 0.3.2 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate rust-rsm 0.3.2 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "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-3-tc2/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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c244bc212ab769010018fe39e831e2763bb8b3159280a1c308b125314a07d563 [INFO] running `Command { std: "docker" "start" "-a" "c244bc212ab769010018fe39e831e2763bb8b3159280a1c308b125314a07d563", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c244bc212ab769010018fe39e831e2763bb8b3159280a1c308b125314a07d563", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c244bc212ab769010018fe39e831e2763bb8b3159280a1c308b125314a07d563", kill_on_drop: false }` [INFO] [stdout] c244bc212ab769010018fe39e831e2763bb8b3159280a1c308b125314a07d563 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 024a6a2d7a71908006cf4254b9f82af138932323e14e37f71c3f82d978380a22 [INFO] running `Command { std: "docker" "start" "-a" "024a6a2d7a71908006cf4254b9f82af138932323e14e37f71c3f82d978380a22", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling generic-array v0.14.5 [INFO] [stderr] Compiling proc-macro2 v1.0.40 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling serde_derive v1.0.139 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Compiling serde v1.0.139 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking matches v0.1.9 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling libdeflate-sys v0.10.0 [INFO] [stderr] Checking itoa v1.0.2 [INFO] [stderr] Checking unicode-bidi v0.3.8 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking cpufeatures v0.2.2 [INFO] [stderr] Checking num_threads v0.1.6 [INFO] [stderr] Compiling time-macros v0.2.4 [INFO] [stderr] Compiling serde_json v1.0.82 [INFO] [stderr] Compiling rust-rsm v0.3.2 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Compiling quote v1.0.20 [INFO] [stderr] Checking ryu v1.0.10 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking ascii v1.0.0 [INFO] [stderr] Checking unicode-normalization v0.1.21 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking chunked_transfer v1.4.0 [INFO] [stderr] Checking mio v0.8.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [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] Checking cc v1.0.73 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking block-buffer v0.10.2 [INFO] [stderr] Checking cipher v0.4.3 [INFO] [stderr] Checking digest v0.10.3 [INFO] [stderr] Checking sha2 v0.10.2 [INFO] [stderr] Checking aes v0.8.1 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking sm4 v0.5.1 [INFO] [stderr] Checking libdeflater v0.10.0 [INFO] [stderr] Checking time v0.3.11 [INFO] [stderr] Checking tiny_http v0.11.0 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rust_rsm` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/alg/mod.rs [INFO] [stderr] * src/alg/spf.rs [INFO] [stderr] * src/common/errcode.rs [INFO] [stderr] * src/net_ext/pktbuf.rs [INFO] [stderr] * src/rsm/mod.rs [INFO] [stderr] * src/rsm/oam/mod.rs [INFO] [stderr] * src/rsm/oam/oam_main.rs [INFO] [stderr] * src/rsm/os_timer.rs [INFO] [stderr] * src/rsm/rsm_sched.rs [INFO] [stderr] * src/rsm/rsm_timer.rs [INFO] [stderr] * src/rsm/socket/poll.rs [INFO] [stderr] * src/rsm/socket/socketpool.rs [INFO] [stderr] * src/rsm/xlog/xlog_server.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:74:19 [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:128:31 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=&mut gTaskList { [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:52:32 [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { &mut gTaskRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { &mut gComponentRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:92:34 [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:96:28 [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {&gTaskList} { [INFO] [stderr] | ^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:125:31 [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { & mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {&mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:159:26 [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:199:30 [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:211:28 [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {& gComponentRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:221:30 [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {(&mut gTimer10ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:68:24 [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {(&mut gTimer100ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {(&mut gTimer1s).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:75:41 [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:77:39 [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:244:31 [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { &mut gTimer10ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:252:31 [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { &mut gTimer100ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { &mut gTimer1s} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:291:30 [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match &gTimerIdAlloc { [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:296:40 [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match &gTimer10ms { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:301:41 [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match &gTimer100ms { [INFO] [stderr] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:305:38 [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match &gTimer1s { [INFO] [stderr] | ^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { &mut gOsTimerAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:128:28 [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:135:28 [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:284:30 [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:293:30 [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:302:30 [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:331:30 [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:343:36 [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { &mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:428:29 [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:417:28 [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:436:28 [INFO] [stderr] | [INFO] [stderr] 436 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:451:28 [INFO] [stderr] | [INFO] [stderr] 451 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:463:28 [INFO] [stderr] | [INFO] [stderr] 463 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:474:28 [INFO] [stderr] | [INFO] [stderr] 474 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:504:30 [INFO] [stderr] | [INFO] [stderr] 504 | let log_serv = match unsafe{&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:197:29 [INFO] [stderr] | [INFO] [stderr] 197 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:208:29 [INFO] [stderr] | [INFO] [stderr] 208 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:255:29 [INFO] [stderr] | [INFO] [stderr] 255 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/mod.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | let map = match unsafe {&mut gMapOpStr2Int} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/mod.rs:411:35 [INFO] [stderr] | [INFO] [stderr] 411 | let serv_addr = match unsafe {&gRsmConfig} { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/net_ext/pktbuf.rs:214:29 [INFO] [stderr] | [INFO] [stderr] 214 | match unsafe { &mut GlobalRecvPktBufs } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/net_ext/pktbuf.rs:220:28 [INFO] [stderr] | [INFO] [stderr] 220 | match unsafe { &mut GlobalSendPktBufs } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 249 | E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0), [INFO] [stderr] | ----------------------------------- matches some of the same values [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:43:3 [INFO] [stdout] | [INFO] [stdout] 43 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 43 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 250 | E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50), [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] [stderr] | -------------------------------------- matches some of the same values [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] [stderr] 251 | E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80), [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] [stderr] | ------------------------------------ matches some of the same values [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 147 | | fn c_create_timer(ptr_data:*mut u8,call_back:os_callback_fn,timer_id:*mut libc::timer_t)->i32; [INFO] [stdout] 148 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 252 | E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10), [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] [stderr] | ---------------------------------------- matches some of the same values [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr_2021,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] ... [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr_2021,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr_2021) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^ ...and 2 other patterns collectively make this unreachable [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] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [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] [stderr] [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] [stderr] warning: unused variable: `lis` [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] [stderr] --> src/rsm/socket/poll.rs:342:13 [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/netinterface.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 303 | | pub fn c_get_if_mac(name:*const u8, mac:*mut u8)->i32; [INFO] [stdout] 304 | | pub fn c_set_if_mac(name:*const u8, mac:*const u8)->i32; [INFO] [stdout] 305 | | pub fn c_get_if_mtu(name:*const u8, mtu:*mut i32)->i32; [INFO] [stdout] 306 | | pub fn c_set_if_ip(name:*const u8, ip:*const sockaddr_t,mask:*const sockaddr_t)->i32; [INFO] [stdout] 307 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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] [stderr] 342 | let lis=match TcpListener::new(&addr1, 1024, SOCKET_LB_POLICY::SOCK_LB_ALL_INSTANCE) { [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/mod.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 282 | | pub fn tuntap_setup(fd: c_int, name: *mut u8, mode: c_int, packet_info: c_int) -> c_int; [INFO] [stdout] 283 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_lis` [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] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused variable: `msgStru` [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:326:37 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 326 | fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru` [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: value assigned to `c` is never read [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/alg/spf.rs:357:10 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 357 | let mut c=0u32; [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^ [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: maybe it is overwritten before being read? [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: value assigned to `alt` is never read [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/alg/spf.rs:358:13 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 358 | let mut alt=0u32; [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^ [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: maybe it is overwritten before being read? [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: value assigned to `m` is never read [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/alg/mod.rs:95:17 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 95 | let mut m:HashSet=HashSet::with_capacity(v1.len()<<1); [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^ [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 129 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: maybe it is overwritten before being read? [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 136 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 3 previous errors; 59 warnings emitted [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [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: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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 417 | let service=match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 436 | let service=match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 451 | let service=match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 463 | let service=match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 474 | let service=match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 504 | let log_serv = match unsafe{addr_of_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/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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 62 | let inst =match unsafe {addr_of_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: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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 197 | let inst =match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 208 | let inst =match unsafe {addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 255 | let inst =match unsafe {addr_of_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/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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | match unsafe { addr_of_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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 220 | match unsafe { addr_of_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[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let tid = *(tev.sival_ptr as *const i32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe extern "C" fn os_timer_callback(ev:libc::sigval) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:153:22 [INFO] [stdout] | [INFO] [stdout] 153 | let mut timer_id=mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | unsafe fn set_os_timer(dur_msec:u64,data_ptr:*mut u8,call_back:os_callback_fn)->Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `rsm::os_timer::c_create_timer` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | let res = c_create_timer(data_ptr, call_back,&mut timer_id as *mut libc::timer_t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `libc::timer_settime` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | let res = libc::timer_settime(timer_id,0,&its as *const libc::itimerspec,std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | / pub unsafe fn to_socket_addr( [INFO] [stdout] 61 | | sock_addr: *const sockaddr_t, [INFO] [stdout] 62 | | ) -> io::Result { [INFO] [stdout] | |___________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | let addr: &libc::sockaddr_in = &*(sock_addr as *const libc::sockaddr_in); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | let addr: &libc::sockaddr_in6 = &*(sock_addr as *const libc::sockaddr_in6); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [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=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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 60 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 61 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 69 | res [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | self.stats.drop_msg+=1; [INFO] [stdout] 72 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 78 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 79 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 87 | res [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | self.stats.drop_prio_msg+=1; [INFO] [stdout] 90 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Some(q) = &self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 99 ~ match &self.recv_q { Some(q) => { [INFO] [stdout] 100 | q.len() [INFO] [stdout] 101 ~ } _ => { [INFO] [stdout] 102 | 0 [INFO] [stdout] 103 ~ }} [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: 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some(ref c) = self.socket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 ~ match self.socket { Some(ref c) => { [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] ... [INFO] [stdout] 123 | } [INFO] [stdout] 124 ~ } _ => { [INFO] [stdout] 125 | println!( [INFO] [stdout] ... [INFO] [stdout] 129 | return errcode::ERROR_BIND_SOCKET; [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match c.send_to(json_str.as_bytes(), self.server_addr) { Ok(len) => { [INFO] [stdout] 118 | self.sentbytes += len as u64; [INFO] [stdout] 119 | self.sentPackets += 1; [INFO] [stdout] 120 | return errcode::RESULT_SUCCESS; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | return errcode::ERROR_SEND_MSG; [INFO] [stdout] 123 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | if let Ok(mut syslog)=syslog::sys_log_client_t::new(&conf.self_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 46 ~ match syslog::sys_log_client_t::new(&conf.self_addr) { Ok(mut syslog) => { [INFO] [stdout] 47 | syslog.set_server_addr(&syslog_addr); [INFO] [stdout] 48 | service.sys_client=Some(syslog); [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 101 | module.persistent_log_level = newLevel; [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 111 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:119:6 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 119 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 120 | module.console_log_level = newLevel; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 130 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:292:6 [INFO] [stdout] | [INFO] [stdout] 292 | if let Some(ref mut f) = &mut self.curLogFile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:295:3 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 ~ match &mut self.curLogFile { Some(ref mut f) => { [INFO] [stdout] 293 | let _ = f.write(buf); [INFO] [stdout] 294 | return errcode::RESULT_SUCCESS [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | return errcode::ERROR_OPEN_FILE; [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:328:6 [INFO] [stdout] | [INFO] [stdout] 328 | if let Some(syslog)=&mut self.sys_client { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:330:3 [INFO] [stdout] | [INFO] [stdout] 330 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match &mut self.sys_client { Some(syslog) => { [INFO] [stdout] 329 | syslog.send_encoded_msg(formated_msg); [INFO] [stdout] 330 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if let Ok(resp)=serde_json::to_string_pretty::(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match serde_json::to_string_pretty::(&ret) { Ok(resp) => { [INFO] [stdout] 121 | self.sent_ok_resp+=1; [INFO] [stdout] 122 | return Ok((resp,restserver::E_CONTENT_TYPE::e_application_json)) [INFO] [stdout] 123 ~ } _ => { [INFO] [stdout] 124 | self.sent_err_resp+=1; [INFO] [stdout] 125 | Err(errcode::ERROR_COMMON) [INFO] [stdout] 126 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:215:16 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 216 | return Some(&res) [INFO] [stdout] 217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 232 | if res.valid_index.len()>0 { [INFO] [stdout] ... [INFO] [stdout] 237 | [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 104 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rust_rsm` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/alg/mod.rs [INFO] [stderr] * src/alg/spf.rs [INFO] [stderr] * src/common/errcode.rs [INFO] [stderr] * src/net_ext/pktbuf.rs [INFO] [stderr] * src/rsm/mod.rs [INFO] [stderr] * src/rsm/oam/mod.rs [INFO] [stderr] * src/rsm/oam/oam_main.rs [INFO] [stderr] * src/rsm/os_timer.rs [INFO] [stderr] * src/rsm/rsm_sched.rs [INFO] [stderr] * src/rsm/rsm_timer.rs [INFO] [stderr] * src/rsm/socket/socketpool.rs [INFO] [stderr] * src/rsm/xlog/xlog_server.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:74:19 [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:128:31 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=&mut gTaskList { [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:52:32 [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { &mut gTaskRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { &mut gComponentRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:92:34 [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:96:28 [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {&gTaskList} { [INFO] [stderr] | ^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:125:31 [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { & mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {&mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:159:26 [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:199:30 [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:211:28 [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {& gComponentRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:221:30 [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {(&mut gTimer10ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:68:24 [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {(&mut gTimer100ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {(&mut gTimer1s).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:75:41 [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:77:39 [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:244:31 [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { &mut gTimer10ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:252:31 [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { &mut gTimer100ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { &mut gTimer1s} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:291:30 [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match &gTimerIdAlloc { [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:296:40 [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match &gTimer10ms { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:301:41 [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match &gTimer100ms { [INFO] [stderr] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:305:38 [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match &gTimer1s { [INFO] [stderr] | ^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { &mut gOsTimerAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:128:28 [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:135:28 [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:284:30 [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:293:30 [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:302:30 [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:331:30 [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:343:36 [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { &mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:428:29 [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:417:28 [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:43:3 [INFO] [stdout] | [INFO] [stdout] 43 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 43 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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] [stderr] | [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] [stderr] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [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] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 147 | | fn c_create_timer(ptr_data:*mut u8,call_back:os_callback_fn,timer_id:*mut libc::timer_t)->i32; [INFO] [stdout] 148 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr_2021,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:436:28 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr_2021,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr_2021) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 436 | let service=match unsafe {&mut gLogServer} { [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] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [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] [stderr] | [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] [stderr] = note: for more information, see issue #114447 [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] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/netinterface.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 303 | | pub fn c_get_if_mac(name:*const u8, mac:*mut u8)->i32; [INFO] [stdout] 304 | | pub fn c_set_if_mac(name:*const u8, mac:*const u8)->i32; [INFO] [stdout] 305 | | pub fn c_get_if_mtu(name:*const u8, mtu:*mut i32)->i32; [INFO] [stdout] 306 | | pub fn c_set_if_ip(name:*const u8, ip:*const sockaddr_t,mask:*const sockaddr_t)->i32; [INFO] [stdout] 307 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/mod.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 282 | | pub fn tuntap_setup(fd: c_int, name: *mut u8, mode: c_int, packet_info: c_int) -> c_int; [INFO] [stdout] 283 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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] [stderr] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:451:28 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 451 | let service=match unsafe {&mut gLogServer} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:463:28 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 463 | let service=match unsafe {&mut gLogServer} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 129 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:474:28 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 136 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 474 | let service=match unsafe {&mut gLogServer} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:504:30 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 504 | let log_serv = match unsafe{&mut gLogServer} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let tid = *(tev.sival_ptr as *const i32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe extern "C" fn os_timer_callback(ev:libc::sigval) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:153:22 [INFO] [stdout] | [INFO] [stdout] 153 | let mut timer_id=mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | unsafe fn set_os_timer(dur_msec:u64,data_ptr:*mut u8,call_back:os_callback_fn)->Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stdout] warning[E0133]: call to unsafe function `rsm::os_timer::c_create_timer` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | let res = c_create_timer(data_ptr, call_back,&mut timer_id as *mut libc::timer_t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stdout] warning[E0133]: call to unsafe function `libc::timer_settime` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | let res = libc::timer_settime(timer_id,0,&its as *const libc::itimerspec,std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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] [stderr] warning: creating a mutable reference to mutable static is discouraged [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] [stderr] --> src/rsm/oam/oam_main.rs:62:29 [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] [stderr] | [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] [stderr] 62 | let inst =match unsafe {&mut gOamInst} { [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | / pub unsafe fn to_socket_addr( [INFO] [stdout] 61 | | sock_addr: *const sockaddr_t, [INFO] [stdout] 62 | | ) -> io::Result { [INFO] [stdout] | |___________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | let addr: &libc::sockaddr_in = &*(sock_addr as *const libc::sockaddr_in); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | let addr: &libc::sockaddr_in6 = &*(sock_addr as *const libc::sockaddr_in6); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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=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] [stderr] | [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] [stderr] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 60 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 61 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 69 | res [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | self.stats.drop_msg+=1; [INFO] [stdout] 72 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 78 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 79 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 87 | res [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | self.stats.drop_prio_msg+=1; [INFO] [stdout] 90 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Some(q) = &self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 99 ~ match &self.recv_q { Some(q) => { [INFO] [stdout] 100 | q.len() [INFO] [stdout] 101 ~ } _ => { [INFO] [stdout] 102 | 0 [INFO] [stdout] 103 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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] [stderr] --> src/rsm/oam/oam_main.rs:197:29 [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] [stderr] | [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] [stderr] 197 | let inst =match unsafe {&mut gOamInst} { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some(ref c) = self.socket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 ~ match self.socket { Some(ref c) => { [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] ... [INFO] [stdout] 123 | } [INFO] [stdout] 124 ~ } _ => { [INFO] [stdout] 125 | println!( [INFO] [stdout] ... [INFO] [stdout] 129 | return errcode::ERROR_BIND_SOCKET; [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match c.send_to(json_str.as_bytes(), self.server_addr) { Ok(len) => { [INFO] [stdout] 118 | self.sentbytes += len as u64; [INFO] [stdout] 119 | self.sentPackets += 1; [INFO] [stdout] 120 | return errcode::RESULT_SUCCESS; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | return errcode::ERROR_SEND_MSG; [INFO] [stdout] 123 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | if let Ok(mut syslog)=syslog::sys_log_client_t::new(&conf.self_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 46 ~ match syslog::sys_log_client_t::new(&conf.self_addr) { Ok(mut syslog) => { [INFO] [stdout] 47 | syslog.set_server_addr(&syslog_addr); [INFO] [stdout] 48 | service.sys_client=Some(syslog); [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 101 | module.persistent_log_level = newLevel; [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 111 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:119:6 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 119 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 120 | module.console_log_level = newLevel; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 130 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:292:6 [INFO] [stdout] | [INFO] [stdout] 292 | if let Some(ref mut f) = &mut self.curLogFile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:295:3 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 ~ match &mut self.curLogFile { Some(ref mut f) => { [INFO] [stdout] 293 | let _ = f.write(buf); [INFO] [stdout] 294 | return errcode::RESULT_SUCCESS [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | return errcode::ERROR_OPEN_FILE; [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:328:6 [INFO] [stdout] | [INFO] [stdout] 328 | if let Some(syslog)=&mut self.sys_client { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:330:3 [INFO] [stdout] | [INFO] [stdout] 330 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match &mut self.sys_client { Some(syslog) => { [INFO] [stdout] 329 | syslog.send_encoded_msg(formated_msg); [INFO] [stdout] 330 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:208:29 [INFO] [stderr] | [INFO] [stderr] 208 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if let Ok(resp)=serde_json::to_string_pretty::(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match serde_json::to_string_pretty::(&ret) { Ok(resp) => { [INFO] [stdout] 121 | self.sent_ok_resp+=1; [INFO] [stdout] 122 | return Ok((resp,restserver::E_CONTENT_TYPE::e_application_json)) [INFO] [stdout] 123 ~ } _ => { [INFO] [stdout] 124 | self.sent_err_resp+=1; [INFO] [stdout] 125 | Err(errcode::ERROR_COMMON) [INFO] [stdout] 126 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:255:29 [INFO] [stderr] | [INFO] [stderr] 255 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:215:16 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 216 | return Some(&res) [INFO] [stdout] 217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/mod.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | let map = match unsafe {&mut gMapOpStr2Int} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/mod.rs:411:35 [INFO] [stderr] | [INFO] [stderr] 411 | let serv_addr = match unsafe {&gRsmConfig} { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/net_ext/pktbuf.rs:214:29 [INFO] [stderr] | [INFO] [stderr] 214 | match unsafe { &mut GlobalRecvPktBufs } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 232 | if res.valid_index.len()>0 { [INFO] [stdout] ... [INFO] [stdout] 237 | [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: 103 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/net_ext/pktbuf.rs:220:28 [INFO] [stderr] | [INFO] [stderr] 220 | match unsafe { &mut GlobalSendPktBufs } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 249 | E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0), [INFO] [stderr] | ----------------------------------- matches some of the same values [INFO] [stderr] 250 | E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50), [INFO] [stderr] | -------------------------------------- matches some of the same values [INFO] [stderr] 251 | E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80), [INFO] [stderr] | ------------------------------------ matches some of the same values [INFO] [stderr] 252 | E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10), [INFO] [stderr] | ---------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [INFO] [stderr] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msgStru` [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:326:37 [INFO] [stderr] | [INFO] [stderr] 326 | fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `c` is never read [INFO] [stderr] --> src/alg/spf.rs:357:10 [INFO] [stderr] | [INFO] [stderr] 357 | let mut c=0u32; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `alt` is never read [INFO] [stderr] --> src/alg/spf.rs:358:13 [INFO] [stderr] | [INFO] [stderr] 358 | let mut alt=0u32; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `m` is never read [INFO] [stderr] --> src/alg/mod.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | let mut m:HashSet=HashSet::with_capacity(v1.len()<<1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors; 58 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rust_rsm` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/alg/mod.rs [INFO] [stderr] * src/alg/spf.rs [INFO] [stderr] * src/common/errcode.rs [INFO] [stderr] * src/main.rs [INFO] [stderr] * src/net_ext/pktbuf.rs [INFO] [stderr] * src/rsm/mod.rs [INFO] [stderr] * src/rsm/oam/mod.rs [INFO] [stderr] * src/rsm/oam/oam_main.rs [INFO] [stderr] * src/rsm/os_timer.rs [INFO] [stderr] * src/rsm/rsm_sched.rs [INFO] [stderr] * src/rsm/rsm_timer.rs [INFO] [stderr] * src/rsm/socket/socketpool.rs [INFO] [stderr] * src/rsm/xlog/xlog_server.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:74:19 [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:128:31 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=&mut gTaskList { [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:52:32 [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { &mut gTaskRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { &mut gComponentRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:92:34 [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:96:28 [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {&gTaskList} { [INFO] [stderr] | ^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:125:31 [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { & mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {&mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:159:26 [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:199:30 [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:211:28 [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {& gComponentRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:221:30 [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {(&mut gTimer10ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:68:24 [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {(&mut gTimer100ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {(&mut gTimer1s).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:75:41 [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:77:39 [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:244:31 [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { &mut gTimer10ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:252:31 [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { &mut gTimer100ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { &mut gTimer1s} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:291:30 [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match &gTimerIdAlloc { [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:296:40 [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match &gTimer10ms { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:301:41 [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match &gTimer100ms { [INFO] [stderr] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:305:38 [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match &gTimer1s { [INFO] [stderr] | ^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { &mut gOsTimerAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:128:28 [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:135:28 [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:284:30 [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:293:30 [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:302:30 [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:331:30 [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:343:36 [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { &mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:428:29 [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:417:28 [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:436:28 [INFO] [stderr] | [INFO] [stderr] 436 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:451:28 [INFO] [stderr] | [INFO] [stderr] 451 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:463:28 [INFO] [stderr] | [INFO] [stderr] 463 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:474:28 [INFO] [stderr] | [INFO] [stderr] 474 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:504:30 [INFO] [stderr] | [INFO] [stderr] 504 | let log_serv = match unsafe{&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:197:29 [INFO] [stderr] | [INFO] [stderr] 197 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:208:29 [INFO] [stderr] | [INFO] [stderr] 208 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:255:29 [INFO] [stderr] | [INFO] [stderr] 255 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/mod.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | let map = match unsafe {&mut gMapOpStr2Int} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/mod.rs:411:35 [INFO] [stderr] | [INFO] [stderr] 411 | let serv_addr = match unsafe {&gRsmConfig} { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/net_ext/pktbuf.rs:214:29 [INFO] [stderr] | [INFO] [stderr] 214 | match unsafe { &mut GlobalRecvPktBufs } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/net_ext/pktbuf.rs:220:28 [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:43:3 [INFO] [stdout] | [INFO] [stdout] 43 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 43 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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] [stderr] 220 | match unsafe { &mut GlobalSendPktBufs } { [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] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [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] [stderr] | [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] [stderr] = note: for more information, see issue #114447 [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 147 | | fn c_create_timer(ptr_data:*mut u8,call_back:os_callback_fn,timer_id:*mut libc::timer_t)->i32; [INFO] [stdout] 148 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr_2021,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr_2021,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr_2021) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [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] [stderr] | ~~~~~~~~~~~~~ + [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] [stderr] [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] [stderr] warning: creating a shared reference to mutable static is discouraged [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] [stderr] --> src/main.rs:42:63 [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] [stderr] | [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/netinterface.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 303 | | pub fn c_get_if_mac(name:*const u8, mac:*mut u8)->i32; [INFO] [stdout] 304 | | pub fn c_set_if_mac(name:*const u8, mac:*const u8)->i32; [INFO] [stdout] 305 | | pub fn c_get_if_mtu(name:*const u8, mtu:*mut i32)->i32; [INFO] [stdout] 306 | | pub fn c_set_if_ip(name:*const u8, ip:*const sockaddr_t,mask:*const sockaddr_t)->i32; [INFO] [stdout] 307 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 42 | let msg= rsm::rsm_message_t::new::(10015,unsafe {&data}).unwrap(); [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] [stderr] | ^^^^^ shared reference to mutable static [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/mod.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 282 | | pub fn tuntap_setup(fd: c_int, name: *mut u8, mode: c_int, packet_info: c_int) -> c_int; [INFO] [stdout] 283 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] 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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 42 | let msg= rsm::rsm_message_t::new::(10015,unsafe {addr_of!(data)}).unwrap(); [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/main.rs:77:24 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 77 | let apps = unsafe {&mut sampleApp}; [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 77 | let apps = unsafe {addr_of_mut!(sampleApp)}; [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unreachable pattern [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^ no value can reach this [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] note: multiple earlier patterns match some of the same values [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 129 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 249 | E_RSM_TASK_PRIORITY::THREAD_PRI_LOW=>(libc::SCHED_OTHER,0), [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 136 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ----------------------------------- matches some of the same values [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 250 | E_RSM_TASK_PRIORITY::THREAD_PRI_NORMAL=>(libc::SCHED_OTHER,50), [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | -------------------------------------- matches some of the same values [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 251 | E_RSM_TASK_PRIORITY::THREAD_PRI_HIGH=>(libc::SCHED_OTHER,80), [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ------------------------------------ matches some of the same values [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 252 | E_RSM_TASK_PRIORITY::THREAD_PRI_REALTIME=>(libc::SCHED_RR,10), [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ---------------------------------------- matches some of the same values [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] ... [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^ ...and 2 other patterns collectively make this unreachable [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused variable: `msgStru` [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:326:37 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 326 | fn send_to_syslog_server(&mut self,msgStru:&InnerLogMsg, formated_msg:&String) { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msgStru` [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] warning: value assigned to `c` is never read [INFO] [stderr] --> src/alg/spf.rs:357:10 [INFO] [stderr] | [INFO] [stderr] 357 | let mut c=0u32; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `alt` is never read [INFO] [stderr] --> src/alg/spf.rs:358:13 [INFO] [stderr] | [INFO] [stderr] 358 | let mut alt=0u32; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `m` is never read [INFO] [stderr] --> src/alg/mod.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | let mut m:HashSet=HashSet::with_capacity(v1.len()<<1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cid` [INFO] [stderr] --> src/main.rs:53:34 [INFO] [stderr] | [INFO] [stderr] 53 | fn on_socket_event(&mut self,cid:&rsm::rsm_component_t,event:rsm::rsm_socket_event_t) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `event` [INFO] [stderr] --> src/main.rs:53:60 [INFO] [stderr] | [INFO] [stderr] 53 | fn on_socket_event(&mut self,cid:&rsm::rsm_component_t,event:rsm::rsm_socket_event_t) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cid` [INFO] [stderr] --> src/main.rs:70:27 [INFO] [stderr] | [INFO] [stderr] 70 | fn on_close(&mut self,cid:&rsm::rsm_component_t) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rsm_conf` [INFO] [stderr] --> src/main.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | let rsm_conf = match config::load_rsm_cfg(fpath) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rsm_conf` [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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::(10015,unsafe {&data}).unwrap(); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 44 | let msg= rsm::rsm_message_t::new::(10015,unsafe {addr_of!(data)}).unwrap(); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 3 previous errors; 64 warnings emitted [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 79 | let apps = unsafe {addr_of_mut!(sampleApp)}; [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let tid = *(tev.sival_ptr as *const i32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe extern "C" fn os_timer_callback(ev:libc::sigval) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:153:22 [INFO] [stdout] | [INFO] [stdout] 153 | let mut timer_id=mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | unsafe fn set_os_timer(dur_msec:u64,data_ptr:*mut u8,call_back:os_callback_fn)->Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning[E0133]: call to unsafe function `rsm::os_timer::c_create_timer` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | let res = c_create_timer(data_ptr, call_back,&mut timer_id as *mut libc::timer_t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `libc::timer_settime` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | let res = libc::timer_settime(timer_id,0,&its as *const libc::itimerspec,std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [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=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[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | / pub unsafe fn to_socket_addr( [INFO] [stdout] 61 | | sock_addr: *const sockaddr_t, [INFO] [stdout] 62 | | ) -> io::Result { [INFO] [stdout] | |___________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | let addr: &libc::sockaddr_in = &*(sock_addr as *const libc::sockaddr_in); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | let addr: &libc::sockaddr_in6 = &*(sock_addr as *const libc::sockaddr_in6); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/main.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(log) = &mut self.log { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match &mut self.log { Some(log) => { [INFO] [stdout] 65 | log.Errorf("sampleapp", 0, &format!("self_id={},recv message id={},v={:?}",cid,msg_id,msg)); [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 60 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 61 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 69 | res [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | self.stats.drop_msg+=1; [INFO] [stdout] 72 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 78 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 79 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 87 | res [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | self.stats.drop_prio_msg+=1; [INFO] [stdout] 90 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Some(q) = &self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 99 ~ match &self.recv_q { Some(q) => { [INFO] [stdout] 100 | q.len() [INFO] [stdout] 101 ~ } _ => { [INFO] [stdout] 102 | 0 [INFO] [stdout] 103 ~ }} [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: 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some(ref c) = self.socket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 ~ match self.socket { Some(ref c) => { [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] ... [INFO] [stdout] 123 | } [INFO] [stdout] 124 ~ } _ => { [INFO] [stdout] 125 | println!( [INFO] [stdout] ... [INFO] [stdout] 129 | return errcode::ERROR_BIND_SOCKET; [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match c.send_to(json_str.as_bytes(), self.server_addr) { Ok(len) => { [INFO] [stdout] 118 | self.sentbytes += len as u64; [INFO] [stdout] 119 | self.sentPackets += 1; [INFO] [stdout] 120 | return errcode::RESULT_SUCCESS; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | return errcode::ERROR_SEND_MSG; [INFO] [stdout] 123 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | if let Ok(mut syslog)=syslog::sys_log_client_t::new(&conf.self_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 46 ~ match syslog::sys_log_client_t::new(&conf.self_addr) { Ok(mut syslog) => { [INFO] [stdout] 47 | syslog.set_server_addr(&syslog_addr); [INFO] [stdout] 48 | service.sys_client=Some(syslog); [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 101 | module.persistent_log_level = newLevel; [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 111 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:119:6 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 119 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 120 | module.console_log_level = newLevel; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 130 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:292:6 [INFO] [stdout] | [INFO] [stdout] 292 | if let Some(ref mut f) = &mut self.curLogFile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:295:3 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 ~ match &mut self.curLogFile { Some(ref mut f) => { [INFO] [stdout] 293 | let _ = f.write(buf); [INFO] [stdout] 294 | return errcode::RESULT_SUCCESS [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | return errcode::ERROR_OPEN_FILE; [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:328:6 [INFO] [stdout] | [INFO] [stdout] 328 | if let Some(syslog)=&mut self.sys_client { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:330:3 [INFO] [stdout] | [INFO] [stdout] 330 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match &mut self.sys_client { Some(syslog) => { [INFO] [stdout] 329 | syslog.send_encoded_msg(formated_msg); [INFO] [stdout] 330 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if let Ok(resp)=serde_json::to_string_pretty::(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match serde_json::to_string_pretty::(&ret) { Ok(resp) => { [INFO] [stdout] 121 | self.sent_ok_resp+=1; [INFO] [stdout] 122 | return Ok((resp,restserver::E_CONTENT_TYPE::e_application_json)) [INFO] [stdout] 123 ~ } _ => { [INFO] [stdout] 124 | self.sent_err_resp+=1; [INFO] [stdout] 125 | Err(errcode::ERROR_COMMON) [INFO] [stdout] 126 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:215:16 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 216 | return Some(&res) [INFO] [stdout] 217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 232 | if res.valid_index.len()>0 { [INFO] [stdout] ... [INFO] [stdout] 237 | [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 110 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rust_rsm` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/alg/mod.rs [INFO] [stderr] * src/alg/spf.rs [INFO] [stderr] * src/common/errcode.rs [INFO] [stderr] * src/main.rs [INFO] [stderr] * src/net_ext/pktbuf.rs [INFO] [stderr] * src/rsm/mod.rs [INFO] [stderr] * src/rsm/oam/mod.rs [INFO] [stderr] * src/rsm/oam/oam_main.rs [INFO] [stderr] * src/rsm/os_timer.rs [INFO] [stderr] * src/rsm/rsm_sched.rs [INFO] [stderr] * src/rsm/rsm_timer.rs [INFO] [stderr] * src/rsm/socket/poll.rs [INFO] [stderr] * src/rsm/socket/socketpool.rs [INFO] [stderr] * src/rsm/xlog/xlog_server.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/rsm/socket/socketpool.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | ($e:expr_2021,$ids:expr_2021,$idx:expr_2021) => ({ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:74:19 [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/common/errcode.rs:128:31 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {&ErrorNameMap} { [INFO] [stderr] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=&mut gTaskList { [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:52:32 [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { &mut gTaskRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:70:32 [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { &mut gComponentRegistry } { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:92:34 [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:96:28 [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {&gTaskList} { [INFO] [stderr] | ^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:125:31 [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { & mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {&mut gTaskIdMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:159:26 [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:186:30 [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:199:30 [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:211:28 [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {& gComponentRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_sched.rs:221:30 [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {&mut gTaskRegistry} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {(&mut gTimer10ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:68:24 [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {(&mut gTimer100ms).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {(&mut gTimer1s).as_mut()} [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:75:41 [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {(&mut gTimer10ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {(&mut gTimer100ms).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:77:39 [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {(&mut gTimer1s).as_mut()}, [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:103:30 [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { &mut gTimerIdAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:244:31 [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { &mut gTimer10ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:252:31 [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { &mut gTimer100ms} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { &mut gTimer1s} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:291:30 [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match &gTimerIdAlloc { [INFO] [stderr] | ^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:296:40 [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match &gTimer10ms { [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:301:41 [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match &gTimer100ms { [INFO] [stderr] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/rsm_timer.rs:305:38 [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match &gTimer1s { [INFO] [stderr] | ^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { &mut gOsTimerAlloc} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 73 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:128:28 [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 128 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/os_timer.rs:135:28 [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {&mut gOsTimerMap} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 135 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:284:30 [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:293:30 [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:302:30 [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:331:30 [INFO] [stderr] | [INFO] [stderr] 331 | let pool = match unsafe {&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:43:3 [INFO] [stdout] | [INFO] [stdout] 43 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 43 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [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] [stderr] | ~~~~~~~~~~~~~ + [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] [stderr] [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] [stderr] warning: creating a mutable reference to mutable static is discouraged [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] [stderr] --> src/rsm/socket/socketpool.rs:343:36 [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/rsm/os_timer.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 147 | | fn c_create_timer(ptr_data:*mut u8,call_back:os_callback_fn,timer_id:*mut libc::timer_t)->i32; [INFO] [stdout] 148 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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] [stderr] 343 | let pool_inst = match unsafe { &mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/socket/socketpool.rs:428:29 [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{&mut gSocketPool} { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:417:28 [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:436:28 [INFO] [stderr] | [INFO] [stderr] 436 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:451:28 [INFO] [stderr] | [INFO] [stderr] 451 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:463:28 [INFO] [stderr] | [INFO] [stderr] 463 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:474:28 [INFO] [stderr] | [INFO] [stderr] 474 | let service=match unsafe {&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/xlog/xlog_server.rs:504:30 [INFO] [stderr] | [INFO] [stderr] 504 | let log_serv = match unsafe{&mut gLogServer} { [INFO] [stderr] | ^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/rsm/oam/oam_main.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | let inst =match unsafe {&mut gOamInst} { [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr_2021,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr_2021,$idx:expr) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rsm/socket/socketpool.rs:16:29 [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr) => ({ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($e:expr,$ids:expr,$idx:expr_2021) => ({ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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] [stderr] | [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] [stderr] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [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] [stderr] | ~~~~~~~~~~~~~ + [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] [stderr] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/netinterface.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 303 | | pub fn c_get_if_mac(name:*const u8, mac:*mut u8)->i32; [INFO] [stdout] 304 | | pub fn c_set_if_mac(name:*const u8, mac:*const u8)->i32; [INFO] [stdout] 305 | | pub fn c_get_if_mtu(name:*const u8, mtu:*mut i32)->i32; [INFO] [stdout] 306 | | pub fn c_set_if_ip(name:*const u8, ip:*const sockaddr_t,mask:*const sockaddr_t)->i32; [INFO] [stdout] 307 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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] [stderr] --> src/rsm/oam/oam_main.rs:197:29 [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/net_ext/mod.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 282 | | pub fn tuntap_setup(fd: c_int, name: *mut u8, mode: c_int, packet_info: c_int) -> c_int; [INFO] [stdout] 283 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | match unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 197 | let inst =match unsafe {&mut gOamInst} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(errm)=unsafe {addr_of!(ErrorNameMap)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(tl)=addr_of_mut!(gTaskList) { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 52 | let ptMap = match unsafe { addr_of_mut!(gTaskRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | let pcMap = match unsafe { addr_of_mut!(gComponentRegistry) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 92 | let tEntries = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 96 | let tl = match unsafe {addr_of!(gTaskList)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 125 | let gTask = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 138 | if let Some(tm) = unsafe { addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(tm) = unsafe {addr_of_mut!(gTaskIdMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 159 | let tm = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 186 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 199 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/oam/oam_main.rs:208:29 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 211 | let cm = match unsafe {addr_of!(gComponentRegistry)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 221 | let task = match unsafe {addr_of_mut!(gTaskRegistry)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 208 | let inst =match unsafe {&mut gOamInst} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 66 | return unsafe {addr_of_mut!(gTimer10ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 68 | return unsafe {addr_of_mut!(gTimer100ms)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 70 | return unsafe {addr_of_mut!(gTimer1s)).as_mut()} [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 75 | TIMER_CAT_10MS=> return unsafe {addr_of_mut!(gTimer10ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 76 | TIMER_CAT_100MS=> return unsafe {addr_of_mut!(gTimer100ms)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 77 | TIMER_CAT_1S=> return unsafe {addr_of_mut!(gTimer1s)).as_mut()}, [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 103 | let ida = match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 162 | match unsafe { addr_of_mut!(gTimerIdAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 244 | let tMap = match unsafe { addr_of_mut!(gTimer10ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 252 | let tMap = match unsafe { addr_of_mut!(gTimer100ms)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 260 | let tMap = match unsafe { addr_of_mut!(gTimer1s)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 291 | stats.total = match addr_of!(gTimerIdAlloc) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/oam/oam_main.rs:255:29 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 296 | stats.timer_count_10ms = match addr_of!(gTimer10ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 301 | stats.timer_count_100ms = match addr_of!(gTimer100ms) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 255 | let inst =match unsafe {&mut gOamInst} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 305 | stats.timer_count_1s = match addr_of!(gTimer1s) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 74 | let tid = match unsafe { addr_of_mut!(gOsTimerAlloc)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 129 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 136 | let tm = match unsafe {addr_of_mut!(gOsTimerMap)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 284 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 293 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 302 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 331 | let pool = match unsafe {addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 343 | let pool_inst = match unsafe { addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 428 | let pool = match unsafe{addr_of_mut!(gSocketPool)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 417 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 436 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/oam/mod.rs:67:29 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 451 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 463 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 67 | let map = match unsafe {&mut gMapOpStr2Int} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 474 | let service=match unsafe {addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 504 | let log_serv = match unsafe{addr_of_mut!(gLogServer)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 62 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 197 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 208 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 255 | let inst =match unsafe {addr_of_mut!(gOamInst)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 67 | let map = match unsafe {addr_of_mut!(gMapOpStr2Int)} { [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [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::(10015,unsafe {&data}).unwrap(); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 44 | let msg= rsm::rsm_message_t::new::(10015,unsafe {addr_of!(data)}).unwrap(); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [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 issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 79 | let apps = unsafe {addr_of_mut!(sampleApp)}; [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/rsm/mod.rs:411:35 [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] [stderr] | [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let tid = *(tev.sival_ptr as *const i32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe extern "C" fn os_timer_callback(ev:libc::sigval) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 411 | let serv_addr = match unsafe {&gRsmConfig} { [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:153:22 [INFO] [stdout] | [INFO] [stdout] 153 | let mut timer_id=mem::zeroed::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/rsm/os_timer.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | unsafe fn set_os_timer(dur_msec:u64,data_ptr:*mut u8,call_back:os_callback_fn)->Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] warning[E0133]: call to unsafe function `rsm::os_timer::c_create_timer` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:155:15 [INFO] [stdout] | [INFO] [stdout] 155 | let res = c_create_timer(data_ptr, call_back,&mut timer_id as *mut libc::timer_t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning[E0133]: call to unsafe function `libc::timer_settime` is unsafe and requires unsafe block [INFO] [stdout] --> src/rsm/os_timer.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 173 | let res = libc::timer_settime(timer_id,0,&its as *const libc::itimerspec,std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [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] [stderr] = note: this will be a hard error in the 2024 edition [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] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] 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] [stderr] help: use `addr_of!` instead to create a raw pointer [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] [stderr] | [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] [stderr] 411 | let serv_addr = match unsafe {addr_of!(gRsmConfig)} { [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] [stderr] | ~~~~~~~~~ + [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=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] [stderr] [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] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | / pub unsafe fn to_socket_addr( [INFO] [stdout] 61 | | sock_addr: *const sockaddr_t, [INFO] [stdout] 62 | | ) -> io::Result { [INFO] [stdout] | |___________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/net_ext/pktbuf.rs:214:29 [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | match (*sock_addr).v4.sin_family as libc::c_int { [INFO] [stdout] | ^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | let addr: &libc::sockaddr_in = &*(sock_addr as *const libc::sockaddr_in); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 214 | match unsafe { &mut GlobalRecvPktBufs } { [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/net_ext/unix/rawsocket.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | let addr: &libc::sockaddr_in6 = &*(sock_addr as *const libc::sockaddr_in6); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [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] [stderr] | [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] [stderr] = note: for more information, see issue #114447 [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] [stderr] = note: this will be a hard error in the 2024 edition [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] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/main.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(log) = &mut self.log { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match &mut self.log { Some(log) => { [INFO] [stdout] 65 | log.Errorf("sampleapp", 0, &format!("self_id={},recv message id={},v={:?}",cid,msg_id,msg)); [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 60 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 61 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 69 | res [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | self.stats.drop_msg+=1; [INFO] [stdout] 72 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(q)=&mut self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 78 ~ match &mut self.recv_q { Some(q) => { [INFO] [stdout] 79 | self.sender = Some(msg.sender.clone()); [INFO] [stdout] ... [INFO] [stdout] 87 | res [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | self.stats.drop_prio_msg+=1; [INFO] [stdout] 90 | errcode::ERROR_NOT_INITIALIZED [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 214 | match unsafe { addr_of_mut!(GlobalRecvPktBufs) } { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | if let Some(q) = &self.recv_q { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/task.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 99 ~ match &self.recv_q { Some(q) => { [INFO] [stdout] 100 | q.len() [INFO] [stdout] 101 ~ } _ => { [INFO] [stdout] 102 | 0 [INFO] [stdout] 103 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [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] [stderr] [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] [stderr] warning: creating a mutable reference to mutable static is discouraged [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] [stderr] --> src/net_ext/pktbuf.rs:220:28 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some(ref c) = self.socket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 ~ match self.socket { Some(ref c) => { [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] ... [INFO] [stdout] 123 | } [INFO] [stdout] 124 ~ } _ => { [INFO] [stdout] 125 | println!( [INFO] [stdout] ... [INFO] [stdout] 129 | return errcode::ERROR_BIND_SOCKET; [INFO] [stdout] 130 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | if let Ok(len) = c.send_to(json_str.as_bytes(), self.server_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlogger.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match c.send_to(json_str.as_bytes(), self.server_addr) { Ok(len) => { [INFO] [stdout] 118 | self.sentbytes += len as u64; [INFO] [stdout] 119 | self.sentPackets += 1; [INFO] [stdout] 120 | return errcode::RESULT_SUCCESS; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | return errcode::ERROR_SEND_MSG; [INFO] [stdout] 123 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 220 | match unsafe { &mut GlobalSendPktBufs } { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | if let Ok(mut syslog)=syslog::sys_log_client_t::new(&conf.self_addr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 46 ~ match syslog::sys_log_client_t::new(&conf.self_addr) { Ok(mut syslog) => { [INFO] [stdout] 47 | syslog.set_server_addr(&syslog_addr); [INFO] [stdout] 48 | service.sys_client=Some(syslog); [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:102:3 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 100 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 101 | module.persistent_log_level = newLevel; [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 111 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 112 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:119:6 [INFO] [stdout] | [INFO] [stdout] 119 | if let Some(module) = self.logMuduleControl.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 119 ~ match self.logMuduleControl.get_mut(name) { Some(module) => { [INFO] [stdout] 120 | module.console_log_level = newLevel; [INFO] [stdout] 121 ~ } _ => { [INFO] [stdout] 122 | let module = log_client_t{ [INFO] [stdout] ... [INFO] [stdout] 130 | self.logMuduleControl.insert(name.clone(),module); [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:292:6 [INFO] [stdout] | [INFO] [stdout] 292 | if let Some(ref mut f) = &mut self.curLogFile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:295:3 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 ~ match &mut self.curLogFile { Some(ref mut f) => { [INFO] [stdout] 293 | let _ = f.write(buf); [INFO] [stdout] 294 | return errcode::RESULT_SUCCESS [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | return errcode::ERROR_OPEN_FILE; [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:328:6 [INFO] [stdout] | [INFO] [stdout] 328 | if let Some(syslog)=&mut self.sys_client { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/xlog/xlog_server.rs:330:3 [INFO] [stdout] | [INFO] [stdout] 330 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match &mut self.sys_client { Some(syslog) => { [INFO] [stdout] 329 | syslog.send_encoded_msg(formated_msg); [INFO] [stdout] 330 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if let Ok(resp)=serde_json::to_string_pretty::(&ret) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rsm/oam/oam_main.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match serde_json::to_string_pretty::(&ret) { Ok(resp) => { [INFO] [stdout] 121 | self.sent_ok_resp+=1; [INFO] [stdout] 122 | return Ok((resp,restserver::E_CONTENT_TYPE::e_application_json)) [INFO] [stdout] 123 ~ } _ => { [INFO] [stdout] 124 | self.sent_err_resp+=1; [INFO] [stdout] 125 | Err(errcode::ERROR_COMMON) [INFO] [stdout] 126 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:215:16 [INFO] [stdout] | [INFO] [stdout] 215 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 216 | return Some(&res) [INFO] [stdout] 217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(res) = self.routes.get(&rt_key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/net_ext/iprt.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match self.routes.get(&rt_key) { Some(res) => { [INFO] [stdout] 232 | if res.valid_index.len()>0 { [INFO] [stdout] ... [INFO] [stdout] 237 | [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 220 | match unsafe { addr_of_mut!(GlobalSendPktBufs) } { [INFO] [stdout] warning: 111 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/main.rs:42:63 [INFO] [stderr] | [INFO] [stderr] 42 | let msg= rsm::rsm_message_t::new::(10015,unsafe {&data}).unwrap(); [INFO] [stderr] | ^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 42 | let msg= rsm::rsm_message_t::new::(10015,unsafe {addr_of!(data)}).unwrap(); [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/main.rs:77:24 [INFO] [stderr] | [INFO] [stderr] 77 | let apps = unsafe {&mut sampleApp}; [INFO] [stderr] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 77 | let apps = unsafe {addr_of_mut!(sampleApp)}; [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | _=>(libc::SCHED_OTHER,0), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/rsm/rsm_sched.rs:255:9 [INFO] [stderr] | [WARN] too many lines in the log, truncating it