[INFO] cloning repository https://github.com/bobjia/remdb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bobjia/remdb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobjia%2Fremdb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobjia%2Fremdb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ea3544846d8a9aeaa01aa730fd8dde33ee4fca0d
[INFO] checking bobjia/remdb against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-150727
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobjia%2Fremdb" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/bobjia/remdb
[INFO] finished tweaking git repo https://github.com/bobjia/remdb
[INFO] tweaked toml for git repo https://github.com/bobjia/remdb written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bobjia/remdb on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bobjia/remdb 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded itoa v1.0.16
[INFO] [stderr]   Downloaded zmij v0.1.7
[INFO] [stderr]   Downloaded serde_json v1.0.147
[INFO] [stderr]   Downloaded scc v2.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4220d62862b758e850cef50da9a600542112a660faca75d95c8c066980ff9f8e
[INFO] running `Command { std: "docker" "start" "-a" "4220d62862b758e850cef50da9a600542112a660faca75d95c8c066980ff9f8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4220d62862b758e850cef50da9a600542112a660faca75d95c8c066980ff9f8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4220d62862b758e850cef50da9a600542112a660faca75d95c8c066980ff9f8e", kill_on_drop: false }`
[INFO] [stdout] 4220d62862b758e850cef50da9a600542112a660faca75d95c8c066980ff9f8e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a874e5319837489cbe3d2ccba55ae86165de35dec9d1c7a5bde7d457ae998a5
[INFO] running `Command { std: "docker" "start" "-a" "6a874e5319837489cbe3d2ccba55ae86165de35dec9d1c7a5bde7d457ae998a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling serde_json v1.0.147
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling remdb-macros v0.1.24 (/opt/rustwide/workdir/remdb-macros)
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking zmij v0.1.7
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking itoa v1.0.16
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking syn v2.0.111
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking remdb v0.1.24 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `DataType as CrateDataType`
[INFO] [stdout]  --> src/table.rs:2:97
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{types::{RecordHeader, RecordStatus, TableDef, Value, Result, RemDbError, DataType}, DataType as CrateDataType};
[INFO] [stdout]   |                                                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/platform/posix.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         use core::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/platform/posix.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         use core::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv6Addr`
[INFO] [stdout]   --> src/pubsub/udp.rs:75:69
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use std::net::{UdpSocket as StdUdpSocket, SocketAddr, Ipv4Addr, Ipv6Addr};
[INFO] [stdout]    |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::PubSubError`
[INFO] [stdout]  --> src/pubsub/publisher.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::PubSubError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FrameType`
[INFO] [stdout]  --> src/pubsub/publisher.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::protocol::{ProtocolFrame, FrameType};
[INFO] [stdout]   |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/pubsub/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HAError`
[INFO] [stdout]  --> src/ha/manager.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ha::{Result, HAError};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/replication.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/heartbeat.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HAError`
[INFO] [stdout]  --> src/ha/role.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ha::{Result, HAError};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/role.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]  --> src/ha/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/time_series/index.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{sync::RwLock, collections::HashMap, sync::Mutex};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataType as CrateDataType`
[INFO] [stdout]  --> src/table.rs:2:97
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{types::{RecordHeader, RecordStatus, TableDef, Value, Result, RemDbError, DataType}, DataType as CrateDataType};
[INFO] [stdout]   |                                                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/platform/posix.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         use core::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/platform/posix.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         use core::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv6Addr`
[INFO] [stdout]   --> src/pubsub/udp.rs:75:69
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use std::net::{UdpSocket as StdUdpSocket, SocketAddr, Ipv4Addr, Ipv6Addr};
[INFO] [stdout]    |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::PubSubError`
[INFO] [stdout]  --> src/pubsub/publisher.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::PubSubError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FrameType`
[INFO] [stdout]  --> src/pubsub/publisher.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::protocol::{ProtocolFrame, FrameType};
[INFO] [stdout]   |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/pubsub/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HAError`
[INFO] [stdout]  --> src/ha/manager.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ha::{Result, HAError};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/replication.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/heartbeat.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HAError`
[INFO] [stdout]  --> src/ha/role.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ha::{Result, HAError};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/role.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]  --> src/ha/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/time_series/index.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{sync::RwLock, collections::HashMap, sync::Mutex};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/types.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn to_sql_type(&self, size: usize) -> &'static str {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/types.rs:264:23
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn to_iso8601(timestamp: &super::db_timestamp) -> alloc::string::String {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/types.rs:271:53
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn to_char(timestamp: &super::db_timestamp, format: &str) -> alloc::string::String {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/table.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `slot_id` is never read
[INFO] [stdout]    --> src/table.rs:445:27
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut slot_id = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]     --> src/table.rs:1740:44
[INFO] [stdout]      |
[INFO] [stdout] 1740 |         for (window_start, (sum, min, max, last, count)) in window_aggregates {
[INFO] [stdout]      |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:985:17
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let mut node_mut = &mut *node_ptr;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1035:13
[INFO] [stdout]      |
[INFO] [stdout] 1035 |         let mut node_mut = &mut *node_ptr.as_ptr();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1223:17
[INFO] [stdout]      |
[INFO] [stdout] 1223 |             let mut root = self.root.expect("Root node unexpectedly None");
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/types.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn to_sql_type(&self, size: usize) -> &'static str {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]     --> src/index.rs:1544:37
[INFO] [stdout]      |
[INFO] [stdout] 1544 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_size`
[INFO] [stdout]     --> src/index.rs:1544:53
[INFO] [stdout]      |
[INFO] [stdout] 1544 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1584:17
[INFO] [stdout]      |
[INFO] [stdout] 1584 |             let mut node_mut = &mut *node_ptr;
[INFO] [stdout]      |                 ----^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1632:13
[INFO] [stdout]      |
[INFO] [stdout] 1632 |         let mut node_mut = &mut *node_ptr.as_ptr();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/types.rs:264:23
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn to_iso8601(timestamp: &super::db_timestamp) -> alloc::string::String {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/types.rs:271:53
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn to_char(timestamp: &super::db_timestamp, format: &str) -> alloc::string::String {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]     --> src/index.rs:2207:37
[INFO] [stdout]      |
[INFO] [stdout] 2207 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_size`
[INFO] [stdout]     --> src/index.rs:2207:53
[INFO] [stdout]      |
[INFO] [stdout] 2207 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/table.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/transaction.rs:778:9
[INFO] [stdout]     |
[INFO] [stdout] 778 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `slot_id` is never read
[INFO] [stdout]    --> src/table.rs:445:27
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut slot_id = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]     --> src/table.rs:1740:44
[INFO] [stdout]      |
[INFO] [stdout] 1740 |         for (window_start, (sum, min, max, last, count)) in window_aggregates {
[INFO] [stdout]      |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:985:17
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let mut node_mut = &mut *node_ptr;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1035:13
[INFO] [stdout]      |
[INFO] [stdout] 1035 |         let mut node_mut = &mut *node_ptr.as_ptr();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1223:17
[INFO] [stdout]      |
[INFO] [stdout] 1223 |             let mut root = self.root.expect("Root node unexpectedly None");
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]     --> src/index.rs:1544:37
[INFO] [stdout]      |
[INFO] [stdout] 1544 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_size`
[INFO] [stdout]     --> src/index.rs:1544:53
[INFO] [stdout]      |
[INFO] [stdout] 1544 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1584:17
[INFO] [stdout]      |
[INFO] [stdout] 1584 |             let mut node_mut = &mut *node_ptr;
[INFO] [stdout]      |                 ----^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:878:40
[INFO] [stdout]     |
[INFO] [stdout] 878 |             Expression::Field { alias: mut expr_alias, name, .. } => {
[INFO] [stdout]     |                                        ----^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:884:47
[INFO] [stdout]     |
[INFO] [stdout] 884 |             Expression::FunctionCall { alias: mut expr_alias, name, args, .. } => {
[INFO] [stdout]     |                                               ----^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:891:43
[INFO] [stdout]     |
[INFO] [stdout] 891 |             Expression::Constant { alias: mut expr_alias, value, .. } => {
[INFO] [stdout]     |                                           ----^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1632:13
[INFO] [stdout]      |
[INFO] [stdout] 1632 |         let mut node_mut = &mut *node_ptr.as_ptr();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_pos`
[INFO] [stdout]    --> src/sql/query_parser.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let saved_pos = self.position;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_col`
[INFO] [stdout]    --> src/sql/query_parser.rs:815:17
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let saved_col = self.column;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_pos`
[INFO] [stdout]     --> src/sql/query_parser.rs:1043:13
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         let saved_pos = self.position;
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_col`
[INFO] [stdout]     --> src/sql/query_parser.rs:1044:13
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let saved_col = self.column;
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]     --> src/index.rs:2207:37
[INFO] [stdout]      |
[INFO] [stdout] 2207 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_size`
[INFO] [stdout]     --> src/index.rs:2207:53
[INFO] [stdout]      |
[INFO] [stdout] 2207 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tz_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1277:17
[INFO] [stdout]      |
[INFO] [stdout] 1277 |             let tz_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tz_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1288:17
[INFO] [stdout]      |
[INFO] [stdout] 1288 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1293:17
[INFO] [stdout]      |
[INFO] [stdout] 1293 |             let format_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_format_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1304:17
[INFO] [stdout]      |
[INFO] [stdout] 1304 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1315:17
[INFO] [stdout]      |
[INFO] [stdout] 1315 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tz_value`
[INFO] [stdout]     --> src/sql/query_parser.rs:1347:21
[INFO] [stdout]      |
[INFO] [stdout] 1347 |                 let tz_value = self.parse_value()?;
[INFO] [stdout]      |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tz_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_executor.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut matched_rows: Vec<Vec<TypedValue>> = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/sql/query_executor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for expr in &columns {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/sql/query_executor.rs:283:47
[INFO] [stdout]     |
[INFO] [stdout] 277 |                         unsafe {
[INFO] [stdout]     |                         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 283 |                                 let is_less = unsafe {
[INFO] [stdout]     |                                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/sql/query_executor.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 304 |                         unsafe {
[INFO] [stdout]     |                         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 310 |                                 let is_greater = unsafe {
[INFO] [stdout]     |                                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/transaction.rs:778:9
[INFO] [stdout]     |
[INFO] [stdout] 778 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_values`
[INFO] [stdout]    --> src/sql/query_executor.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 |     record_values: &[TypedValue],
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sql/query_executor.rs:461:45
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let iterate_result = table.iterate(|id, record_ptr| {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/sql/query_executor.rs:823:18
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn execute_count(args: &[TypedValue]) -> Result<TypedValue, QueryExecutionError> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:878:40
[INFO] [stdout]     |
[INFO] [stdout] 878 |             Expression::Field { alias: mut expr_alias, name, .. } => {
[INFO] [stdout]     |                                        ----^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:884:47
[INFO] [stdout]     |
[INFO] [stdout] 884 |             Expression::FunctionCall { alias: mut expr_alias, name, args, .. } => {
[INFO] [stdout]     |                                               ----^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:891:43
[INFO] [stdout]     |
[INFO] [stdout] 891 |             Expression::Constant { alias: mut expr_alias, value, .. } => {
[INFO] [stdout]     |                                           ----^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_pos`
[INFO] [stdout]    --> src/sql/query_parser.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let saved_pos = self.position;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_col`
[INFO] [stdout]    --> src/sql/query_parser.rs:815:17
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let saved_col = self.column;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_pos`
[INFO] [stdout]     --> src/sql/query_parser.rs:1043:13
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         let saved_pos = self.position;
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_col`
[INFO] [stdout]     --> src/sql/query_parser.rs:1044:13
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let saved_col = self.column;
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tz_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1277:17
[INFO] [stdout]      |
[INFO] [stdout] 1277 |             let tz_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tz_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1288:17
[INFO] [stdout]      |
[INFO] [stdout] 1288 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1293:17
[INFO] [stdout]      |
[INFO] [stdout] 1293 |             let format_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_format_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1304:17
[INFO] [stdout]      |
[INFO] [stdout] 1304 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1315:17
[INFO] [stdout]      |
[INFO] [stdout] 1315 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tz_value`
[INFO] [stdout]     --> src/sql/query_parser.rs:1347:21
[INFO] [stdout]      |
[INFO] [stdout] 1347 |                 let tz_value = self.parse_value()?;
[INFO] [stdout]      |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tz_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_executor.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut matched_rows: Vec<Vec<TypedValue>> = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/sql/query_executor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for expr in &columns {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/sql/query_executor.rs:283:47
[INFO] [stdout]     |
[INFO] [stdout] 277 |                         unsafe {
[INFO] [stdout]     |                         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 283 |                                 let is_less = unsafe {
[INFO] [stdout]     |                                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/sql/query_executor.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 304 |                         unsafe {
[INFO] [stdout]     |                         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 310 |                                 let is_greater = unsafe {
[INFO] [stdout]     |                                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_values`
[INFO] [stdout]    --> src/sql/query_executor.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 |     record_values: &[TypedValue],
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sql/query_executor.rs:461:45
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let iterate_result = table.iterate(|id, record_ptr| {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_num`
[INFO] [stdout]    --> src/pubsub/mod.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let seq_num = frame.seq_num();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/pubsub/mod.rs:274:20
[INFO] [stdout]     |
[INFO] [stdout] 274 |         if let Err(e) = self.subscribers.handle_data(topic_id, payload) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/sql/query_executor.rs:823:18
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn execute_count(args: &[TypedValue]) -> Result<TypedValue, QueryExecutionError> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_index`
[INFO] [stdout]    --> src/ha/replication.rs:140:44
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn request_incremental_sync(&self, last_log_index: u32) -> Result<()> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/lib.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |             if let Some(table) = table {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_table`
[INFO] [stdout]    --> src/lib.rs:292:25
[INFO] [stdout]     |
[INFO] [stdout] 292 |             if let Some(ts_table) = ts_table {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ts_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1164:29
[INFO] [stdout]      |
[INFO] [stdout] 1164 |         let has_active_tx = unsafe { crate::transaction::has_active_tx() };
[INFO] [stdout]      |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_field_by_offset` is never used
[INFO] [stdout]    --> src/table.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl MemoryTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 395 |     unsafe fn get_field_by_offset(&self, record_data: *const u8, offset: usize, data_type: DataType, size: usize) -> Result<Value>
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `def` and `items` are never read
[INFO] [stdout]    --> src/index.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct PrimaryIndex {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 124 |     /// 表定义
[INFO] [stdout] 125 |     def: alloc::sync::Arc<TableDef>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     items: NonNull<PrimaryIndexItem>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `def` is never read
[INFO] [stdout]    --> src/index.rs:506:5
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct SecondaryIndex {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 505 |     /// 表定义
[INFO] [stdout] 506 |     def: alloc::sync::Arc<TableDef>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_node` is never used
[INFO] [stdout]     --> src/index.rs:1067:15
[INFO] [stdout]      |
[INFO] [stdout]  971 | impl BTreeIndex {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1067 |     unsafe fn free_node(&mut self, node_ptr: NonNull<BTreeNode>) {
[INFO] [stdout]      |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_node` is never used
[INFO] [stdout]     --> src/index.rs:1663:15
[INFO] [stdout]      |
[INFO] [stdout] 1570 | impl TTreeIndex {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1663 |     unsafe fn free_node(&mut self, node_ptr: NonNull<TTreeNode>) {
[INFO] [stdout]      |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_file_size_limit` and `log_segment_size` are never read
[INFO] [stdout]    --> src/transaction.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LogManager {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 168 |     log_file_size_limit: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 169 |     /// 日志分段大小
[INFO] [stdout] 170 |     log_segment_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_eof` is never used
[INFO] [stdout]     --> src/sql/query_parser.rs:1513:8
[INFO] [stdout]      |
[INFO] [stdout]  295 | impl SqlParser {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1513 |     fn is_eof(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_at_time_zone` is never used
[INFO] [stdout]     --> src/sql/query_executor.rs:2546:4
[INFO] [stdout]      |
[INFO] [stdout] 2546 | fn process_at_time_zone(timestamp: &crate::types::db_timestamp, timezone_spec: &str) -> Result<crate::types::db_timestamp, QueryEx...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_timezone_function` is never used
[INFO] [stdout]     --> src/sql/query_executor.rs:2570:4
[INFO] [stdout]      |
[INFO] [stdout] 2570 | fn process_timezone_function(timezone_spec: &str) -> Result<i16, QueryExecutionError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_columns` is never used
[INFO] [stdout]    --> src/sql/result_set.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn string_to_columns(s: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `values_to_string` is never used
[INFO] [stdout]    --> src/sql/result_set.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn values_to_string(values: &[TypedValue]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/pubsub/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct PubSub {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 121 |     config: PubSubConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_loop`, `handle_received_data`, `handle_data_frame`, `handle_nack_frame`, and `handle_heartbeat_frame` are never used
[INFO] [stdout]    --> src/pubsub/mod.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl PubSub {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn receive_loop(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn handle_received_data(&mut self, data: &[u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn handle_data_frame(&mut self, frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn handle_nack_frame(&mut self, frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn handle_heartbeat_frame(&mut self, _frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_size` is never read
[INFO] [stdout]   --> src/pubsub/udp.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub struct PosixUdpSocket {
[INFO] [stdout]    |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |         buffer_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `topic_id` is never read
[INFO] [stdout]   --> src/pubsub/subscriber.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Subscriber {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     topic_id: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_initialized` is never read
[INFO] [stdout]   --> src/ha/manager.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HAManager {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYNC_REQUEST_TOPIC` is never used
[INFO] [stdout]   --> src/ha/replication.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SYNC_REQUEST_TOPIC: u16 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confirmed_slaves`, `lock`, and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/replication.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ReplicationManager {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     confirmed_slaves: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     /// 自旋锁
[INFO] [stdout] 21 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     /// 是否初始化
[INFO] [stdout] 23 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_wal_log` is never used
[INFO] [stdout]   --> src/ha/replication.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ReplicationManager {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn handle_wal_log(&self, _data: &[u8]) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEARTBEAT_TOPIC` is never used
[INFO] [stdout]  --> src/ha/heartbeat.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const HEARTBEAT_TOPIC: u16 = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heartbeat_interval`, `failure_detection_time`, `lock`, and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/heartbeat.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct HeartbeatMonitor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 13 |     /// 心跳间隔（毫秒）
[INFO] [stdout] 14 |     heartbeat_interval: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     /// 故障检测时间（毫秒）
[INFO] [stdout] 16 |     failure_detection_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     /// 是否初始化
[INFO] [stdout] 24 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_heartbeat` and `send_heartbeat` are never used
[INFO] [stdout]    --> src/ha/heartbeat.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl HeartbeatMonitor {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn handle_heartbeat(&self, _data: &[u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn send_heartbeat(&self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lock` and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/role.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RoleManager {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     /// 是否初始化
[INFO] [stdout] 19 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:344:9
[INFO] [stdout]     |
[INFO] [stdout] 344 |         crate::transaction::TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         crate::transaction::TX_MANAGER.commit()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         crate::transaction::TX_MANAGER.rollback(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/lib.rs:1714:12
[INFO] [stdout]      |
[INFO] [stdout] 1714 |         Ok(DB_INSTANCE.as_mut().unwrap())
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/lib.rs:1721:9
[INFO] [stdout]      |
[INFO] [stdout] 1721 |         DB_INSTANCE.as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1205:5
[INFO] [stdout]      |
[INFO] [stdout] 1205 |     TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1210:5
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     TX_MANAGER.commit()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1215:5
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     TX_MANAGER.rollback(db)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1220:14
[INFO] [stdout]      |
[INFO] [stdout] 1220 |     unsafe { TX_MANAGER.get_current_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1225:14
[INFO] [stdout]      |
[INFO] [stdout] 1225 |     unsafe { TX_MANAGER.has_active_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1230:5
[INFO] [stdout]      |
[INFO] [stdout] 1230 |     TX_MANAGER.set_low_power_mode(enabled);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1235:5
[INFO] [stdout]      |
[INFO] [stdout] 1235 |     TX_MANAGER.set_log_manager(log_manager);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/pubsub/mod.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if PUB_SUB_INSTANCE.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if HA_MANAGER.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         HA_MANAGER.as_mut()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_num`
[INFO] [stdout]    --> src/pubsub/mod.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let seq_num = frame.seq_num();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/pubsub/mod.rs:274:20
[INFO] [stdout]     |
[INFO] [stdout] 274 |         if let Err(e) = self.subscribers.handle_data(topic_id, payload) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_index`
[INFO] [stdout]    --> src/ha/replication.rs:140:44
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn request_incremental_sync(&self, last_log_index: u32) -> Result<()> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/lib.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |             if let Some(table) = table {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_table`
[INFO] [stdout]    --> src/lib.rs:292:25
[INFO] [stdout]     |
[INFO] [stdout] 292 |             if let Some(ts_table) = ts_table {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ts_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1164:29
[INFO] [stdout]      |
[INFO] [stdout] 1164 |         let has_active_tx = unsafe { crate::transaction::has_active_tx() };
[INFO] [stdout]      |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_field_by_offset` is never used
[INFO] [stdout]    --> src/table.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl MemoryTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 395 |     unsafe fn get_field_by_offset(&self, record_data: *const u8, offset: usize, data_type: DataType, size: usize) -> Result<Value>
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `def` and `items` are never read
[INFO] [stdout]    --> src/index.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct PrimaryIndex {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 124 |     /// 表定义
[INFO] [stdout] 125 |     def: alloc::sync::Arc<TableDef>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     items: NonNull<PrimaryIndexItem>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `def` is never read
[INFO] [stdout]    --> src/index.rs:506:5
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct SecondaryIndex {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 505 |     /// 表定义
[INFO] [stdout] 506 |     def: alloc::sync::Arc<TableDef>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_node` is never used
[INFO] [stdout]     --> src/index.rs:1067:15
[INFO] [stdout]      |
[INFO] [stdout]  971 | impl BTreeIndex {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1067 |     unsafe fn free_node(&mut self, node_ptr: NonNull<BTreeNode>) {
[INFO] [stdout]      |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_node` is never used
[INFO] [stdout]     --> src/index.rs:1663:15
[INFO] [stdout]      |
[INFO] [stdout] 1570 | impl TTreeIndex {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1663 |     unsafe fn free_node(&mut self, node_ptr: NonNull<TTreeNode>) {
[INFO] [stdout]      |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_file_size_limit` and `log_segment_size` are never read
[INFO] [stdout]    --> src/transaction.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LogManager {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 168 |     log_file_size_limit: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 169 |     /// 日志分段大小
[INFO] [stdout] 170 |     log_segment_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_eof` is never used
[INFO] [stdout]     --> src/sql/query_parser.rs:1513:8
[INFO] [stdout]      |
[INFO] [stdout]  295 | impl SqlParser {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1513 |     fn is_eof(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_at_time_zone` is never used
[INFO] [stdout]     --> src/sql/query_executor.rs:2546:4
[INFO] [stdout]      |
[INFO] [stdout] 2546 | fn process_at_time_zone(timestamp: &crate::types::db_timestamp, timezone_spec: &str) -> Result<crate::types::db_timestamp, QueryEx...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_timezone_function` is never used
[INFO] [stdout]     --> src/sql/query_executor.rs:2570:4
[INFO] [stdout]      |
[INFO] [stdout] 2570 | fn process_timezone_function(timezone_spec: &str) -> Result<i16, QueryExecutionError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_columns` is never used
[INFO] [stdout]    --> src/sql/result_set.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn string_to_columns(s: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `values_to_string` is never used
[INFO] [stdout]    --> src/sql/result_set.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn values_to_string(values: &[TypedValue]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/pubsub/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct PubSub {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 121 |     config: PubSubConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_loop`, `handle_received_data`, `handle_data_frame`, `handle_nack_frame`, and `handle_heartbeat_frame` are never used
[INFO] [stdout]    --> src/pubsub/mod.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl PubSub {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn receive_loop(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn handle_received_data(&mut self, data: &[u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn handle_data_frame(&mut self, frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn handle_nack_frame(&mut self, frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn handle_heartbeat_frame(&mut self, _frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_size` is never read
[INFO] [stdout]   --> src/pubsub/udp.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub struct PosixUdpSocket {
[INFO] [stdout]    |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |         buffer_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `topic_id` is never read
[INFO] [stdout]   --> src/pubsub/subscriber.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Subscriber {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     topic_id: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_initialized` is never read
[INFO] [stdout]   --> src/ha/manager.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HAManager {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYNC_REQUEST_TOPIC` is never used
[INFO] [stdout]   --> src/ha/replication.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SYNC_REQUEST_TOPIC: u16 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confirmed_slaves`, `lock`, and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/replication.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ReplicationManager {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     confirmed_slaves: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     /// 自旋锁
[INFO] [stdout] 21 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     /// 是否初始化
[INFO] [stdout] 23 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_wal_log` is never used
[INFO] [stdout]   --> src/ha/replication.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ReplicationManager {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn handle_wal_log(&self, _data: &[u8]) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEARTBEAT_TOPIC` is never used
[INFO] [stdout]  --> src/ha/heartbeat.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const HEARTBEAT_TOPIC: u16 = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heartbeat_interval`, `failure_detection_time`, `lock`, and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/heartbeat.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct HeartbeatMonitor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 13 |     /// 心跳间隔（毫秒）
[INFO] [stdout] 14 |     heartbeat_interval: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     /// 故障检测时间（毫秒）
[INFO] [stdout] 16 |     failure_detection_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     /// 是否初始化
[INFO] [stdout] 24 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_heartbeat` and `send_heartbeat` are never used
[INFO] [stdout]    --> src/ha/heartbeat.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl HeartbeatMonitor {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn handle_heartbeat(&self, _data: &[u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn send_heartbeat(&self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lock` and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/role.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RoleManager {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     /// 是否初始化
[INFO] [stdout] 19 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:344:9
[INFO] [stdout]     |
[INFO] [stdout] 344 |         crate::transaction::TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         crate::transaction::TX_MANAGER.commit()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         crate::transaction::TX_MANAGER.rollback(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/lib.rs:1714:12
[INFO] [stdout]      |
[INFO] [stdout] 1714 |         Ok(DB_INSTANCE.as_mut().unwrap())
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/lib.rs:1721:9
[INFO] [stdout]      |
[INFO] [stdout] 1721 |         DB_INSTANCE.as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1205:5
[INFO] [stdout]      |
[INFO] [stdout] 1205 |     TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1210:5
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     TX_MANAGER.commit()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1215:5
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     TX_MANAGER.rollback(db)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1220:14
[INFO] [stdout]      |
[INFO] [stdout] 1220 |     unsafe { TX_MANAGER.get_current_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1225:14
[INFO] [stdout]      |
[INFO] [stdout] 1225 |     unsafe { TX_MANAGER.has_active_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1230:5
[INFO] [stdout]      |
[INFO] [stdout] 1230 |     TX_MANAGER.set_low_power_mode(enabled);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1235:5
[INFO] [stdout]      |
[INFO] [stdout] 1235 |     TX_MANAGER.set_log_manager(log_manager);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/pubsub/mod.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if PUB_SUB_INSTANCE.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if HA_MANAGER.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         HA_MANAGER.as_mut()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> examples/ha_example.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]  --> examples/ha_example.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HARole` and `ReplicationMode`
[INFO] [stdout]  --> examples/ha_example.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use remdb::config::{HARole, ReplicationMode};
[INFO] [stdout]   |                     ^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]  --> examples/export_example.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use alloc::string::String;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]  --> examples/export_example.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]  --> examples/multiple_tables.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]  --> examples/multiple_tables.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::string::String;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DdlExecutor`
[INFO] [stdout]  --> examples/timeseries_ddl_usage.rs:1:69
[INFO] [stdout]   |
[INFO] [stdout] 1 | use remdb::{RemDb, config::DbConfig, time_series::TimeSeriesConfig, DdlExecutor};
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]  --> examples/basic_usage.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `users` should have an upper case name
[INFO] [stdout]   --> examples/multiple_tables.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | static users: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 12 - static users: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout] 12 + static USERS: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `orders` should have an upper case name
[INFO] [stdout]   --> examples/multiple_tables.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | static orders: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 91 - static orders: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout] 91 + static ORDERS: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `products` should have an upper case name
[INFO] [stdout]    --> examples/multiple_tables.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | static products: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 181 - static products: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout] 181 + static PRODUCTS: remdb::types::TableDef = remdb::types::TableDef {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/test_default_value.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 |         memory_allocator: &mut DEFAULT_ALLOCATOR,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |         memory_allocator: &raw mut DEFAULT_ALLOCATOR,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/multiple_tables.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 272 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 273 | |             DB_MEMORY.len()
[INFO] [stdout] 274 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> examples/multiple_tables.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> examples/multiple_tables.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SensorReading` is never constructed
[INFO] [stdout]   --> examples/timeseries_ddl_usage.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct SensorReading {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/timeseries_ddl_usage.rs:40:36
[INFO] [stdout]    |
[INFO] [stdout] 40 |         memory_allocator: unsafe { &mut DEFAULT_ALLOCATOR },
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 40 |         memory_allocator: unsafe { &raw mut DEFAULT_ALLOCATOR },
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/timeseries_ddl_usage.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |         RemDb::new(DB_CONFIG.as_ref().unwrap())
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/test_default_value.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |         init_global_allocator(MEMORY_BUFFER.as_mut_ptr(), MEMORY_BUFFER.len())
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/test_default_value.rs:42:59
[INFO] [stdout]    |
[INFO] [stdout] 42 |         init_global_allocator(MEMORY_BUFFER.as_mut_ptr(), MEMORY_BUFFER.len())
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/varchar_example.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut db = init_global_db(&CONFIG).expect("Failed to initialize database");
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/varchar_example.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/varchar_example.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DB_MEMORY` is never used
[INFO] [stdout]   --> examples/export_example.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | static mut DB_MEMORY: [u8; 65536] = [0u8; 65536];
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> examples/ha_example.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let tx = transaction::begin(
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> examples/time_series_complete.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/time_series_complete.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut partition_manager = PartitionManager::new(Duration::from_secs(3600), 100); // 1小时
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> examples/incremental_snapshot.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> examples/incremental_snapshot.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DdlExecutor`
[INFO] [stdout]  --> examples/ddl_runtime_example.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use remdb::{RemDb, DdlExecutor, types::{DataType, IndexType}};
[INFO] [stdout]   |                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]  --> examples/sql_query.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::alloc::Layout`
[INFO] [stdout]   --> examples/sql_query.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use core::alloc::Layout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]   --> examples/sql_query.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use core::ptr::NonNull;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/incremental_snapshot.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             table.set_field(record.0.as_mut_ptr(), 2, &value_value);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 243 |             let _ = table.set_field(record.0.as_mut_ptr(), 2, &value_value);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/ha_example.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 47 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 48 | |             DB_MEMORY.len()
[INFO] [stdout] 49 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/ha_example.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/ha_example.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Transaction` does not permit being left uninitialized
[INFO] [stdout]   --> examples/ha_example.rs:59:55
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut tx_buffer: transaction::Transaction = core::mem::MaybeUninit::uninit().assume_init();
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                       |
[INFO] [stdout]    |                                                       this code causes undefined behavior when executed
[INFO] [stdout]    |                                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/ha_example.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 130 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 131 | |             DB_MEMORY.len()
[INFO] [stdout] 132 | |         );
[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] 129 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> examples/ha_example.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> examples/ha_example.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/test_auto_increment.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/test_auto_increment.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/ddl_runtime_example.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |         init_global_allocator(MEMORY_BUFFER.as_mut_ptr(), MEMORY_BUFFER.len())
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/ddl_runtime_example.rs:34:59
[INFO] [stdout]    |
[INFO] [stdout] 34 |         init_global_allocator(MEMORY_BUFFER.as_mut_ptr(), MEMORY_BUFFER.len())
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECORD_SIZE` is never used
[INFO] [stdout]   --> examples/low_power_mode.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const RECORD_SIZE: usize = 4 + 32 + 8 + 8;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_DATA_SIZE` is never used
[INFO] [stdout]   --> examples/low_power_mode.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const TABLE_DATA_SIZE: usize = RECORD_SIZE * TEST_TABLE.max_records;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATUS_ARRAY_SIZE` is never used
[INFO] [stdout]   --> examples/low_power_mode.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const STATUS_ARRAY_SIZE: usize = core::mem::size_of::<RecordHeader>() * TEST_TABLE.max_records;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREE_SLOTS_SIZE` is never used
[INFO] [stdout]   --> examples/low_power_mode.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const FREE_SLOTS_SIZE: usize = core::mem::size_of::<usize>() * TEST_TABLE.max_records;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_MEM_SIZE` is never used
[INFO] [stdout]   --> examples/low_power_mode.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const TABLE_MEM_SIZE: usize = TABLE_DATA_SIZE + STATUS_ARRAY_SIZE + FREE_SLOTS_SIZE;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/low_power_mode.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/low_power_mode.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/basic_usage.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 37 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 38 | |             DB_MEMORY.len()
[INFO] [stdout] 39 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/basic_usage.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/basic_usage.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Transaction` does not permit being left uninitialized
[INFO] [stdout]    --> examples/basic_usage.rs:166:55
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let mut tx_buffer: transaction::Transaction = core::mem::MaybeUninit::uninit().assume_init();
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this code causes undefined behavior when executed
[INFO] [stdout]     |                                                       help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]  --> tests/time_series_batch_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 360 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:404:5
[INFO] [stdout]     |
[INFO] [stdout] 404 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/export_test.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> tests/table_test.rs:363:17
[INFO] [stdout]     |
[INFO] [stdout] 363 |             let id = core::ptr::read(data_ptr as *const u32);
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/sql_query.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 46 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 47 | |             DB_MEMORY.len()
[INFO] [stdout] 48 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/sql_query.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/sql_query.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/export_test.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         crate::transaction::TX_MANAGER.clear_log_manager();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/export_test.rs:51:57
[INFO] [stdout]    |
[INFO] [stdout] 51 |         crate::memory::allocator::init_global_allocator(DB_MEMORY.as_mut_ptr(), DB_MEMORY.len()).unwrap();
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/export_test.rs:51:81
[INFO] [stdout]    |
[INFO] [stdout] 51 |         crate::memory::allocator::init_global_allocator(DB_MEMORY.as_mut_ptr(), DB_MEMORY.len()).unwrap();
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/export_test.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         crate::transaction::TX_MANAGER.clear_log_manager();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/export_test.rs:104:57
[INFO] [stdout]     |
[INFO] [stdout] 104 |         crate::memory::allocator::init_global_allocator(DB_MEMORY.as_mut_ptr(), DB_MEMORY.len()).unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/export_test.rs:104:81
[INFO] [stdout]     |
[INFO] [stdout] 104 |         crate::memory::allocator::init_global_allocator(DB_MEMORY.as_mut_ptr(), DB_MEMORY.len()).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/export_test.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         crate::transaction::TX_MANAGER.clear_log_manager();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/export_test.rs:205:57
[INFO] [stdout]     |
[INFO] [stdout] 205 |         crate::memory::allocator::init_global_allocator(DB_MEMORY.as_mut_ptr(), DB_MEMORY.len()).unwrap();
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/export_test.rs:205:81
[INFO] [stdout]     |
[INFO] [stdout] 205 |         crate::memory::allocator::init_global_allocator(DB_MEMORY.as_mut_ptr(), DB_MEMORY.len()).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/time_series_batch_test.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |     core::ptr::write_bytes(DB_MEMORY.as_mut_ptr(), 0, DB_MEMORY.len());
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/time_series_batch_test.rs:38:55
[INFO] [stdout]    |
[INFO] [stdout] 38 |     core::ptr::write_bytes(DB_MEMORY.as_mut_ptr(), 0, DB_MEMORY.len());
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/time_series_batch_test.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/time_series_batch_test.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         DB_MEMORY.len()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]    --> tests/test_snapshot_gen.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         use std::fs::File;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_snapshot_gen.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut db = remdb::init_global_db(&TEST_DB_CONFIG)?;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TABLE_FREE_SLOTS_BUFFER` is never used
[INFO] [stdout]   --> tests/test_snapshot_gen.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | static mut TABLE_FREE_SLOTS_BUFFER: [usize; 100] = [0usize; 100];
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/test_snapshot_gen.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &mut DEFAULT_ALLOCATOR
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &raw mut DEFAULT_ALLOCATOR
[INFO] [stdout]    |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/test_snapshot_gen.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         transaction::TX_MANAGER.reset();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/test_snapshot_gen.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |         TABLE_DATA_BUFFER.fill(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]  --> tests/pubsub_test.rs:8:56
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use remdb::pubsub::{PubSub, PubSubConfig, UdpMode, Result};
[INFO] [stdout]   |                                                        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeSeriesConfig`
[INFO] [stdout]  --> tests/ha_test.rs:4:55
[INFO] [stdout]   |
[INFO] [stdout] 4 | use remdb::config::{HARole, ReplicationMode, LogMode, TimeSeriesConfig};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result as HAResult`
[INFO] [stdout]  --> tests/ha_test.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use remdb::ha::{HAError, Result as HAResult};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/ha_test.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `remdb::types::Result`
[INFO] [stdout]  --> tests/memory_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use remdb::types::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> tests/memory_test.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr3`
[INFO] [stdout]   --> tests/memory_test.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let ptr3 = allocator.allocate(64).unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_ptr3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_sizes`
[INFO] [stdout]   --> tests/memory_test.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let pool_sizes = [16, 32, 64, 128];
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_sizes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_counts`
[INFO] [stdout]   --> tests/memory_test.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let pool_counts = [16, 8, 4, 2];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_counts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/memory_test.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr2`
[INFO] [stdout]    --> tests/memory_test.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ptr2 = allocator.allocate(100).unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_ptr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_insert_ignore_test.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let mut db = unsafe {
[INFO] [stdout]     |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/sql_insert_ignore_test.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let mut db = unsafe {
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/sql_insert_ignore_test.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/sql_insert_ignore_test.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> tests/sql_query_test.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> tests/transaction_test.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::mem::MaybeUninit; use std::ptr::NonNull; extern crate alloc; use alloc::sync::Arc;
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::sync::Arc`
[INFO] [stdout]  --> tests/transaction_test.rs:1:76
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::mem::MaybeUninit; use std::ptr::NonNull; extern crate alloc; use alloc::sync::Arc;
[INFO] [stdout]   |                                                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/timeseries_table_test.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/timeseries_table_test.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/timeseries_table_test.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/timeseries_table_test.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/timeseries_table_test.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/timeseries_table_test.rs:427:13
[INFO] [stdout]     |
[INFO] [stdout] 427 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/transaction_test.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut table_mut = db.get_table_mut(0).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> tests/transaction_test.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let tx = db.begin_transaction(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_id`
[INFO] [stdout]    --> tests/transaction_test.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let record_id = table_mut.insert(record_data.as_ptr()).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/transaction_test.rs:349:13
[INFO] [stdout]     |
[INFO] [stdout] 349 |         let mut table_mut = db.get_table_mut(0).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> tests/transaction_test.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let tx = db.begin_transaction(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/transaction_test.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let mut table_mut = db.get_table_mut(0).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> tests/transaction_test.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let tx = db.begin_transaction(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/simple_time_type_test.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> tests/simple_time_type_test.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/transaction_test.rs:565:13
[INFO] [stdout]     |
[INFO] [stdout] 565 |         let mut table_mut = db.get_table_mut(0).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> tests/transaction_test.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let tx = db.begin_transaction(
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TABLE_FREE_SLOTS_BUFFER` is never used
[INFO] [stdout]    --> tests/transaction_test.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | static mut TABLE_FREE_SLOTS_BUFFER: [usize; 100] = [0usize; 100];
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remaining_partitions`
[INFO] [stdout]    --> tests/time_series_module_test.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let remaining_partitions = manager.get_partitions_in_range(now - 3600, now + 10800);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining_partitions`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         &mut DEFAULT_ALLOCATOR
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 147 |         &raw mut DEFAULT_ALLOCATOR
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         TX_MANAGER.reset();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         TABLE_DATA_BUFFER.fill(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         TX_MANAGER.reset();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:291:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |         TABLE_DATA_BUFFER.fill(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         TX_MANAGER.reset();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 386 |         TABLE_DATA_BUFFER.fill(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:499:9
[INFO] [stdout]     |
[INFO] [stdout] 499 |         TX_MANAGER.reset();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/transaction_test.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |         TABLE_DATA_BUFFER.fill(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `remdb::table::*`
[INFO] [stdout]  --> tests/large_table_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use remdb::table::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnySecondaryIndex` and `PrimaryIndex`
[INFO] [stdout]  --> tests/large_table_test.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use remdb::{init_global_db, PrimaryIndex, AnySecondaryIndex}; use remdb::config::DefaultMemoryAllocator;
[INFO] [stdout]   |                             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/time_series_module_test.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/time_series_module_test.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/time_series_module_test.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/time_series_module_test.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/large_table_test.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/large_table_test.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |             &mut DEFAULT_ALLOCATOR
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 172 |             &raw mut DEFAULT_ALLOCATOR
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> tests/large_table_test.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 249 |         drop(table); // 释放表的可变引用
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut MemoryTable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 249 -         drop(table); // 释放表的可变引用
[INFO] [stdout] 249 +         let _ = table; // 释放表的可变引用
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> tests/large_table_test.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         drop(table);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut MemoryTable`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 287 -         drop(table);
[INFO] [stdout] 287 +         let _ = table;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> tests/large_table_test.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |         drop(table);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut MemoryTable`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 318 -         drop(table);
[INFO] [stdout] 318 +         let _ = table;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> tests/large_table_test.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         drop(table);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut MemoryTable`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 373 -         drop(table);
[INFO] [stdout] 373 +         let _ = table;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> tests/large_table_test.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         drop(table);
[INFO] [stdout]     |         ^^^^^-----^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut MemoryTable`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 403 -         drop(table);
[INFO] [stdout] 403 +         let _ = table;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]  --> examples/describe_table.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let db = unsafe {
[INFO] [stdout]     |              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let insert_id = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let table = unsafe { db.get_table_mut(0).unwrap() };
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_ptr`
[INFO] [stdout]    --> tests/sql_query_test.rs:247:28
[INFO] [stdout]     |
[INFO] [stdout] 247 |         table.iterate(|id, record_ptr| {
[INFO] [stdout]     |                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_ptr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let db = unsafe {
[INFO] [stdout]     |              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let insert_id = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/describe_table.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 35 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 36 | |             DB_MEMORY.len()
[INFO] [stdout] 37 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/describe_table.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/describe_table.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `remdb::types::RecordHeader`
[INFO] [stdout]  --> examples/generate_snapshot.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use remdb::types::RecordHeader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:398:5
[INFO] [stdout]     |
[INFO] [stdout] 398 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DdlExecutor`
[INFO] [stdout]  --> examples/timeseries_ddl_core.rs:1:69
[INFO] [stdout]   |
[INFO] [stdout] 1 | use remdb::{RemDb, config::DbConfig, time_series::TimeSeriesConfig, DdlExecutor};
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:472:5
[INFO] [stdout]     |
[INFO] [stdout] 472 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:525:5
[INFO] [stdout]     |
[INFO] [stdout] 525 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> tests/dynamic_ddl_test.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |         memory_allocator: &mut DEFAULT_ALLOCATOR,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 16 |         memory_allocator: &raw mut DEFAULT_ALLOCATOR,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time`, `value`, `sensor_id`, and `location` are never read
[INFO] [stdout]   --> examples/timeseries_ddl_core.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct SensorReading {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 14 |     time: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     value: f64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     sensor_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     location: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SensorReading` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/timeseries_ddl_core.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |         init_global_allocator(MEMORY.as_mut_ptr(), MEMORY_SIZE)
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> examples/generate_snapshot.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> examples/generate_snapshot.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:480:13
[INFO] [stdout]     |
[INFO] [stdout] 480 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/dynamic_ddl_test.rs:533:13
[INFO] [stdout]     |
[INFO] [stdout] 533 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataType`
[INFO] [stdout]  --> examples/test_create_timeseries_table.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use remdb::{RemDb, DataType, config::{DbConfig, DefaultMemoryAllocator, LogMode, HARole, ReplicationMode, TimeSeriesConfig}};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr::NonNull`
[INFO] [stdout]  --> examples/time_series.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]   --> examples/ddl_full_example.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Database;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/ddl_full_example.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | /         memory::allocator::init_global_allocator(
[INFO] [stdout] 43 | |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout] 44 | |             DB_MEMORY.len()
[INFO] [stdout] 45 | |         );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let _ = memory::allocator::init_global_allocator(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/ddl_full_example.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/ddl_full_example.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/test_create_timeseries_table.rs:16:57
[INFO] [stdout]    |
[INFO] [stdout] 16 |         remdb::memory::allocator::init_global_allocator(MEMORY.as_mut_ptr(), MEMORY_SIZE)
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]    --> examples/time_series.rs:265:32
[INFO] [stdout]     |
[INFO] [stdout] 265 |         for (i, (window_start, sum, avg, min, max, count)) in window_aggregates.iter().enumerate() {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/time_series.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/time_series.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]   --> examples/ddl_example.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Database;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataType as CrateDataType`
[INFO] [stdout]  --> src/table.rs:2:97
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{types::{RecordHeader, RecordStatus, TableDef, Value, Result, RemDbError, DataType}, DataType as CrateDataType};
[INFO] [stdout]   |                                                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/platform/posix.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         use core::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/platform/posix.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         use core::time::Duration;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv6Addr`
[INFO] [stdout]   --> src/pubsub/udp.rs:75:69
[INFO] [stdout]    |
[INFO] [stdout] 75 |     use std::net::{UdpSocket as StdUdpSocket, SocketAddr, Ipv4Addr, Ipv6Addr};
[INFO] [stdout]    |                                                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::PubSubError`
[INFO] [stdout]  --> src/pubsub/publisher.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::PubSubError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/pubsub/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HAError`
[INFO] [stdout]  --> src/ha/manager.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ha::{Result, HAError};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/replication.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/heartbeat.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HAError`
[INFO] [stdout]  --> src/ha/role.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ha::{Result, HAError};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PubSubError`
[INFO] [stdout]  --> src/ha/role.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pubsub::{PubSubConfig, UdpMode, PubSubError};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]  --> src/ha/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use alloc::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/time_series/index.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{sync::RwLock, collections::HashMap, sync::Mutex};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory_size`
[INFO] [stdout]   --> examples/time_series_iot.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let memory_size = 128 * 1024 * 1024; // 128MB
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rooms`
[INFO] [stdout]    --> examples/time_series_iot.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let rooms = ["room_101", "room_102"];
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_rooms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> examples/time_series_iot.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> examples/time_series_iot.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             DB_MEMORY.len()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/types.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn to_sql_type(&self, size: usize) -> &'static str {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/types.rs:264:23
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn to_iso8601(timestamp: &super::db_timestamp) -> alloc::string::String {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format`
[INFO] [stdout]    --> src/types.rs:271:53
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn to_char(timestamp: &super::db_timestamp, format: &str) -> alloc::string::String {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_format`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/table.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `slot_id` is never read
[INFO] [stdout]    --> src/table.rs:445:27
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut slot_id = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]     --> src/table.rs:1740:44
[INFO] [stdout]      |
[INFO] [stdout] 1740 |         for (window_start, (sum, min, max, last, count)) in window_aggregates {
[INFO] [stdout]      |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:985:17
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let mut node_mut = &mut *node_ptr;
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1035:13
[INFO] [stdout]      |
[INFO] [stdout] 1035 |         let mut node_mut = &mut *node_ptr.as_ptr();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1223:17
[INFO] [stdout]      |
[INFO] [stdout] 1223 |             let mut root = self.root.expect("Root node unexpectedly None");
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]     --> src/index.rs:1544:37
[INFO] [stdout]      |
[INFO] [stdout] 1544 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_size`
[INFO] [stdout]     --> src/index.rs:1544:53
[INFO] [stdout]      |
[INFO] [stdout] 1544 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1584:17
[INFO] [stdout]      |
[INFO] [stdout] 1584 |             let mut node_mut = &mut *node_ptr;
[INFO] [stdout]      |                 ----^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/index.rs:1632:13
[INFO] [stdout]      |
[INFO] [stdout] 1632 |         let mut node_mut = &mut *node_ptr.as_ptr();
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]     --> src/index.rs:2207:37
[INFO] [stdout]      |
[INFO] [stdout] 2207 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_size`
[INFO] [stdout]     --> src/index.rs:2207:53
[INFO] [stdout]      |
[INFO] [stdout] 2207 |     pub unsafe fn delete(&mut self, key: *const u8, key_size: usize) -> Result<()> {
[INFO] [stdout]      |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/transaction.rs:778:9
[INFO] [stdout]     |
[INFO] [stdout] 778 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:878:40
[INFO] [stdout]     |
[INFO] [stdout] 878 |             Expression::Field { alias: mut expr_alias, name, .. } => {
[INFO] [stdout]     |                                        ----^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:884:47
[INFO] [stdout]     |
[INFO] [stdout] 884 |             Expression::FunctionCall { alias: mut expr_alias, name, args, .. } => {
[INFO] [stdout]     |                                               ----^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_parser.rs:891:43
[INFO] [stdout]     |
[INFO] [stdout] 891 |             Expression::Constant { alias: mut expr_alias, value, .. } => {
[INFO] [stdout]     |                                           ----^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_pos`
[INFO] [stdout]    --> src/sql/query_parser.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |             let saved_pos = self.position;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_col`
[INFO] [stdout]    --> src/sql/query_parser.rs:815:17
[INFO] [stdout]     |
[INFO] [stdout] 815 |             let saved_col = self.column;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_pos`
[INFO] [stdout]     --> src/sql/query_parser.rs:1043:13
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         let saved_pos = self.position;
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `saved_col`
[INFO] [stdout]     --> src/sql/query_parser.rs:1044:13
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let saved_col = self.column;
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_saved_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tz_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1277:17
[INFO] [stdout]      |
[INFO] [stdout] 1277 |             let tz_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tz_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1288:17
[INFO] [stdout]      |
[INFO] [stdout] 1288 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `format_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1293:17
[INFO] [stdout]      |
[INFO] [stdout] 1293 |             let format_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_format_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1304:17
[INFO] [stdout]      |
[INFO] [stdout] 1304 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_param`
[INFO] [stdout]     --> src/sql/query_parser.rs:1315:17
[INFO] [stdout]      |
[INFO] [stdout] 1315 |             let time_param = self.parse_value()?;
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tz_value`
[INFO] [stdout]     --> src/sql/query_parser.rs:1347:21
[INFO] [stdout]      |
[INFO] [stdout] 1347 |                 let tz_value = self.parse_value()?;
[INFO] [stdout]      |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tz_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sql/query_executor.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut matched_rows: Vec<Vec<TypedValue>> = Vec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/sql/query_executor.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for expr in &columns {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/sql/query_executor.rs:283:47
[INFO] [stdout]     |
[INFO] [stdout] 277 |                         unsafe {
[INFO] [stdout]     |                         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 283 |                                 let is_less = unsafe {
[INFO] [stdout]     |                                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/sql/query_executor.rs:310:50
[INFO] [stdout]     |
[INFO] [stdout] 304 |                         unsafe {
[INFO] [stdout]     |                         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 310 |                                 let is_greater = unsafe {
[INFO] [stdout]     |                                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_values`
[INFO] [stdout]    --> src/sql/query_executor.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 |     record_values: &[TypedValue],
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/sql/query_executor.rs:461:45
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let iterate_result = table.iterate(|id, record_ptr| {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/sql/query_executor.rs:823:18
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn execute_count(args: &[TypedValue]) -> Result<TypedValue, QueryExecutionError> {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq_num`
[INFO] [stdout]    --> src/pubsub/mod.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let seq_num = frame.seq_num();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seq_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/pubsub/mod.rs:274:20
[INFO] [stdout]     |
[INFO] [stdout] 274 |         if let Err(e) = self.subscribers.handle_data(topic_id, payload) {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_index`
[INFO] [stdout]    --> src/ha/replication.rs:140:44
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn request_incremental_sync(&self, last_log_index: u32) -> Result<()> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/lib.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |             if let Some(table) = table {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_table`
[INFO] [stdout]    --> src/lib.rs:292:25
[INFO] [stdout]     |
[INFO] [stdout] 292 |             if let Some(ts_table) = ts_table {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ts_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1164:29
[INFO] [stdout]      |
[INFO] [stdout] 1164 |         let has_active_tx = unsafe { crate::transaction::has_active_tx() };
[INFO] [stdout]      |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_field_by_offset` is never used
[INFO] [stdout]    --> src/table.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl MemoryTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 395 |     unsafe fn get_field_by_offset(&self, record_data: *const u8, offset: usize, data_type: DataType, size: usize) -> Result<Value>
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `def` and `items` are never read
[INFO] [stdout]    --> src/index.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct PrimaryIndex {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 124 |     /// 表定义
[INFO] [stdout] 125 |     def: alloc::sync::Arc<TableDef>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     items: NonNull<PrimaryIndexItem>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `def` is never read
[INFO] [stdout]    --> src/index.rs:506:5
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct SecondaryIndex {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 505 |     /// 表定义
[INFO] [stdout] 506 |     def: alloc::sync::Arc<TableDef>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_node` is never used
[INFO] [stdout]     --> src/index.rs:1067:15
[INFO] [stdout]      |
[INFO] [stdout]  971 | impl BTreeIndex {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1067 |     unsafe fn free_node(&mut self, node_ptr: NonNull<BTreeNode>) {
[INFO] [stdout]      |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_node` is never used
[INFO] [stdout]     --> src/index.rs:1663:15
[INFO] [stdout]      |
[INFO] [stdout] 1570 | impl TTreeIndex {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1663 |     unsafe fn free_node(&mut self, node_ptr: NonNull<TTreeNode>) {
[INFO] [stdout]      |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_file_size_limit` and `log_segment_size` are never read
[INFO] [stdout]    --> src/transaction.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LogManager {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 168 |     log_file_size_limit: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 169 |     /// 日志分段大小
[INFO] [stdout] 170 |     log_segment_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_eof` is never used
[INFO] [stdout]     --> src/sql/query_parser.rs:1513:8
[INFO] [stdout]      |
[INFO] [stdout]  295 | impl SqlParser {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1513 |     fn is_eof(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_at_time_zone` is never used
[INFO] [stdout]     --> src/sql/query_executor.rs:2546:4
[INFO] [stdout]      |
[INFO] [stdout] 2546 | fn process_at_time_zone(timestamp: &crate::types::db_timestamp, timezone_spec: &str) -> Result<crate::types::db_timestamp, QueryEx...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_timezone_function` is never used
[INFO] [stdout]     --> src/sql/query_executor.rs:2570:4
[INFO] [stdout]      |
[INFO] [stdout] 2570 | fn process_timezone_function(timezone_spec: &str) -> Result<i16, QueryExecutionError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_columns` is never used
[INFO] [stdout]    --> src/sql/result_set.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn string_to_columns(s: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `values_to_string` is never used
[INFO] [stdout]    --> src/sql/result_set.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn values_to_string(values: &[TypedValue]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/pubsub/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct PubSub {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 121 |     config: PubSubConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `receive_loop`, `handle_received_data`, `handle_data_frame`, `handle_nack_frame`, and `handle_heartbeat_frame` are never used
[INFO] [stdout]    --> src/pubsub/mod.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl PubSub {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn receive_loop(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn handle_received_data(&mut self, data: &[u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn handle_data_frame(&mut self, frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn handle_nack_frame(&mut self, frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn handle_heartbeat_frame(&mut self, _frame: protocol::ProtocolFrame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_size` is never read
[INFO] [stdout]   --> src/pubsub/udp.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub struct PosixUdpSocket {
[INFO] [stdout]    |                -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |         buffer_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `topic_id` is never read
[INFO] [stdout]   --> src/pubsub/subscriber.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Subscriber {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     topic_id: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_initialized` is never read
[INFO] [stdout]   --> src/ha/manager.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HAManager {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYNC_REQUEST_TOPIC` is never used
[INFO] [stdout]   --> src/ha/replication.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SYNC_REQUEST_TOPIC: u16 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confirmed_slaves`, `lock`, and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/replication.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ReplicationManager {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     confirmed_slaves: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     /// 自旋锁
[INFO] [stdout] 21 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     /// 是否初始化
[INFO] [stdout] 23 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_wal_log` is never used
[INFO] [stdout]   --> src/ha/replication.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl ReplicationManager {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     fn handle_wal_log(&self, _data: &[u8]) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEARTBEAT_TOPIC` is never used
[INFO] [stdout]  --> src/ha/heartbeat.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const HEARTBEAT_TOPIC: u16 = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heartbeat_interval`, `failure_detection_time`, `lock`, and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/heartbeat.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct HeartbeatMonitor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 13 |     /// 心跳间隔（毫秒）
[INFO] [stdout] 14 |     heartbeat_interval: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     /// 故障检测时间（毫秒）
[INFO] [stdout] 16 |     failure_detection_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     /// 是否初始化
[INFO] [stdout] 24 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_heartbeat` and `send_heartbeat` are never used
[INFO] [stdout]    --> src/ha/heartbeat.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl HeartbeatMonitor {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn handle_heartbeat(&self, _data: &[u8]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn send_heartbeat(&self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lock` and `is_initialized` are never read
[INFO] [stdout]   --> src/ha/role.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct RoleManager {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     lock: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     /// 是否初始化
[INFO] [stdout] 19 |     is_initialized: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:344:9
[INFO] [stdout]     |
[INFO] [stdout] 344 |         crate::transaction::TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         crate::transaction::TX_MANAGER.commit()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/lib.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         crate::transaction::TX_MANAGER.rollback(self)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/lib.rs:1714:12
[INFO] [stdout]      |
[INFO] [stdout] 1714 |         Ok(DB_INSTANCE.as_mut().unwrap())
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/lib.rs:1721:9
[INFO] [stdout]      |
[INFO] [stdout] 1721 |         DB_INSTANCE.as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1205:5
[INFO] [stdout]      |
[INFO] [stdout] 1205 |     TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1210:5
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     TX_MANAGER.commit()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1215:5
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     TX_MANAGER.rollback(db)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1220:14
[INFO] [stdout]      |
[INFO] [stdout] 1220 |     unsafe { TX_MANAGER.get_current_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1225:14
[INFO] [stdout]      |
[INFO] [stdout] 1225 |     unsafe { TX_MANAGER.has_active_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1230:5
[INFO] [stdout]      |
[INFO] [stdout] 1230 |     TX_MANAGER.set_low_power_mode(enabled);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1235:5
[INFO] [stdout]      |
[INFO] [stdout] 1235 |     TX_MANAGER.set_log_manager(log_manager);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/pubsub/mod.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if PUB_SUB_INSTANCE.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if HA_MANAGER.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         HA_MANAGER.as_mut()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 20.14s
[INFO] running `Command { std: "docker" "inspect" "6a874e5319837489cbe3d2ccba55ae86165de35dec9d1c7a5bde7d457ae998a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a874e5319837489cbe3d2ccba55ae86165de35dec9d1c7a5bde7d457ae998a5", kill_on_drop: false }`
[INFO] [stdout] 6a874e5319837489cbe3d2ccba55ae86165de35dec9d1c7a5bde7d457ae998a5
