[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 try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobjia%2Fremdb" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bobjia/remdb on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e9a7e1cbaa58d0aeb14eb29967bcc7e8463ca5d458c3846a7920f97f8f2d15d0
[INFO] running `Command { std: "docker" "start" "-a" "e9a7e1cbaa58d0aeb14eb29967bcc7e8463ca5d458c3846a7920f97f8f2d15d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e9a7e1cbaa58d0aeb14eb29967bcc7e8463ca5d458c3846a7920f97f8f2d15d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9a7e1cbaa58d0aeb14eb29967bcc7e8463ca5d458c3846a7920f97f8f2d15d0", kill_on_drop: false }`
[INFO] [stdout] e9a7e1cbaa58d0aeb14eb29967bcc7e8463ca5d458c3846a7920f97f8f2d15d0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5935b8af2b711211c37e1c4c18b25a693011b3b0666a9f09687c2859374d99b9
[INFO] running `Command { std: "docker" "start" "-a" "5935b8af2b711211c37e1c4c18b25a693011b3b0666a9f09687c2859374d99b9", 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]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking either v1.15.0
[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]    Compiling num-traits v0.2.19
[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 futures-io v0.3.31
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking zmij v0.1.7
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking itoa v1.0.16
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking syn v2.0.111
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking remdb v0.1.24 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[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: `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: 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: 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: 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: 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: 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: 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: `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: 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_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: 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: `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: 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/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: 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: 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]     Checking criterion v0.5.1
[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 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: `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] [stderr] 
[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] [stderr] thread 'rustc' (996) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[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] [stderr] attribute is missing tokens: Attribute { kind: Normal(NormalAttr { item: AttrItem { unsafety: Default, path: Path { span: tests/time_series_batch_test.rs:122:1: 122:8 (#23), segments: [PathSegment { ident: <test_trace>#23, id: NodeId(4294967040), args: None }], tokens: None }, args: Unparsed(Empty), tokens: None }, tokens: None }), id: AttrId(17), style: Outer, span: tests/time_series_batch_test.rs:122:1: 122:8 (#23) }
[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] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x74c21fe2bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[INFO] [stderr]    1:     0x74c22040fb48 - core[75ca2badb63c4514]::fmt::write
[INFO] [stderr]    2:     0x74c21fe42226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[INFO] [stderr]    3:     0x74c21fe01b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[INFO] [stderr]    4:     0x74c21fe1f833 - std[7d609349af90bec6]::panicking::default_hook
[INFO] [stderr]    5:     0x74c21ee0236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[INFO] [stderr]    6:     0x74c21fe1fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[INFO] [stderr]    7:     0x74c21fe01c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[INFO] [stderr]    8:     0x74c21fdf89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]    9:     0x74c21fe0372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stderr]   10:     0x74c21ca38f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stderr]   11:     0x74c2211e0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stderr]   12:     0x74c221a1c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stderr]   13:     0x74c2219e65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stderr]   14:     0x74c220af0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stderr]   15:     0x74c221607658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stderr]   16:     0x74c2216073cd - rustc_query_impl[8c5349e00d64015e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>
[INFO] [stderr]   17:     0x74c2216073a7 - <rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(rustc_middle[2342951a64deba5]::ty::context::TyCtxt, ())>>::call_once
[INFO] [stderr]   18:     0x74c2215ecb5f - rustc_query_system[d45be4fb383a0235]::query::plumbing::try_execute_query::<rustc_query_impl[8c5349e00d64015e]::DynamicConfig<rustc_query_system[d45be4fb383a0235]::query::caches::SingleCache<rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[8c5349e00d64015e]::plumbing::QueryCtxt, false>
[INFO] [stderr]   19:     0x74c2215ec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stderr]   20:     0x74c22177127b - <rustc_interface[903e43df8d6bd657]::passes::create_and_enter_global_ctxt<core[75ca2badb63c4514]::option::Option<rustc_interface[903e43df8d6bd657]::queries::Linker>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(&rustc_session[1e6875ba352dc1ba]::session::Session, rustc_middle[2342951a64deba5]::ty::context::CurrentGcx, alloc[d7482eb0f1d19161]::sync::Arc<rustc_data_structures[c82a87ce5cdbfc92]::jobserver::Proxy>, &std[7d609349af90bec6]::sync::once_lock::OnceLock<rustc_middle[2342951a64deba5]::ty::context::GlobalCtxt>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_middle[2342951a64deba5]::arena::Arena>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_hir[cc727ec2ba6ebdb5]::Arena>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stderr]   21:     0x74c22165ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stderr]   22:     0x74c2214eac4e - std[7d609349af90bec6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stderr]   23:     0x74c2214eaa20 - <std[7d609349af90bec6]::thread::lifecycle::spawn_unchecked<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[75ca2badb63c4514]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]   24:     0x74c2214ed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]   25:     0x74c21b08aaa4 - <unknown>
[INFO] [stderr]   26:     0x74c21b117a64 - clone
[INFO] [stderr]   27:                0x0 - <unknown>
[INFO] [stderr] 
[INFO] [stderr] error: the compiler unexpectedly panicked. this is a bug.
[INFO] [stderr] 
[INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[INFO] [stderr] 
[INFO] [stderr] note: please make sure that you have updated to the latest nightly
[INFO] [stderr] 
[INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2026-01-09T10_27_27-979.txt`: Read-only file system (os error 30)
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.94.0-nightly (66388cc16 2026-01-08) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] #0 [resolver_for_lowering_raw] getting the resolver for lowering
[INFO] [stderr] end of query stack
[INFO] [stderr] error: could not compile `remdb` (test "time_series_batch_test")
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/66388cc165a6c4ac98c074dc9f0281ff23528c55/bin/rustc --crate-name time_series_batch_test --edition=2021 tests/time_series_batch_test.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on --test --cfg 'feature="default"' --cfg 'feature="posix"' --cfg 'feature="rand"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("baremetal", "c-api", "debug", "default", "posix", "rand", "std"))' -C metadata=b0b115df0a092401 -C extra-filename=-ddfa723af1d43f9d --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern criterion=/opt/rustwide/target/debug/deps/libcriterion-3b927cd18256be22.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-90033ffd45dc8e2f.rmeta --extern remdb=/opt/rustwide/target/debug/deps/libremdb-a962d06c4689a6ab.rmeta --extern remdb_macros=/opt/rustwide/target/debug/deps/libremdb_macros-965e504c6a539955.so --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-2bf51442ea4d2b7d.rmeta --cap-lints=forbid` (exit status: 101)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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] [stderr] 
[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] [stderr] thread 'rustc' (1003) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[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] [stderr] attribute is missing tokens: Attribute { kind: Normal(NormalAttr { item: AttrItem { unsafety: Default, path: Path { span: tests/transaction_test.rs:173:1: 173:8 (#7), segments: [PathSegment { ident: <test_trace>#7, id: NodeId(4294967040), args: None }], tokens: None }, args: Unparsed(Empty), tokens: None }, tokens: None }), id: AttrId(14), style: Outer, span: tests/transaction_test.rs:173:1: 173:8 (#7) }
[INFO] [stderr] stack backtrace:
[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/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] [stderr]    0:     0x7565b3c2bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[INFO] [stderr]    1:     0x7565b420fb48 - core[75ca2badb63c4514]::fmt::write
[INFO] [stderr]    2:     0x7565b3c42226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[INFO] [stderr]    3:     0x7565b3c01b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[INFO] [stderr]    4:     0x7565b3c1f833 - std[7d609349af90bec6]::panicking::default_hook
[INFO] [stderr]    5:     0x7565b2c0236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[INFO] [stderr]    6:     0x7565b3c1fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[INFO] [stderr]    7:     0x7565b3c01c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[INFO] [stderr]    8:     0x7565b3bf89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]    9:     0x7565b3c0372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stderr]   10:     0x7565b0838f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stderr]   11:     0x7565b4fe0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stderr]   12:     0x7565b581c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stderr]   13:     0x7565b57e65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stderr]   14:     0x7565b48f0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stderr]   15:     0x7565b5407658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stderr]   16:     0x7565b54073cd - rustc_query_impl[8c5349e00d64015e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>
[INFO] [stderr]   17:     0x7565b54073a7 - <rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(rustc_middle[2342951a64deba5]::ty::context::TyCtxt, ())>>::call_once
[INFO] [stderr]   18:     0x7565b53ecb5f - rustc_query_system[d45be4fb383a0235]::query::plumbing::try_execute_query::<rustc_query_impl[8c5349e00d64015e]::DynamicConfig<rustc_query_system[d45be4fb383a0235]::query::caches::SingleCache<rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[8c5349e00d64015e]::plumbing::QueryCtxt, false>
[INFO] [stderr]   19:     0x7565b53ec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stderr]   20:     0x7565b557127b - <rustc_interface[903e43df8d6bd657]::passes::create_and_enter_global_ctxt<core[75ca2badb63c4514]::option::Option<rustc_interface[903e43df8d6bd657]::queries::Linker>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(&rustc_session[1e6875ba352dc1ba]::session::Session, rustc_middle[2342951a64deba5]::ty::context::CurrentGcx, alloc[d7482eb0f1d19161]::sync::Arc<rustc_data_structures[c82a87ce5cdbfc92]::jobserver::Proxy>, &std[7d609349af90bec6]::sync::once_lock::OnceLock<rustc_middle[2342951a64deba5]::ty::context::GlobalCtxt>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_middle[2342951a64deba5]::arena::Arena>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_hir[cc727ec2ba6ebdb5]::Arena>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stderr]   21:     0x7565b545ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stderr]   22:     0x7565b52eac4e - std[7d609349af90bec6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stderr]   23:     0x7565b52eaa20 - <std[7d609349af90bec6]::thread::lifecycle::spawn_unchecked<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[75ca2badb63c4514]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]   24:     0x7565b52ed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]   25:     0x7565aee8aaa4 - <unknown>
[INFO] [stderr]   26:     0x7565aef17a64 - clone
[INFO] [stderr]   27:                0x0 - <unknown>
[INFO] [stderr] 
[INFO] [stderr] error: the compiler unexpectedly panicked. this is a bug.
[INFO] [stderr] 
[INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[INFO] [stderr] 
[INFO] [stderr] note: please make sure that you have updated to the latest nightly
[INFO] [stderr] 
[INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2026-01-09T10_27_27-994.txt`: Read-only file system (os error 30)
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.94.0-nightly (66388cc16 2026-01-08) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] #0 [resolver_for_lowering_raw] getting the resolver for lowering
[INFO] [stderr] end of query stack
[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: `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: 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] [stderr] error: could not compile `remdb` (test "transaction_test")
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/66388cc165a6c4ac98c074dc9f0281ff23528c55/bin/rustc --crate-name transaction_test --edition=2021 tests/transaction_test.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on --test --cfg 'feature="default"' --cfg 'feature="posix"' --cfg 'feature="rand"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("baremetal", "c-api", "debug", "default", "posix", "rand", "std"))' -C metadata=0553615c4ee5d25d -C extra-filename=-47ef58e385743525 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern criterion=/opt/rustwide/target/debug/deps/libcriterion-3b927cd18256be22.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-90033ffd45dc8e2f.rmeta --extern remdb=/opt/rustwide/target/debug/deps/libremdb-a962d06c4689a6ab.rmeta --extern remdb_macros=/opt/rustwide/target/debug/deps/libremdb_macros-965e504c6a539955.so --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-2bf51442ea4d2b7d.rmeta --cap-lints=forbid` (exit status: 101)
[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: 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: 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: 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] [stderr] 
[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] [stderr] thread 'rustc' (1005) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[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] [stderr] attribute is missing tokens: Attribute { kind: Normal(NormalAttr { item: AttrItem { unsafety: Default, path: Path { span: tests/time_series_module_test.rs:186:1: 186:8 (#94), segments: [PathSegment { ident: <test_trace>#94, id: NodeId(4294967040), args: None }], tokens: None }, args: Unparsed(Empty), tokens: None }, tokens: None }), id: AttrId(47), style: Outer, span: tests/time_series_module_test.rs:186:1: 186:8 (#94) }
[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] [stderr] stack backtrace:
[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: 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] [stderr]    0:     0x7e9cb902bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[INFO] [stderr]    1:     0x7e9cb960fb48 - core[75ca2badb63c4514]::fmt::write
[INFO] [stderr]    2:     0x7e9cb9042226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[INFO] [stderr]    3:     0x7e9cb9001b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[INFO] [stderr]    4:     0x7e9cb901f833 - std[7d609349af90bec6]::panicking::default_hook
[INFO] [stderr]    5:     0x7e9cb800236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[INFO] [stderr]    6:     0x7e9cb901fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[INFO] [stderr]    7:     0x7e9cb9001c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[INFO] [stderr]    8:     0x7e9cb8ff89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]    9:     0x7e9cb900372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stderr]   10:     0x7e9cb5c38f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stderr]   11:     0x7e9cba3e0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stderr]   12:     0x7e9cbac1c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stderr]   13:     0x7e9cbabe65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stderr]   14:     0x7e9cb9cf0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stderr]   15:     0x7e9cba807658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stderr]   16:     0x7e9cba8073cd - rustc_query_impl[8c5349e00d64015e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>
[INFO] [stderr]   17:     0x7e9cba8073a7 - <rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(rustc_middle[2342951a64deba5]::ty::context::TyCtxt, ())>>::call_once
[INFO] [stderr]   18:     0x7e9cba7ecb5f - rustc_query_system[d45be4fb383a0235]::query::plumbing::try_execute_query::<rustc_query_impl[8c5349e00d64015e]::DynamicConfig<rustc_query_system[d45be4fb383a0235]::query::caches::SingleCache<rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[8c5349e00d64015e]::plumbing::QueryCtxt, false>
[INFO] [stderr]   19:     0x7e9cba7ec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stderr]   20:     0x7e9cba97127b - <rustc_interface[903e43df8d6bd657]::passes::create_and_enter_global_ctxt<core[75ca2badb63c4514]::option::Option<rustc_interface[903e43df8d6bd657]::queries::Linker>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(&rustc_session[1e6875ba352dc1ba]::session::Session, rustc_middle[2342951a64deba5]::ty::context::CurrentGcx, alloc[d7482eb0f1d19161]::sync::Arc<rustc_data_structures[c82a87ce5cdbfc92]::jobserver::Proxy>, &std[7d609349af90bec6]::sync::once_lock::OnceLock<rustc_middle[2342951a64deba5]::ty::context::GlobalCtxt>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_middle[2342951a64deba5]::arena::Arena>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_hir[cc727ec2ba6ebdb5]::Arena>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stderr]   21:     0x7e9cba85ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stderr]   22:     0x7e9cba6eac4e - std[7d609349af90bec6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stderr]   23:     0x7e9cba6eaa20 - <std[7d609349af90bec6]::thread::lifecycle::spawn_unchecked<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[75ca2badb63c4514]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]   24:     0x7e9cba6ed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[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] [stderr]   25:     0x7e9cb428aaa4 - <unknown>
[INFO] [stderr]   26:     0x7e9cb4317a64 - clone
[INFO] [stderr]   27:                0x0 - <unknown>
[INFO] [stderr] 
[INFO] [stderr] error: the compiler unexpectedly panicked. this is a bug.
[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] [stderr] 
[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] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[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] [stderr] 
[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] [stderr] note: please make sure that you have updated to the latest nightly
[INFO] [stderr] 
[INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2026-01-09T10_27_27-978.txt`: Read-only file system (os error 30)
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.94.0-nightly (66388cc16 2026-01-08) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] #0 [resolver_for_lowering_raw] getting the resolver for lowering
[INFO] [stderr] end of query stack
[INFO] [stderr] error: could not compile `remdb` (test "time_series_module_test")
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/66388cc165a6c4ac98c074dc9f0281ff23528c55/bin/rustc --crate-name time_series_module_test --edition=2021 tests/time_series_module_test.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on --test --cfg 'feature="default"' --cfg 'feature="posix"' --cfg 'feature="rand"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("baremetal", "c-api", "debug", "default", "posix", "rand", "std"))' -C metadata=da699e074664e951 -C extra-filename=-e9cc12bab6d97448 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern criterion=/opt/rustwide/target/debug/deps/libcriterion-3b927cd18256be22.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-90033ffd45dc8e2f.rmeta --extern remdb=/opt/rustwide/target/debug/deps/libremdb-a962d06c4689a6ab.rmeta --extern remdb_macros=/opt/rustwide/target/debug/deps/libremdb_macros-965e504c6a539955.so --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-2bf51442ea4d2b7d.rmeta --cap-lints=forbid` (exit status: 101)
[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] running `Command { std: "docker" "inspect" "5935b8af2b711211c37e1c4c18b25a693011b3b0666a9f09687c2859374d99b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5935b8af2b711211c37e1c4c18b25a693011b3b0666a9f09687c2859374d99b9", kill_on_drop: false }`
[INFO] [stdout] 5935b8af2b711211c37e1c4c18b25a693011b3b0666a9f09687c2859374d99b9
