[INFO] fetching crate remdb 0.2.0...
[INFO] checking remdb-0.2.0 against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727
[INFO] extracting crate remdb 0.2.0 into /workspace/builds/worker-6-tc2/source
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate remdb 0.2.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate remdb 0.2.0
[INFO] tweaked toml for crates.io crate remdb 0.2.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate remdb 0.2.0 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 crates.io crate remdb 0.2.0 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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] e4b1489b6e6d90ebc3a4a6bcd5a15195c44ada260c00d753e443d6d252f5254e
[INFO] running `Command { std: "docker" "start" "-a" "e4b1489b6e6d90ebc3a4a6bcd5a15195c44ada260c00d753e443d6d252f5254e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e4b1489b6e6d90ebc3a4a6bcd5a15195c44ada260c00d753e443d6d252f5254e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4b1489b6e6d90ebc3a4a6bcd5a15195c44ada260c00d753e443d6d252f5254e", kill_on_drop: false }`
[INFO] [stdout] e4b1489b6e6d90ebc3a4a6bcd5a15195c44ada260c00d753e443d6d252f5254e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] e24256bc6f2810e72ed5ca249ad590f966f6b0fee2a0df375e33ab57e5b9c2ed
[INFO] running `Command { std: "docker" "start" "-a" "e24256bc6f2810e72ed5ca249ad590f966f6b0fee2a0df375e33ab57e5b9c2ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling zerocopy v0.8.31
[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 syn v2.0.111
[INFO] [stderr]    Compiling serde_json v1.0.147
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[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 futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking itoa v1.0.16
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking zmij v0.1.7
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking regex-automata v0.4.13
[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 cast v0.3.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling remdb-macros v0.2.0
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking serial_test v3.2.0
[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 rand v0.8.5
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking remdb v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking criterion v0.5.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: `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:285:25
[INFO] [stdout]     |
[INFO] [stdout] 285 |             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:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |             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:1165:29
[INFO] [stdout]      |
[INFO] [stdout] 1165 |         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:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |         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:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         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:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         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:1699:12
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         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:1706:9
[INFO] [stdout]      |
[INFO] [stdout] 1706 |         DB_INSTANCE.as_mut()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1205:5
[INFO] [stdout]      |
[INFO] [stdout] 1205 |     TX_MANAGER.begin(tx_type, isolation_level, tx_buffer, log_buffer, max_log_items)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1210:5
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     TX_MANAGER.commit()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1215:5
[INFO] [stdout]      |
[INFO] [stdout] 1215 |     TX_MANAGER.rollback(db)
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1220:14
[INFO] [stdout]      |
[INFO] [stdout] 1220 |     unsafe { TX_MANAGER.get_current_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1225:14
[INFO] [stdout]      |
[INFO] [stdout] 1225 |     unsafe { TX_MANAGER.has_active_tx() }
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1230:5
[INFO] [stdout]      |
[INFO] [stdout] 1230 |     TX_MANAGER.set_low_power_mode(enabled);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/transaction.rs:1235:5
[INFO] [stdout]      |
[INFO] [stdout] 1235 |     TX_MANAGER.set_log_manager(log_manager);
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/pubsub/mod.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if PUB_SUB_INSTANCE.is_some() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |         if HA_MANAGER.is_some() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/ha/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         HA_MANAGER.as_mut()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `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:285:25
[INFO] [stdout]     |
[INFO] [stdout] 285 |             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:293:25
[INFO] [stdout]     |
[INFO] [stdout] 293 |             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:1165:29
[INFO] [stdout]      |
[INFO] [stdout] 1165 |         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:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |         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:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         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:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         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:1699:12
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         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:1706:9
[INFO] [stdout]      |
[INFO] [stdout] 1706 |         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: `remdb::types::Result`
[INFO] [stdout]  --> tests/memory_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use remdb::types::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> tests/memory_test.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr3`
[INFO] [stdout]   --> tests/memory_test.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let ptr3 = allocator.allocate(64).unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_ptr3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_sizes`
[INFO] [stdout]   --> tests/memory_test.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let pool_sizes = [16, 32, 64, 128];
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_sizes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool_counts`
[INFO] [stdout]   --> tests/memory_test.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let pool_counts = [16, 8, 4, 2];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_counts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/memory_test.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr2`
[INFO] [stdout]    --> tests/memory_test.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let ptr2 = allocator.allocate(100).unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_ptr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeSeriesConfig`
[INFO] [stdout]  --> tests/ha_test.rs:4:55
[INFO] [stdout]   |
[INFO] [stdout] 4 | use remdb::config::{HARole, ReplicationMode, LogMode, TimeSeriesConfig};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result as HAResult`
[INFO] [stdout]  --> tests/ha_test.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use remdb::ha::{HAError, Result as HAResult};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stderr] thread 'rustc' (923) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[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] [stderr]    0:     0x7fe97602bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[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]    1:     0x7fe97660fb48 - core[75ca2badb63c4514]::fmt::write
[INFO] [stderr]    2:     0x7fe976042226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/ha_test.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    3:     0x7fe976001b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[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] [stderr]    4:     0x7fe97601f833 - std[7d609349af90bec6]::panicking::default_hook
[INFO] [stderr]    5:     0x7fe97500236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[INFO] [stderr]    6:     0x7fe97601fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[INFO] [stderr]    7:     0x7fe976001c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[INFO] [stderr]    8:     0x7fe975ff89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]    9:     0x7fe97600372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stderr]   10:     0x7fe972c38f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stderr]   11:     0x7fe9773e0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stderr]   12:     0x7fe977c1c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stderr]   13:     0x7fe977be65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stderr]   14:     0x7fe976cf0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stderr]   15:     0x7fe977807658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stderr]   16:     0x7fe9778073cd - 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:     0x7fe9778073a7 - <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:     0x7fe9777ecb5f - 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:     0x7fe9777ec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stderr]   20:     0x7fe97797127b - <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:     0x7fe97785ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stderr]   22:     0x7fe9776eac4e - 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:     0x7fe9776eaa20 - <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:     0x7fe9776ed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]   25:     0x7fe971263aa4 - <unknown>
[INFO] [stderr]   26:     0x7fe9712f0a64 - 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-08T22_02_20-910.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 "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=f5421b2cfcebc95c -C extra-filename=-15738c02487afe1b --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-37cd18dfa3ad407c.rmeta --extern remdb_macros=/opt/rustwide/target/debug/deps/libremdb_macros-e0a242ffd40ee52c.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: 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] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 360 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/wal_test.rs:404:5
[INFO] [stdout]     |
[INFO] [stdout] 404 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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] [stderr] 
[INFO] [stderr] thread 'rustc' (928) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[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] [stderr] stack backtrace:
[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] [stderr]    0:     0x77291842bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[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] [stderr]    1:     0x772918a0fb48 - core[75ca2badb63c4514]::fmt::write
[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] [stderr]    2:     0x772918442226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[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] [stderr]    3:     0x772918401b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[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] [stderr]    4:     0x77291841f833 - std[7d609349af90bec6]::panicking::default_hook
[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] [stderr]    5:     0x77291740236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[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] [stderr]    6:     0x77291841fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[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] [stderr]    7:     0x772918401c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[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]    8:     0x7729183f89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]    9:     0x77291840372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stderr]   10:     0x772915038f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stderr]   11:     0x7729197e0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stderr]   12:     0x77291a01c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stderr]   13:     0x772919fe65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stderr]   14:     0x7729190f0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stderr]   15:     0x772919c07658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stderr]   16:     0x772919c073cd - 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:     0x772919c073a7 - <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:     0x772919becb5f - 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:     0x772919bec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stderr]   20:     0x772919d7127b - <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:     0x772919c5ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stderr]   22:     0x772919aeac4e - 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:     0x772919aeaa20 - <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:     0x772919aed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]   25:     0x77291368aaa4 - <unknown>
[INFO] [stderr]   26:     0x772913717a64 - 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-08T22_02_20-926.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=02310650a51266e9 -C extra-filename=-fc7c07e8a02a23a5 --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-37cd18dfa3ad407c.rmeta --extern remdb_macros=/opt/rustwide/target/debug/deps/libremdb_macros-e0a242ffd40ee52c.so --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-2bf51442ea4d2b7d.rmeta --cap-lints=forbid` (exit status: 101)
[INFO] [stdout] warning: unused variable: `record_ptr`
[INFO] [stdout]    --> tests/sql_query_test.rs:247:28
[INFO] [stdout]     |
[INFO] [stdout] 247 |         table.iterate(|id, record_ptr| {
[INFO] [stdout]     |                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_ptr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let db = unsafe {
[INFO] [stdout]     |              ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> tests/sql_query_test.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let insert_id = unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |             DB_MEMORY.as_mut_ptr(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> tests/sql_query_test.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |             DB_MEMORY.len()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e24256bc6f2810e72ed5ca249ad590f966f6b0fee2a0df375e33ab57e5b9c2ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e24256bc6f2810e72ed5ca249ad590f966f6b0fee2a0df375e33ab57e5b9c2ed", kill_on_drop: false }`
[INFO] [stdout] e24256bc6f2810e72ed5ca249ad590f966f6b0fee2a0df375e33ab57e5b9c2ed
