[INFO] cloning repository https://github.com/tsmarsh/rustql
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tsmarsh/rustql" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmarsh%2Frustql", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmarsh%2Frustql'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3dd8c3a5199501efc4eb1d10d9325e26d064ae10
[INFO] testing tsmarsh/rustql against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmarsh%2Frustql" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tsmarsh/rustql
[INFO] finished tweaking git repo https://github.com/tsmarsh/rustql
[INFO] tweaked toml for git repo https://github.com/tsmarsh/rustql written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tsmarsh/rustql on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tsmarsh/rustql 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossterm v0.28.1
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.5
[INFO] [stderr]   Downloaded crossterm_winapi v0.9.1
[INFO] [stderr]   Downloaded quote v1.0.43
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.8
[INFO] [stderr]   Downloaded tempfile v3.24.0
[INFO] [stderr]   Downloaded cc v1.2.53
[INFO] [stderr]   Downloaded libc v0.2.179
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5d7e29665389dc9a4e061c977005c142284bed31942f22ad41f601d696a97b6
[INFO] running `Command { std: "docker" "start" "-a" "d5d7e29665389dc9a4e061c977005c142284bed31942f22ad41f601d696a97b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5d7e29665389dc9a4e061c977005c142284bed31942f22ad41f601d696a97b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5d7e29665389dc9a4e061c977005c142284bed31942f22ad41f601d696a97b6", kill_on_drop: false }`
[INFO] [stdout] d5d7e29665389dc9a4e061c977005c142284bed31942f22ad41f601d696a97b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29380b7584621285e9eee42f7a8010174384fee1a5625f6070b04ab2d61aec4f
[INFO] running `Command { std: "docker" "start" "-a" "29380b7584621285e9eee42f7a8010174384fee1a5625f6070b04ab2d61aec4f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling rustql v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stdout] warning: unexpected `cfg` condition value: `sqlite3-ffi`
[INFO] [stdout]  --> build.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     #[cfg(feature = "sqlite3-ffi")]
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossterm`, `default`, `fts3`, `fts5`, `json`, `rtree`, `session`, `tcl`, and `tui`
[INFO] [stdout]   = help: consider adding `sqlite3-ffi` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stdout] warning: unused import: `WhereLevelFlags`
[INFO] [stdout]   --> src/executor/select/mod.rs:15:71
[INFO] [stdout]    |
[INFO] [stdout] 15 |     IndexInfo, OrBranch, QueryPlanner, TermOp, WhereInfo, WhereLevel, WhereLevelFlags, WherePlan,
[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: `WindowCompiler`
[INFO] [stdout]   --> src/executor/select/mod.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::executor::window::{select_has_window_functions, WindowCompiler};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/executor/trigger.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / /// Track trigger compilation depth to prevent infinite compile-time recursion.
[INFO] [stdout] 18 | | /// SQLite handles recursive triggers at runtime via the trigger_depth counter.
[INFO] [stdout] 19 | | /// By default, recursive triggers are OFF in SQLite. We limit compile-time nesting
[INFO] [stdout] 20 | | /// to prevent stack overflow; runtime trigger_depth checking prevents infinite execution.
[INFO] [stdout]    | |_-----------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeleteStmt`, `InsertStmt`, and `UpdateStmt`
[INFO] [stdout]     --> src/parser/grammar.rs:2062:34
[INFO] [stdout]      |
[INFO] [stdout] 2062 |         use crate::parser::ast::{DeleteStmt, IndexedBy, InsertStmt, Stmt, UpdateStmt};
[INFO] [stdout]      |                                  ^^^^^^^^^^             ^^^^^^^^^^        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SerialType` and `decode_record_header`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:1066:36
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         use crate::vdbe::auxdata::{decode_record_header, SerialType};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2374:28
[INFO] [stdout]      |
[INFO] [stdout] 2374 |                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stdout]      |                            ^                                        ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2374 -                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stdout] 2374 +                         if need_root_lookup || table_meta.is_none() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_str_upper`
[INFO] [stdout]     --> src/api/connection.rs:1898:13
[INFO] [stdout]      |
[INFO] [stdout] 1898 |         let col_str_upper = col_str.to_uppercase();
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_str_upper`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]     --> src/executor/delete.rs:1673:55
[INFO] [stdout]      |
[INFO] [stdout] 1673 |                     crate::parser::ast::InList::Table(table_name) => {
[INFO] [stdout]      |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_schema_lower`
[INFO] [stdout]     --> src/executor/prepare.rs:3554:17
[INFO] [stdout]      |
[INFO] [stdout] 3554 |             let table_schema_lower = table_schema.to_lowercase();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_schema_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/executor/prepare.rs:4769:13
[INFO] [stdout]      |
[INFO] [stdout] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/executor/prepare.rs:4769:13
[INFO] [stdout]      |
[INFO] [stdout] 4546 |             Expr::Literal(lit) => match lit {
[INFO] [stdout]      |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4557 |             Expr::Column(col) => {
[INFO] [stdout]      |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4564 |             Expr::Binary { op, left, right } => {
[INFO] [stdout]      |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4596 |             Expr::Unary { op, expr: inner } => {
[INFO] [stdout]      |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stdout]      |             ^ ...and 15 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_base_reg`
[INFO] [stdout]     --> src/executor/select/mod.rs:2217:25
[INFO] [stdout]      |
[INFO] [stdout] 2217 |                     let key_base_reg = self.next_reg;
[INFO] [stdout]      |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loop_start_label`
[INFO] [stdout]     --> src/executor/select/mod.rs:2723:13
[INFO] [stdout]      |
[INFO] [stdout] 2723 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_base_reg`
[INFO] [stdout]     --> src/executor/select/mod.rs:2834:47
[INFO] [stdout]      |
[INFO] [stdout] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stdout]      |                                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_count`
[INFO] [stdout]     --> src/executor/select/mod.rs:2834:61
[INFO] [stdout]      |
[INFO] [stdout] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stdout]      |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_frame_current_row`
[INFO] [stdout]     --> src/executor/select/mod.rs:3490:17
[INFO] [stdout]      |
[INFO] [stdout] 3490 |             let has_frame_current_row = frame
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_frame_current_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_rows`
[INFO] [stdout]     --> src/executor/select/mod.rs:4656:29
[INFO] [stdout]      |
[INFO] [stdout] 4656 |                         let is_rows =
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clamp_start`
[INFO] [stdout]     --> src/executor/select/mod.rs:4700:37
[INFO] [stdout]      |
[INFO] [stdout] 4700 | ...                   let clamp_start = self.alloc_label();
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clamp_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loop_start_label`
[INFO] [stdout]     --> src/executor/select/mod.rs:5646:13
[INFO] [stdout]      |
[INFO] [stdout] 5646 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/executor/select/mod.rs:6629:18
[INFO] [stdout]      |
[INFO] [stdout] 6629 |             for (idx, maybe_offset) in non_agg_indices.iter().enumerate() {
[INFO] [stdout]      |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_idx`
[INFO] [stdout]     --> src/executor/select/mod.rs:8450:29
[INFO] [stdout]      |
[INFO] [stdout] 8450 |                 if let Some(col_idx) = self
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]     --> src/executor/select/mod.rs:8646:9
[INFO] [stdout]      |
[INFO] [stdout] 8646 |         level: &WhereLevel,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_cursor`
[INFO] [stdout]      --> src/executor/select/mod.rs:11667:9
[INFO] [stdout]       |
[INFO] [stdout] 11667 |         table_cursor: i32,
[INFO] [stdout]       |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `where_info`
[INFO] [stdout]      --> src/executor/select/mod.rs:11672:9
[INFO] [stdout]       |
[INFO] [stdout] 11672 |         where_info: &Option<WhereInfo>,
[INFO] [stdout]       |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/executor/update.rs:1126:17
[INFO] [stdout]      |
[INFO] [stdout] 1126 |             let mut all_match_label = conflict_label;
[INFO] [stdout]      |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_name`
[INFO] [stdout]     --> src/executor/update.rs:1063:14
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         for (idx_name, col_indices, idx_conflict_action, is_pk) in &unique_checks {
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ipk_col`
[INFO] [stdout]     --> src/executor/update.rs:1491:13
[INFO] [stdout]      |
[INFO] [stdout] 1491 |         let ipk_col = self.get_ipk_column_index();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipk_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_leaf`
[INFO] [stdout]    --> src/rtree.rs:757:49
[INFO] [stdout]     |
[INFO] [stdout] 757 |     pub fn deserialize_node(&self, data: &[u8], is_leaf: bool) -> Result<Vec<RtreeEntry>> {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_leaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_limits`
[INFO] [stdout]     --> src/storage/btree/mod.rs:4396:33
[INFO] [stdout]      |
[INFO] [stdout] 4396 |             let (root_mem_page, root_limits) = _cursor.load_page(&mut shared_guard, root_pgno)?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:8683:13
[INFO] [stdout]      |
[INFO] [stdout] 3384 |             Opcode::Count => {
[INFO] [stdout]      |             ------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 8683 |             Opcode::Count => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5129:37
[INFO] [stdout]      |
[INFO] [stdout] 5129 | ...                   let mut text = None;
[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/vdbe/engine/mod.rs:5922:25
[INFO] [stdout]      |
[INFO] [stdout] 5922 |                     let mut skip_final_insert = false;
[INFO] [stdout]      |                         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index_table_name` is assigned to, but never used
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2278:25
[INFO] [stdout]      |
[INFO] [stdout] 2278 |                     let mut index_table_name: Option<String> = None;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_index_table_name` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:3161:25
[INFO] [stdout]      |
[INFO] [stdout] 3161 |                     let btree = self.btree.clone();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:3458:21
[INFO] [stdout]      |
[INFO] [stdout] 3458 |                 let btree = self.btree.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5119:33
[INFO] [stdout]      |
[INFO] [stdout] 5119 | ...                   let btree = self.btree.clone();
[INFO] [stdout]      |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5120:33
[INFO] [stdout]      |
[INFO] [stdout] 5120 | ...                   let schema = self.schema.clone();
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vtab_name`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5130:46
[INFO] [stdout]      |
[INFO] [stdout] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stdout]      |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vtab_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rowid`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5130:63
[INFO] [stdout]      |
[INFO] [stdout] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stdout]      |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_rowid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5436:21
[INFO] [stdout]      |
[INFO] [stdout] 5436 |                 let btree = btree_arc.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6222:21
[INFO] [stdout]      |
[INFO] [stdout] 6222 |                 let btree = btree_arc.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6223:21
[INFO] [stdout]      |
[INFO] [stdout] 6223 |                 let schema = self.schema.clone();
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6389:37
[INFO] [stdout]      |
[INFO] [stdout] 6389 |                         if let Some(ref btree) = btree_arc {
[INFO] [stdout]      |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2332:45
[INFO] [stdout]      |
[INFO] [stdout] 2332 | ...                   index_table_name = Some(index.table.clone());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2352 | ...                           index_table_name = Some(idx.table.clone());
[INFO] [stdout]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2352:53
[INFO] [stdout]      |
[INFO] [stdout] 2352 | ...                   index_table_name = Some(idx.table.clone());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2410 | ...                       index_table_name =
[INFO] [stdout]      |                           ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2410:57
[INFO] [stdout]      |
[INFO] [stdout] 2410 | ...                   index_table_name =
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2432 | ...                           index_table_name =
[INFO] [stdout]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2432:65
[INFO] [stdout]      |
[INFO] [stdout] 2432 | ...                   index_table_name =
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BtTableLockEntry` is more private than the item `BtShared::table_locks`
[INFO] [stdout]    --> src/storage/btree/mod.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub table_locks: Vec<BtTableLockEntry>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `BtShared::table_locks` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BtTableLockEntry` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/storage/btree/types.rs:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub(crate) struct BtTableLockEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bin/rustql.rs:339:21
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     _ => break,
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/bin/rustql.rs:339:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     Ok(StepResult::Row) => {
[INFO] [stdout]     |                     ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 329 |                     Ok(StepResult::Done) => break,
[INFO] [stdout]     |                     -------------------- matches some of the same values
[INFO] [stdout] 330 |                     Err(e) => {
[INFO] [stdout]     |                     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 339 |                     _ => break,
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.68s
[INFO] running `Command { std: "docker" "inspect" "29380b7584621285e9eee42f7a8010174384fee1a5625f6070b04ab2d61aec4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29380b7584621285e9eee42f7a8010174384fee1a5625f6070b04ab2d61aec4f", kill_on_drop: false }`
[INFO] [stdout] 29380b7584621285e9eee42f7a8010174384fee1a5625f6070b04ab2d61aec4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4f1c1641cf2e69431fb2a627858164b1d687895c4cd87da589df8c86509904d
[INFO] running `Command { std: "docker" "start" "-a" "e4f1c1641cf2e69431fb2a627858164b1d687895c4cd87da589df8c86509904d", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition value: `sqlite3-ffi`
[INFO] [stdout]  --> build.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     #[cfg(feature = "sqlite3-ffi")]
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossterm`, `default`, `fts3`, `fts5`, `json`, `rtree`, `session`, `tcl`, and `tui`
[INFO] [stdout]   = help: consider adding `sqlite3-ffi` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling rustql v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stdout] warning: unused import: `WhereLevelFlags`
[INFO] [stdout]   --> src/executor/select/mod.rs:15:71
[INFO] [stdout]    |
[INFO] [stdout] 15 |     IndexInfo, OrBranch, QueryPlanner, TermOp, WhereInfo, WhereLevel, WhereLevelFlags, WherePlan,
[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: `WindowCompiler`
[INFO] [stdout]   --> src/executor/select/mod.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::executor::window::{select_has_window_functions, WindowCompiler};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/executor/trigger.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / /// Track trigger compilation depth to prevent infinite compile-time recursion.
[INFO] [stdout] 18 | | /// SQLite handles recursive triggers at runtime via the trigger_depth counter.
[INFO] [stdout] 19 | | /// By default, recursive triggers are OFF in SQLite. We limit compile-time nesting
[INFO] [stdout] 20 | | /// to prevent stack overflow; runtime trigger_depth checking prevents infinite execution.
[INFO] [stdout]    | |_-----------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeleteStmt`, `InsertStmt`, and `UpdateStmt`
[INFO] [stdout]     --> src/parser/grammar.rs:2062:34
[INFO] [stdout]      |
[INFO] [stdout] 2062 |         use crate::parser::ast::{DeleteStmt, IndexedBy, InsertStmt, Stmt, UpdateStmt};
[INFO] [stdout]      |                                  ^^^^^^^^^^             ^^^^^^^^^^        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SerialType` and `decode_record_header`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:1066:36
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         use crate::vdbe::auxdata::{decode_record_header, SerialType};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2374:28
[INFO] [stdout]      |
[INFO] [stdout] 2374 |                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stdout]      |                            ^                                        ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2374 -                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stdout] 2374 +                         if need_root_lookup || table_meta.is_none() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WhereLevelFlags`
[INFO] [stdout]   --> src/executor/select/mod.rs:15:71
[INFO] [stdout]    |
[INFO] [stdout] 15 |     IndexInfo, OrBranch, QueryPlanner, TermOp, WhereInfo, WhereLevel, WhereLevelFlags, WherePlan,
[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: `WindowCompiler`
[INFO] [stdout]   --> src/executor/select/mod.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::executor::window::{select_has_window_functions, WindowCompiler};
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/executor/trigger.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / /// Track trigger compilation depth to prevent infinite compile-time recursion.
[INFO] [stdout] 18 | | /// SQLite handles recursive triggers at runtime via the trigger_depth counter.
[INFO] [stdout] 19 | | /// By default, recursive triggers are OFF in SQLite. We limit compile-time nesting
[INFO] [stdout] 20 | | /// to prevent stack overflow; runtime trigger_depth checking prevents infinite execution.
[INFO] [stdout]    | |_-----------------------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeleteStmt`, `InsertStmt`, and `UpdateStmt`
[INFO] [stdout]     --> src/parser/grammar.rs:2062:34
[INFO] [stdout]      |
[INFO] [stdout] 2062 |         use crate::parser::ast::{DeleteStmt, IndexedBy, InsertStmt, Stmt, UpdateStmt};
[INFO] [stdout]      |                                  ^^^^^^^^^^             ^^^^^^^^^^        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SerialType` and `decode_record_header`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:1066:36
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         use crate::vdbe::auxdata::{decode_record_header, SerialType};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2374:28
[INFO] [stdout]      |
[INFO] [stdout] 2374 |                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stdout]      |                            ^                                        ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 2374 -                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stdout] 2374 +                         if need_root_lookup || table_meta.is_none() {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_str_upper`
[INFO] [stdout]     --> src/api/connection.rs:1898:13
[INFO] [stdout]      |
[INFO] [stdout] 1898 |         let col_str_upper = col_str.to_uppercase();
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_str_upper`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]     --> src/executor/delete.rs:1673:55
[INFO] [stdout]      |
[INFO] [stdout] 1673 |                     crate::parser::ast::InList::Table(table_name) => {
[INFO] [stdout]      |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_schema_lower`
[INFO] [stdout]     --> src/executor/prepare.rs:3554:17
[INFO] [stdout]      |
[INFO] [stdout] 3554 |             let table_schema_lower = table_schema.to_lowercase();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_schema_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/executor/prepare.rs:4769:13
[INFO] [stdout]      |
[INFO] [stdout] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/executor/prepare.rs:4769:13
[INFO] [stdout]      |
[INFO] [stdout] 4546 |             Expr::Literal(lit) => match lit {
[INFO] [stdout]      |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4557 |             Expr::Column(col) => {
[INFO] [stdout]      |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4564 |             Expr::Binary { op, left, right } => {
[INFO] [stdout]      |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4596 |             Expr::Unary { op, expr: inner } => {
[INFO] [stdout]      |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stdout]      |             ^ ...and 15 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_base_reg`
[INFO] [stdout]     --> src/executor/select/mod.rs:2217:25
[INFO] [stdout]      |
[INFO] [stdout] 2217 |                     let key_base_reg = self.next_reg;
[INFO] [stdout]      |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loop_start_label`
[INFO] [stdout]     --> src/executor/select/mod.rs:2723:13
[INFO] [stdout]      |
[INFO] [stdout] 2723 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_base_reg`
[INFO] [stdout]     --> src/executor/select/mod.rs:2834:47
[INFO] [stdout]      |
[INFO] [stdout] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stdout]      |                                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_count`
[INFO] [stdout]     --> src/executor/select/mod.rs:2834:61
[INFO] [stdout]      |
[INFO] [stdout] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stdout]      |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_frame_current_row`
[INFO] [stdout]     --> src/executor/select/mod.rs:3490:17
[INFO] [stdout]      |
[INFO] [stdout] 3490 |             let has_frame_current_row = frame
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_frame_current_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_rows`
[INFO] [stdout]     --> src/executor/select/mod.rs:4656:29
[INFO] [stdout]      |
[INFO] [stdout] 4656 |                         let is_rows =
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clamp_start`
[INFO] [stdout]     --> src/executor/select/mod.rs:4700:37
[INFO] [stdout]      |
[INFO] [stdout] 4700 | ...                   let clamp_start = self.alloc_label();
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clamp_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loop_start_label`
[INFO] [stdout]     --> src/executor/select/mod.rs:5646:13
[INFO] [stdout]      |
[INFO] [stdout] 5646 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/executor/select/mod.rs:6629:18
[INFO] [stdout]      |
[INFO] [stdout] 6629 |             for (idx, maybe_offset) in non_agg_indices.iter().enumerate() {
[INFO] [stdout]      |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_idx`
[INFO] [stdout]     --> src/executor/select/mod.rs:8450:29
[INFO] [stdout]      |
[INFO] [stdout] 8450 |                 if let Some(col_idx) = self
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]     --> src/executor/select/mod.rs:8646:9
[INFO] [stdout]      |
[INFO] [stdout] 8646 |         level: &WhereLevel,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_cursor`
[INFO] [stdout]      --> src/executor/select/mod.rs:11667:9
[INFO] [stdout]       |
[INFO] [stdout] 11667 |         table_cursor: i32,
[INFO] [stdout]       |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `where_info`
[INFO] [stdout]      --> src/executor/select/mod.rs:11672:9
[INFO] [stdout]       |
[INFO] [stdout] 11672 |         where_info: &Option<WhereInfo>,
[INFO] [stdout]       |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/executor/update.rs:1126:17
[INFO] [stdout]      |
[INFO] [stdout] 1126 |             let mut all_match_label = conflict_label;
[INFO] [stdout]      |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_name`
[INFO] [stdout]     --> src/executor/update.rs:1063:14
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         for (idx_name, col_indices, idx_conflict_action, is_pk) in &unique_checks {
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ipk_col`
[INFO] [stdout]     --> src/executor/update.rs:1491:13
[INFO] [stdout]      |
[INFO] [stdout] 1491 |         let ipk_col = self.get_ipk_column_index();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipk_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_leaf`
[INFO] [stdout]    --> src/rtree.rs:757:49
[INFO] [stdout]     |
[INFO] [stdout] 757 |     pub fn deserialize_node(&self, data: &[u8], is_leaf: bool) -> Result<Vec<RtreeEntry>> {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_leaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_limits`
[INFO] [stdout]     --> src/storage/btree/mod.rs:4396:33
[INFO] [stdout]      |
[INFO] [stdout] 4396 |             let (root_mem_page, root_limits) = _cursor.load_page(&mut shared_guard, root_pgno)?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:8683:13
[INFO] [stdout]      |
[INFO] [stdout] 3384 |             Opcode::Count => {
[INFO] [stdout]      |             ------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 8683 |             Opcode::Count => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5129:37
[INFO] [stdout]      |
[INFO] [stdout] 5129 | ...                   let mut text = None;
[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/vdbe/engine/mod.rs:5922:25
[INFO] [stdout]      |
[INFO] [stdout] 5922 |                     let mut skip_final_insert = false;
[INFO] [stdout]      |                         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index_table_name` is assigned to, but never used
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2278:25
[INFO] [stdout]      |
[INFO] [stdout] 2278 |                     let mut index_table_name: Option<String> = None;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_index_table_name` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:3161:25
[INFO] [stdout]      |
[INFO] [stdout] 3161 |                     let btree = self.btree.clone();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:3458:21
[INFO] [stdout]      |
[INFO] [stdout] 3458 |                 let btree = self.btree.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5119:33
[INFO] [stdout]      |
[INFO] [stdout] 5119 | ...                   let btree = self.btree.clone();
[INFO] [stdout]      |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5120:33
[INFO] [stdout]      |
[INFO] [stdout] 5120 | ...                   let schema = self.schema.clone();
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vtab_name`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5130:46
[INFO] [stdout]      |
[INFO] [stdout] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stdout]      |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vtab_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rowid`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5130:63
[INFO] [stdout]      |
[INFO] [stdout] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stdout]      |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_rowid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5436:21
[INFO] [stdout]      |
[INFO] [stdout] 5436 |                 let btree = btree_arc.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6222:21
[INFO] [stdout]      |
[INFO] [stdout] 6222 |                 let btree = btree_arc.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6223:21
[INFO] [stdout]      |
[INFO] [stdout] 6223 |                 let schema = self.schema.clone();
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6389:37
[INFO] [stdout]      |
[INFO] [stdout] 6389 |                         if let Some(ref btree) = btree_arc {
[INFO] [stdout]      |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2332:45
[INFO] [stdout]      |
[INFO] [stdout] 2332 | ...                   index_table_name = Some(index.table.clone());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2352 | ...                           index_table_name = Some(idx.table.clone());
[INFO] [stdout]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2352:53
[INFO] [stdout]      |
[INFO] [stdout] 2352 | ...                   index_table_name = Some(idx.table.clone());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2410 | ...                       index_table_name =
[INFO] [stdout]      |                           ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2410:57
[INFO] [stdout]      |
[INFO] [stdout] 2410 | ...                   index_table_name =
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2432 | ...                           index_table_name =
[INFO] [stdout]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2432:65
[INFO] [stdout]      |
[INFO] [stdout] 2432 | ...                   index_table_name =
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_str_upper`
[INFO] [stdout]     --> src/api/connection.rs:1898:13
[INFO] [stdout]      |
[INFO] [stdout] 1898 |         let col_str_upper = col_str.to_uppercase();
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_str_upper`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BtTableLockEntry` is more private than the item `BtShared::table_locks`
[INFO] [stdout]    --> src/storage/btree/mod.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub table_locks: Vec<BtTableLockEntry>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `BtShared::table_locks` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BtTableLockEntry` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/storage/btree/types.rs:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub(crate) struct BtTableLockEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]     --> src/executor/delete.rs:1673:55
[INFO] [stdout]      |
[INFO] [stdout] 1673 |                     crate::parser::ast::InList::Table(table_name) => {
[INFO] [stdout]      |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_schema_lower`
[INFO] [stdout]     --> src/executor/prepare.rs:3554:17
[INFO] [stdout]      |
[INFO] [stdout] 3554 |             let table_schema_lower = table_schema.to_lowercase();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_schema_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/executor/prepare.rs:4769:13
[INFO] [stdout]      |
[INFO] [stdout] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/executor/prepare.rs:4769:13
[INFO] [stdout]      |
[INFO] [stdout] 4546 |             Expr::Literal(lit) => match lit {
[INFO] [stdout]      |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4557 |             Expr::Column(col) => {
[INFO] [stdout]      |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4564 |             Expr::Binary { op, left, right } => {
[INFO] [stdout]      |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4596 |             Expr::Unary { op, expr: inner } => {
[INFO] [stdout]      |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stdout]      |             ^ ...and 15 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_base_reg`
[INFO] [stdout]     --> src/executor/select/mod.rs:2217:25
[INFO] [stdout]      |
[INFO] [stdout] 2217 |                     let key_base_reg = self.next_reg;
[INFO] [stdout]      |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loop_start_label`
[INFO] [stdout]     --> src/executor/select/mod.rs:2723:13
[INFO] [stdout]      |
[INFO] [stdout] 2723 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_base_reg`
[INFO] [stdout]     --> src/executor/select/mod.rs:2834:47
[INFO] [stdout]      |
[INFO] [stdout] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stdout]      |                                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_count`
[INFO] [stdout]     --> src/executor/select/mod.rs:2834:61
[INFO] [stdout]      |
[INFO] [stdout] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stdout]      |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_frame_current_row`
[INFO] [stdout]     --> src/executor/select/mod.rs:3490:17
[INFO] [stdout]      |
[INFO] [stdout] 3490 |             let has_frame_current_row = frame
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_frame_current_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_rows`
[INFO] [stdout]     --> src/executor/select/mod.rs:4656:29
[INFO] [stdout]      |
[INFO] [stdout] 4656 |                         let is_rows =
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clamp_start`
[INFO] [stdout]     --> src/executor/select/mod.rs:4700:37
[INFO] [stdout]      |
[INFO] [stdout] 4700 | ...                   let clamp_start = self.alloc_label();
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clamp_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loop_start_label`
[INFO] [stdout]     --> src/executor/select/mod.rs:5646:13
[INFO] [stdout]      |
[INFO] [stdout] 5646 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/executor/select/mod.rs:6629:18
[INFO] [stdout]      |
[INFO] [stdout] 6629 |             for (idx, maybe_offset) in non_agg_indices.iter().enumerate() {
[INFO] [stdout]      |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col_idx`
[INFO] [stdout]     --> src/executor/select/mod.rs:8450:29
[INFO] [stdout]      |
[INFO] [stdout] 8450 |                 if let Some(col_idx) = self
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]     --> src/executor/select/mod.rs:8646:9
[INFO] [stdout]      |
[INFO] [stdout] 8646 |         level: &WhereLevel,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_cursor`
[INFO] [stdout]      --> src/executor/select/mod.rs:11667:9
[INFO] [stdout]       |
[INFO] [stdout] 11667 |         table_cursor: i32,
[INFO] [stdout]       |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `where_info`
[INFO] [stdout]      --> src/executor/select/mod.rs:11672:9
[INFO] [stdout]       |
[INFO] [stdout] 11672 |         where_info: &Option<WhereInfo>,
[INFO] [stdout]       |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/executor/update.rs:1126:17
[INFO] [stdout]      |
[INFO] [stdout] 1126 |             let mut all_match_label = conflict_label;
[INFO] [stdout]      |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_name`
[INFO] [stdout]     --> src/executor/update.rs:1063:14
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         for (idx_name, col_indices, idx_conflict_action, is_pk) in &unique_checks {
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ipk_col`
[INFO] [stdout]     --> src/executor/update.rs:1491:13
[INFO] [stdout]      |
[INFO] [stdout] 1491 |         let ipk_col = self.get_ipk_column_index();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipk_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]     --> src/executor/where_clause.rs:3002:13
[INFO] [stdout]      |
[INFO] [stdout] 3002 |         for term in planner.where_clause.terms.iter_mut() {
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_leaf`
[INFO] [stdout]    --> src/rtree.rs:757:49
[INFO] [stdout]     |
[INFO] [stdout] 757 |     pub fn deserialize_node(&self, data: &[u8], is_leaf: bool) -> Result<Vec<RtreeEntry>> {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_leaf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_limits`
[INFO] [stdout]     --> src/storage/btree/mod.rs:4396:33
[INFO] [stdout]      |
[INFO] [stdout] 4396 |             let (root_mem_page, root_limits) = _cursor.load_page(&mut shared_guard, root_pgno)?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_limits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/storage/btree/mod.rs:7170:13
[INFO] [stdout]      |
[INFO] [stdout] 7170 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7191:13
[INFO] [stdout]      |
[INFO] [stdout] 7191 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7212:13
[INFO] [stdout]      |
[INFO] [stdout] 7212 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7229:13
[INFO] [stdout]      |
[INFO] [stdout] 7229 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7262:13
[INFO] [stdout]      |
[INFO] [stdout] 7262 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7299:13
[INFO] [stdout]      |
[INFO] [stdout] 7299 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7366:13
[INFO] [stdout]      |
[INFO] [stdout] 7366 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7437:13
[INFO] [stdout]      |
[INFO] [stdout] 7437 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7460:13
[INFO] [stdout]      |
[INFO] [stdout] 7460 |         let mut btree = Arc::try_unwrap(btree_arc).ok().unwrap();
[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/storage/btree/mod.rs:7834:13
[INFO] [stdout]      |
[INFO] [stdout] 7834 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7859:13
[INFO] [stdout]      |
[INFO] [stdout] 7859 |         let mut btree = unwrap_arc(btree);
[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/storage/btree/mod.rs:7886:13
[INFO] [stdout]      |
[INFO] [stdout] 7886 |         let mut btree = unwrap_arc(btree);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset2`
[INFO] [stdout]     --> src/storage/btree/mod.rs:8159:13
[INFO] [stdout]      |
[INFO] [stdout] 8159 |         let offset2 = page.allocate_space(100, limits).unwrap();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset1`
[INFO] [stdout]     --> src/storage/btree/mod.rs:8220:13
[INFO] [stdout]      |
[INFO] [stdout] 8220 |         let offset1 = page.allocate_space(100, limits).unwrap();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/storage/wal.rs:1606:13
[INFO] [stdout]      |
[INFO] [stdout] 1606 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:1749:13
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:1885:13
[INFO] [stdout]      |
[INFO] [stdout] 1885 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:1977:13
[INFO] [stdout]      |
[INFO] [stdout] 1977 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:2188:13
[INFO] [stdout]      |
[INFO] [stdout] 2188 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:2504:13
[INFO] [stdout]      |
[INFO] [stdout] 2504 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:2716:13
[INFO] [stdout]      |
[INFO] [stdout] 2716 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:3063:13
[INFO] [stdout]      |
[INFO] [stdout] 3063 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:3267:13
[INFO] [stdout]      |
[INFO] [stdout] 3267 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:3655:13
[INFO] [stdout]      |
[INFO] [stdout] 3655 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[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/storage/wal.rs:3940:13
[INFO] [stdout]      |
[INFO] [stdout] 3940 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:8683:13
[INFO] [stdout]      |
[INFO] [stdout] 3384 |             Opcode::Count => {
[INFO] [stdout]      |             ------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 8683 |             Opcode::Count => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5129:37
[INFO] [stdout]      |
[INFO] [stdout] 5129 | ...                   let mut text = None;
[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/vdbe/engine/mod.rs:5922:25
[INFO] [stdout]      |
[INFO] [stdout] 5922 |                     let mut skip_final_insert = false;
[INFO] [stdout]      |                         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index_table_name` is assigned to, but never used
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2278:25
[INFO] [stdout]      |
[INFO] [stdout] 2278 |                     let mut index_table_name: Option<String> = None;
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_index_table_name` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:3161:25
[INFO] [stdout]      |
[INFO] [stdout] 3161 |                     let btree = self.btree.clone();
[INFO] [stdout]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:3458:21
[INFO] [stdout]      |
[INFO] [stdout] 3458 |                 let btree = self.btree.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5119:33
[INFO] [stdout]      |
[INFO] [stdout] 5119 | ...                   let btree = self.btree.clone();
[INFO] [stdout]      |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5120:33
[INFO] [stdout]      |
[INFO] [stdout] 5120 | ...                   let schema = self.schema.clone();
[INFO] [stdout]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vtab_name`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5130:46
[INFO] [stdout]      |
[INFO] [stdout] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stdout]      |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vtab_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rowid`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5130:63
[INFO] [stdout]      |
[INFO] [stdout] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stdout]      |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_rowid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:5436:21
[INFO] [stdout]      |
[INFO] [stdout] 5436 |                 let btree = btree_arc.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6222:21
[INFO] [stdout]      |
[INFO] [stdout] 6222 |                 let btree = btree_arc.clone();
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6223:21
[INFO] [stdout]      |
[INFO] [stdout] 6223 |                 let schema = self.schema.clone();
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btree`
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:6389:37
[INFO] [stdout]      |
[INFO] [stdout] 6389 |                         if let Some(ref btree) = btree_arc {
[INFO] [stdout]      |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2332:45
[INFO] [stdout]      |
[INFO] [stdout] 2332 | ...                   index_table_name = Some(index.table.clone());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2352 | ...                           index_table_name = Some(idx.table.clone());
[INFO] [stdout]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2352:53
[INFO] [stdout]      |
[INFO] [stdout] 2352 | ...                   index_table_name = Some(idx.table.clone());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2410 | ...                       index_table_name =
[INFO] [stdout]      |                           ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2410:57
[INFO] [stdout]      |
[INFO] [stdout] 2410 | ...                   index_table_name =
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2432 | ...                           index_table_name =
[INFO] [stdout]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_table_name` is never read
[INFO] [stdout]     --> src/vdbe/engine/mod.rs:2432:65
[INFO] [stdout]      |
[INFO] [stdout] 2432 | ...                   index_table_name =
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BtTableLockEntry` is more private than the item `BtShared::table_locks`
[INFO] [stdout]    --> src/storage/btree/mod.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub table_locks: Vec<BtTableLockEntry>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `BtShared::table_locks` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BtTableLockEntry` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/storage/btree/types.rs:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub(crate) struct BtTableLockEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vdbe/engine/handlers/mod.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |         pub fn as_context(&mut self) -> OpcodeContext {
[INFO] [stdout]     |                           ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 296 |         pub fn as_context(&mut self) -> OpcodeContext<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite3_column_int64`
[INFO] [stdout]  --> tests/update_or_replace.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 |     sqlite3_close, sqlite3_column_count, sqlite3_column_int64, sqlite3_column_text,
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bin/rustql.rs:339:21
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     _ => break,
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/bin/rustql.rs:339:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     Ok(StepResult::Row) => {
[INFO] [stdout]     |                     ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 329 |                     Ok(StepResult::Done) => break,
[INFO] [stdout]     |                     -------------------- matches some of the same values
[INFO] [stdout] 330 |                     Err(e) => {
[INFO] [stdout]     |                     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 339 |                     _ => break,
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlite3_column_int64`
[INFO] [stdout]  --> tests/replace_partial_index.rs:8:42
[INFO] [stdout]   |
[INFO] [stdout] 8 |     sqlite3_close, sqlite3_column_count, sqlite3_column_int64, sqlite3_column_text,
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `sqlite3-ffi`
[INFO] [stdout]  --> tests/exec_comparison.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg(feature = "sqlite3-ffi")]
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `crossterm`, `default`, `fts3`, `fts5`, `json`, `rtree`, `session`, `tcl`, and `tui`
[INFO] [stdout]   = help: consider adding `sqlite3-ffi` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/bin/rustql.rs:339:21
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     _ => break,
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/bin/rustql.rs:339:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                     Ok(StepResult::Row) => {
[INFO] [stdout]     |                     ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 329 |                     Ok(StepResult::Done) => break,
[INFO] [stdout]     |                     -------------------- matches some of the same values
[INFO] [stdout] 330 |                     Err(e) => {
[INFO] [stdout]     |                     ------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 339 |                     _ => break,
[INFO] [stdout]     |                     ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "e4f1c1641cf2e69431fb2a627858164b1d687895c4cd87da589df8c86509904d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4f1c1641cf2e69431fb2a627858164b1d687895c4cd87da589df8c86509904d", kill_on_drop: false }`
[INFO] [stdout] e4f1c1641cf2e69431fb2a627858164b1d687895c4cd87da589df8c86509904d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] db0e8fefa57a3aa210820dcd2ebfb3a981214f9eb8c9e21ee2315959d792c6c7
[INFO] running `Command { std: "docker" "start" "-a" "db0e8fefa57a3aa210820dcd2ebfb3a981214f9eb8c9e21ee2315959d792c6c7", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition value: `sqlite3-ffi`
[INFO] [stderr]  --> build.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 |     #[cfg(feature = "sqlite3-ffi")]
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `crossterm`, `default`, `fts3`, `fts5`, `json`, `rtree`, `session`, `tcl`, and `tui`
[INFO] [stderr]   = help: consider adding `sqlite3-ffi` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustql` (build script) generated 1 warning
[INFO] [stderr] warning: unused import: `WhereLevelFlags`
[INFO] [stderr]   --> src/executor/select/mod.rs:15:71
[INFO] [stderr]    |
[INFO] [stderr] 15 |     IndexInfo, OrBranch, QueryPlanner, TermOp, WhereInfo, WhereLevel, WhereLevelFlags, WherePlan,
[INFO] [stderr]    |                                                                       ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WindowCompiler`
[INFO] [stderr]   --> src/executor/select/mod.rs:18:60
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::executor::window::{select_has_window_functions, WindowCompiler};
[INFO] [stderr]    |                                                            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/executor/trigger.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / /// Track trigger compilation depth to prevent infinite compile-time recursion.
[INFO] [stderr] 18 | | /// SQLite handles recursive triggers at runtime via the trigger_depth counter.
[INFO] [stderr] 19 | | /// By default, recursive triggers are OFF in SQLite. We limit compile-time nesting
[INFO] [stderr] 20 | | /// to prevent stack overflow; runtime trigger_depth checking prevents infinite execution.
[INFO] [stderr]    | |_-----------------------------------------------------------------------------------------^
[INFO] [stderr]    |   |
[INFO] [stderr]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DeleteStmt`, `InsertStmt`, and `UpdateStmt`
[INFO] [stderr]     --> src/parser/grammar.rs:2062:34
[INFO] [stderr]      |
[INFO] [stderr] 2062 |         use crate::parser::ast::{DeleteStmt, IndexedBy, InsertStmt, Stmt, UpdateStmt};
[INFO] [stderr]      |                                  ^^^^^^^^^^             ^^^^^^^^^^        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SerialType` and `decode_record_header`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:1066:36
[INFO] [stderr]      |
[INFO] [stderr] 1066 |         use crate::vdbe::auxdata::{decode_record_header, SerialType};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2374:28
[INFO] [stderr]      |
[INFO] [stderr] 2374 |                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stderr]      |                            ^                                        ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 2374 -                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stderr] 2374 +                         if need_root_lookup || table_meta.is_none() {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `col_str_upper`
[INFO] [stderr]     --> src/api/connection.rs:1898:13
[INFO] [stderr]      |
[INFO] [stderr] 1898 |         let col_str_upper = col_str.to_uppercase();
[INFO] [stderr]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_str_upper`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table_name`
[INFO] [stderr]     --> src/executor/delete.rs:1673:55
[INFO] [stderr]      |
[INFO] [stderr] 1673 |                     crate::parser::ast::InList::Table(table_name) => {
[INFO] [stderr]      |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table_schema_lower`
[INFO] [stderr]     --> src/executor/prepare.rs:3554:17
[INFO] [stderr]      |
[INFO] [stderr] 3554 |             let table_schema_lower = table_schema.to_lowercase();
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_schema_lower`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/executor/prepare.rs:4769:13
[INFO] [stderr]      |
[INFO] [stderr] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/executor/prepare.rs:4769:13
[INFO] [stderr]      |
[INFO] [stderr] 4546 |             Expr::Literal(lit) => match lit {
[INFO] [stderr]      |             ------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 4557 |             Expr::Column(col) => {
[INFO] [stderr]      |             ----------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 4564 |             Expr::Binary { op, left, right } => {
[INFO] [stderr]      |             -------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 4596 |             Expr::Unary { op, expr: inner } => {
[INFO] [stderr]      |             ------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 4769 |             _ => "?".to_string(), // Fallback for any remaining expressions
[INFO] [stderr]      |             ^ ...and 15 other patterns collectively make this unreachable
[INFO] [stderr]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key_base_reg`
[INFO] [stderr]     --> src/executor/select/mod.rs:2217:25
[INFO] [stderr]      |
[INFO] [stderr] 2217 |                     let key_base_reg = self.next_reg;
[INFO] [stderr]      |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `loop_start_label`
[INFO] [stderr]     --> src/executor/select/mod.rs:2723:13
[INFO] [stderr]      |
[INFO] [stderr] 2723 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key_base_reg`
[INFO] [stderr]     --> src/executor/select/mod.rs:2834:47
[INFO] [stderr]      |
[INFO] [stderr] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stderr]      |                                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_base_reg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key_count`
[INFO] [stderr]     --> src/executor/select/mod.rs:2834:61
[INFO] [stderr]      |
[INFO] [stderr] 2834 |             let (is_index_scan, index_cursor, key_base_reg, key_count, is_rowid_eq) = scan_info
[INFO] [stderr]      |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `has_frame_current_row`
[INFO] [stderr]     --> src/executor/select/mod.rs:3490:17
[INFO] [stderr]      |
[INFO] [stderr] 3490 |             let has_frame_current_row = frame
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_frame_current_row`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_rows`
[INFO] [stderr]     --> src/executor/select/mod.rs:4656:29
[INFO] [stderr]      |
[INFO] [stderr] 4656 |                         let is_rows =
[INFO] [stderr]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rows`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `clamp_start`
[INFO] [stderr]     --> src/executor/select/mod.rs:4700:37
[INFO] [stderr]      |
[INFO] [stderr] 4700 | ...                   let clamp_start = self.alloc_label();
[INFO] [stderr]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clamp_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `loop_start_label`
[INFO] [stderr]     --> src/executor/select/mod.rs:5646:13
[INFO] [stderr]      |
[INFO] [stderr] 5646 |         let loop_start_label = *loop_labels.last().unwrap_or(&self.alloc_label());
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loop_start_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]     --> src/executor/select/mod.rs:6629:18
[INFO] [stderr]      |
[INFO] [stderr] 6629 |             for (idx, maybe_offset) in non_agg_indices.iter().enumerate() {
[INFO] [stderr]      |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `col_idx`
[INFO] [stderr]     --> src/executor/select/mod.rs:8450:29
[INFO] [stderr]      |
[INFO] [stderr] 8450 |                 if let Some(col_idx) = self
[INFO] [stderr]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `level`
[INFO] [stderr]     --> src/executor/select/mod.rs:8646:9
[INFO] [stderr]      |
[INFO] [stderr] 8646 |         level: &WhereLevel,
[INFO] [stderr]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table_cursor`
[INFO] [stderr]      --> src/executor/select/mod.rs:11667:9
[INFO] [stderr]       |
[INFO] [stderr] 11667 |         table_cursor: i32,
[INFO] [stderr]       |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_cursor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `where_info`
[INFO] [stderr]      --> src/executor/select/mod.rs:11672:9
[INFO] [stderr]       |
[INFO] [stderr] 11672 |         where_info: &Option<WhereInfo>,
[INFO] [stderr]       |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where_info`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/executor/update.rs:1126:17
[INFO] [stderr]      |
[INFO] [stderr] 1126 |             let mut all_match_label = conflict_label;
[INFO] [stderr]      |                 ----^^^^^^^^^^^^^^^
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx_name`
[INFO] [stderr]     --> src/executor/update.rs:1063:14
[INFO] [stderr]      |
[INFO] [stderr] 1063 |         for (idx_name, col_indices, idx_conflict_action, is_pk) in &unique_checks {
[INFO] [stderr]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ipk_col`
[INFO] [stderr]     --> src/executor/update.rs:1491:13
[INFO] [stderr]      |
[INFO] [stderr] 1491 |         let ipk_col = self.get_ipk_column_index();
[INFO] [stderr]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipk_col`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_leaf`
[INFO] [stderr]    --> src/rtree.rs:757:49
[INFO] [stderr]     |
[INFO] [stderr] 757 |     pub fn deserialize_node(&self, data: &[u8], is_leaf: bool) -> Result<Vec<RtreeEntry>> {
[INFO] [stderr]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_leaf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `root_limits`
[INFO] [stderr]     --> src/storage/btree/mod.rs:4396:33
[INFO] [stderr]      |
[INFO] [stderr] 4396 |             let (root_mem_page, root_limits) = _cursor.load_page(&mut shared_guard, root_pgno)?;
[INFO] [stderr]      |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_limits`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:8683:13
[INFO] [stderr]      |
[INFO] [stderr] 3384 |             Opcode::Count => {
[INFO] [stderr]      |             ------------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 8683 |             Opcode::Count => {
[INFO] [stderr]      |             ^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5129:37
[INFO] [stderr]      |
[INFO] [stderr] 5129 | ...                   let mut text = None;
[INFO] [stderr]      |                           ----^^^^
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5922:25
[INFO] [stderr]      |
[INFO] [stderr] 5922 |                     let mut skip_final_insert = false;
[INFO] [stderr]      |                         ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |                         |
[INFO] [stderr]      |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `index_table_name` is assigned to, but never used
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2278:25
[INFO] [stderr]      |
[INFO] [stderr] 2278 |                     let mut index_table_name: Option<String> = None;
[INFO] [stderr]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: consider using `_index_table_name` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `btree`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:3161:25
[INFO] [stderr]      |
[INFO] [stderr] 3161 |                     let btree = self.btree.clone();
[INFO] [stderr]      |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `btree`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:3458:21
[INFO] [stderr]      |
[INFO] [stderr] 3458 |                 let btree = self.btree.clone();
[INFO] [stderr]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `btree`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5119:33
[INFO] [stderr]      |
[INFO] [stderr] 5119 | ...                   let btree = self.btree.clone();
[INFO] [stderr]      |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schema`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5120:33
[INFO] [stderr]      |
[INFO] [stderr] 5120 | ...                   let schema = self.schema.clone();
[INFO] [stderr]      |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vtab_name`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5130:46
[INFO] [stderr]      |
[INFO] [stderr] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stderr]      |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vtab_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rowid`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5130:63
[INFO] [stderr]      |
[INFO] [stderr] 5130 | ...                   if let (Some(vtab_name), Some(rowid)) =
[INFO] [stderr]      |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_rowid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `btree`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:5436:21
[INFO] [stderr]      |
[INFO] [stderr] 5436 |                 let btree = btree_arc.clone();
[INFO] [stderr]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `btree`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:6222:21
[INFO] [stderr]      |
[INFO] [stderr] 6222 |                 let btree = btree_arc.clone();
[INFO] [stderr]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `schema`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:6223:21
[INFO] [stderr]      |
[INFO] [stderr] 6223 |                 let schema = self.schema.clone();
[INFO] [stderr]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `btree`
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:6389:37
[INFO] [stderr]      |
[INFO] [stderr] 6389 |                         if let Some(ref btree) = btree_arc {
[INFO] [stderr]      |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_btree`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `index_table_name` is never read
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2332:45
[INFO] [stderr]      |
[INFO] [stderr] 2332 | ...                   index_table_name = Some(index.table.clone());
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 2352 | ...                           index_table_name = Some(idx.table.clone());
[INFO] [stderr]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `index_table_name` is never read
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2352:53
[INFO] [stderr]      |
[INFO] [stderr] 2352 | ...                   index_table_name = Some(idx.table.clone());
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 2410 | ...                       index_table_name =
[INFO] [stderr]      |                           ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `index_table_name` is never read
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2410:57
[INFO] [stderr]      |
[INFO] [stderr] 2410 | ...                   index_table_name =
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 2432 | ...                           index_table_name =
[INFO] [stderr]      |                               ---------------- `index_table_name` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `index_table_name` is never read
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2432:65
[INFO] [stderr]      |
[INFO] [stderr] 2432 | ...                   index_table_name =
[INFO] [stderr]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: type `BtTableLockEntry` is more private than the item `BtShared::table_locks`
[INFO] [stderr]    --> src/storage/btree/mod.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub table_locks: Vec<BtTableLockEntry>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `BtShared::table_locks` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `BtTableLockEntry` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/storage/btree/types.rs:323:1
[INFO] [stderr]     |
[INFO] [stderr] 323 | pub(crate) struct BtTableLockEntry {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustql` (lib) generated 47 warnings (run `cargo fix --lib -p rustql` to apply 38 suggestions)
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/bin/rustql.rs:339:21
[INFO] [stderr]     |
[INFO] [stderr] 339 |                     _ => break,
[INFO] [stderr]     |                     ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/bin/rustql.rs:339:21
[INFO] [stderr]     |
[INFO] [stderr] 316 |                     Ok(StepResult::Row) => {
[INFO] [stderr]     |                     ------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 329 |                     Ok(StepResult::Done) => break,
[INFO] [stderr]     |                     -------------------- matches some of the same values
[INFO] [stderr] 330 |                     Err(e) => {
[INFO] [stderr]     |                     ------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 339 |                     _ => break,
[INFO] [stderr]     |                     ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustql` (bin "rustql") generated 1 warning
[INFO] [stderr] warning: unused import: `sqlite3_column_int64`
[INFO] [stderr]  --> tests/replace_partial_index.rs:8:42
[INFO] [stderr]   |
[INFO] [stderr] 8 |     sqlite3_close, sqlite3_column_count, sqlite3_column_int64, sqlite3_column_text,
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `sqlite3-ffi`
[INFO] [stderr]  --> tests/exec_comparison.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![cfg(feature = "sqlite3-ffi")]
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `crossterm`, `default`, `fts3`, `fts5`, `json`, `rtree`, `session`, `tcl`, and `tui`
[INFO] [stderr]   = help: consider adding `sqlite3-ffi` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustql` (test "replace_partial_index") generated 1 warning (run `cargo fix --test "replace_partial_index" -p rustql` to apply 1 suggestion)
[INFO] [stderr] warning: `rustql` (test "exec_comparison") generated 1 warning
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]     --> src/executor/where_clause.rs:3002:13
[INFO] [stderr]      |
[INFO] [stderr] 3002 |         for term in planner.where_clause.terms.iter_mut() {
[INFO] [stderr]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7170:13
[INFO] [stderr]      |
[INFO] [stderr] 7170 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7191:13
[INFO] [stderr]      |
[INFO] [stderr] 7191 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7212:13
[INFO] [stderr]      |
[INFO] [stderr] 7212 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7229:13
[INFO] [stderr]      |
[INFO] [stderr] 7229 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7262:13
[INFO] [stderr]      |
[INFO] [stderr] 7262 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7299:13
[INFO] [stderr]      |
[INFO] [stderr] 7299 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7366:13
[INFO] [stderr]      |
[INFO] [stderr] 7366 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7437:13
[INFO] [stderr]      |
[INFO] [stderr] 7437 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7460:13
[INFO] [stderr]      |
[INFO] [stderr] 7460 |         let mut btree = Arc::try_unwrap(btree_arc).ok().unwrap();
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7834:13
[INFO] [stderr]      |
[INFO] [stderr] 7834 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7859:13
[INFO] [stderr]      |
[INFO] [stderr] 7859 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/btree/mod.rs:7886:13
[INFO] [stderr]      |
[INFO] [stderr] 7886 |         let mut btree = unwrap_arc(btree);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset2`
[INFO] [stderr]     --> src/storage/btree/mod.rs:8159:13
[INFO] [stderr]      |
[INFO] [stderr] 8159 |         let offset2 = page.allocate_space(100, limits).unwrap();
[INFO] [stderr]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset1`
[INFO] [stderr]     --> src/storage/btree/mod.rs:8220:13
[INFO] [stderr]      |
[INFO] [stderr] 8220 |         let offset1 = page.allocate_space(100, limits).unwrap();
[INFO] [stderr]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:1606:13
[INFO] [stderr]      |
[INFO] [stderr] 1606 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:1749:13
[INFO] [stderr]      |
[INFO] [stderr] 1749 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:1885:13
[INFO] [stderr]      |
[INFO] [stderr] 1885 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:1977:13
[INFO] [stderr]      |
[INFO] [stderr] 1977 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:2188:13
[INFO] [stderr]      |
[INFO] [stderr] 2188 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:2504:13
[INFO] [stderr]      |
[INFO] [stderr] 2504 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:2716:13
[INFO] [stderr]      |
[INFO] [stderr] 2716 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:3063:13
[INFO] [stderr]      |
[INFO] [stderr] 3063 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:3267:13
[INFO] [stderr]      |
[INFO] [stderr] 3267 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:3655:13
[INFO] [stderr]      |
[INFO] [stderr] 3655 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/storage/wal.rs:3940:13
[INFO] [stderr]      |
[INFO] [stderr] 3940 |         let mut wal = Wal::open(&get_test_db_path(), 4096).unwrap();
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/vdbe/engine/handlers/mod.rs:296:27
[INFO] [stderr]     |
[INFO] [stderr] 296 |         pub fn as_context(&mut self) -> OpcodeContext {
[INFO] [stderr]     |                           ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 296 |         pub fn as_context(&mut self) -> OpcodeContext<'_> {
[INFO] [stderr]     |                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rustql` (lib test) generated 74 warnings (47 duplicates) (run `cargo fix --lib -p rustql --tests` to apply 27 suggestions)
[INFO] [stderr] warning: unused import: `sqlite3_column_int64`
[INFO] [stderr]  --> tests/update_or_replace.rs:8:42
[INFO] [stderr]   |
[INFO] [stderr] 8 |     sqlite3_close, sqlite3_column_count, sqlite3_column_int64, sqlite3_column_text,
[INFO] [stderr]   |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rustql` (test "update_or_replace") generated 1 warning (run `cargo fix --test "update_or_replace" -p rustql` to apply 1 suggestion)
[INFO] [stderr] warning: `rustql` (bin "rustql" test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustql-5870bfa5d01a20dd)
[INFO] [stdout] 
[INFO] [stdout] running 1015 tests
[INFO] [stdout] test api::blob::tests::test_blob_bytes ... ok
[INFO] [stdout] test api::blob::tests::test_blob_invalidated ... ok
[INFO] [stdout] test api::blob::tests::test_blob_read ... ok
[INFO] [stdout] test api::blob::tests::test_blob_read_out_of_bounds ... ok
[INFO] [stdout] test api::blob::tests::test_blob_write ... ok
[INFO] [stdout] test api::blob::tests::test_blob_write_readonly ... ok
[INFO] [stdout] test api::config::tests::test_compileoption_get ... ok
[INFO] [stdout] test api::blob::tests::test_blob_write_out_of_bounds ... ok
[INFO] [stdout] test api::connection::tests::test_authorizer_wrapper ... ok
[INFO] [stdout] test api::blob::tests::test_blob_properties ... ok
[INFO] [stdout] test api::config::tests::test_threadsafe ... ok
[INFO] [stdout] test api::config::tests::test_version ... ok
[INFO] [stdout] test api::blob::tests::test_blob_close ... ok
[INFO] [stdout] test api::connection::tests::test_db_config ... ok
[INFO] [stdout] test api::config::tests::test_compileoption ... ok
[INFO] [stdout] test api::connection::tests::test_error_messages ... ok
[INFO] [stdout] test api::blob::tests::test_blob_read_all ... ok
[INFO] [stdout] test api::connection::tests::test_autocommit ... ok
[INFO] [stdout] test api::connection::tests::test_interrupt ... ok
[INFO] [stdout] test api::connection::tests::test_collation_needed_callback ... ok
[INFO] [stdout] test api::connection::tests::test_parse_uri ... ok
[INFO] [stdout] test api::session::tests::test_attach_and_record_change ... ok
[INFO] [stdout] test api::session::tests::test_changeset_invert ... ok
[INFO] [stdout] test api::session::tests::test_changegroup_basic ... ok
[INFO] [stdout] test api::session::tests::test_changegroup_insert_then_delete ... ok
[INFO] [stdout] test api::connection::tests::test_open_memory ... ok
[INFO] [stdout] test api::session::tests::test_changeset_concat ... ok
[INFO] [stdout] test api::connection::tests::test_function_registry ... ok
[INFO] [stdout] test api::session::tests::test_changeset_size_and_empty ... ok
[INFO] [stdout] test api::session::tests::test_rebaser_basic ... ok
[INFO] [stdout] test api::session::tests::test_streaming_input ... ok
[INFO] [stdout] test api::stmt::tests::test_count_parameters ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_blob ... ok
[INFO] [stdout] test api::stmt::tests::test_column_access ... ok
[INFO] [stdout] test api::stmt::tests::test_attach_detach_statement ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_in_string ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_no_params ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_null ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_positional ... ok
[INFO] [stdout] test api::stmt::tests::test_find_statement_end ... ok
[INFO] [stdout] test api::stmt::tests::test_parameter_count ... ok
[INFO] [stdout] test api::stmt::tests::test_expired_statement_returns_schema_error ... ok
[INFO] [stdout] test api::stmt::tests::test_prepare_simple ... ok
[INFO] [stdout] test api::stmt::tests::test_reset_and_clear ... ok
[INFO] [stdout] test api::stmt::tests::test_schema_generation_captured_on_prepare ... ok
[INFO] [stdout] test api::stmt::tests::test_schema_generation_mismatch_expires_statement ... ok
[INFO] [stdout] test api::stmt::tests::test_statement_expiration_manual ... ok
[INFO] [stdout] test api::stmt::tests::test_stmt_status_enum ... ok
[INFO] [stdout] test api::stmt::tests::test_stmt_status_run ... ok
[INFO] [stdout] test api::stmt::tests::test_value_to_sql_literal ... ok
[INFO] [stdout] test error::tests::test_error_code_from_i32 ... ok
[INFO] [stdout] test error::tests::test_error_code_values ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test error::tests::test_extended_primary_code ... ok
[INFO] [stdout] test error::tests::test_is_success ... ok
[INFO] [stdout] test error::tests::test_parse_error ... ok
[INFO] [stdout] test executor::column_mapping::tests::test_explicit_mapping ... ok
[INFO] [stdout] test executor::column_mapping::tests::test_explicit_mapping_partial ... ok
[INFO] [stdout] test executor::column_mapping::tests::test_implicit_mapping_all_cols ... ok
[INFO] [stdout] test executor::column_mapping::tests::test_implicit_mapping_with_default ... ok
[INFO] [stdout] test executor::delete::tests::test_compile_delete_all ... ok
[INFO] [stdout] test executor::delete::tests::test_compile_delete_table_name_in_opcode ... ok
[INFO] [stdout] test executor::delete::tests::test_compile_delete_where_is_null ... ok
[INFO] [stdout] test executor::delete::tests::test_compile_delete_where_with_and ... ok
[INFO] [stdout] test executor::delete::tests::test_compile_delete_with_limit ... ok
[INFO] [stdout] test executor::delete::tests::test_compile_delete_with_where ... ok
[INFO] [stdout] test executor::delete::tests::test_delete_compiler_new ... ok
[INFO] [stdout] test executor::fkey::tests::test_deferred_fk_state ... ok
[INFO] [stdout] test executor::fkey::tests::test_values_equal ... ok
[INFO] [stdout] test executor::insert::tests::test_build_source_column_map_with_schema ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_insert_default_values ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_insert_multiple_rows ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_insert_or_replace ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_insert_select_with_expression ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_escaping ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_insert_with_columns ... ok
[INFO] [stdout] test api::stmt::tests::test_expanded_sql_numbered ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_select_expr_handles_binary_add ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_select_expr_handles_column_reference ... ok
[INFO] [stdout] test executor::insert::tests::test_conflict_flags ... ok
[INFO] [stdout] test api::stmt::tests::test_bind_range_error ... ok
[INFO] [stdout] test executor::insert::tests::test_compile_simple_insert ... ok
[INFO] [stdout] test executor::insert::tests::test_get_select_expressions_extracts_binary_expr ... ok
[INFO] [stdout] test executor::insert::tests::test_insert_compiler_new ... ok
[INFO] [stdout] test executor::pragma::tests::test_database_list ... ok
[INFO] [stdout] test executor::pragma::tests::test_table_info ... ok
[INFO] [stdout] test executor::prepare::tests::test_column_extraction ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_delete ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_begin ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_commit ... ok
[INFO] [stdout] test api::session::tests::test_changeset_stats ... ok
[INFO] [stdout] test api::stmt::tests::test_bind_parameters ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_rollback ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_explain_query_plan ... ok
[INFO] [stdout] test api::stmt::tests::test_prepare_with_tail ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_insert ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_select ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_update ... ok
[INFO] [stdout] test executor::prepare::tests::test_compile_explain ... ok
[INFO] [stdout] test executor::prepare::tests::test_parameter_extraction ... ok
[INFO] [stdout] test executor::prepare::tests::test_named_parameters ... ok
[INFO] [stdout] test executor::select::tests::test_compile_select_with_limit ... ok
[INFO] [stdout] test executor::select::tests::test_compile_select_with_where ... ok
[INFO] [stdout] test executor::select::tests::test_compile_select_with_table ... ok
[INFO] [stdout] test executor::select::tests::test_compile_union ... ok
[INFO] [stdout] test executor::select::tests::test_select_dest_variants ... ok
[INFO] [stdout] test executor::select::tests::test_compile_simple_select ... ok
[INFO] [stdout] test executor::trigger::tests::test_trigger_context ... ok
[INFO] [stdout] test executor::trigger::tests::test_find_matching_triggers ... ok
[INFO] [stdout] test executor::trigger::tests::test_trigger_context_recursion ... ok
[INFO] [stdout] test executor::trigger::tests::test_trigger_mask ... ok
[INFO] [stdout] test executor::update::tests::test_no_such_column_in_expression ... ok
[INFO] [stdout] test executor::update::tests::test_no_such_column_error ... ok
[INFO] [stdout] test executor::update::tests::test_conflict_flags ... ok
[INFO] [stdout] test executor::update::tests::test_compile_update_with_where ... ok
[INFO] [stdout] test executor::update::tests::test_compile_simple_update ... ok
[INFO] [stdout] test executor::update::tests::test_sqlite_master_modification_error ... ok
[INFO] [stdout] test executor::where_clause::tests::test_cost_estimation_consistency ... ok
[INFO] [stdout] test executor::update::tests::test_update_compiler_new ... ok
[INFO] [stdout] test executor::where_clause::tests::test_index_beats_full_scan ... ok
[INFO] [stdout] test executor::update::tests::test_no_such_column_table_qualified ... ok
[INFO] [stdout] test executor::where_clause::tests::test_estimate_simple_cost ... ok
[INFO] [stdout] test executor::where_clause::tests::test_ipk_equality_treated_as_rowid ... ok
[INFO] [stdout] test executor::where_clause::tests::test_join_term_prereqs ... ok
[INFO] [stdout] test executor::where_clause::tests::test_loop_levels_have_table_info ... ok
[INFO] [stdout] test executor::where_clause::tests::test_multi_table_join_ordering_cost_based ... ok
[INFO] [stdout] test executor::where_clause::tests::test_like_prefix_flag ... ok
[INFO] [stdout] test executor::where_clause::tests::test_or_term_flags ... ok
[INFO] [stdout] test executor::where_clause::tests::test_query_planner_with_index ... ok
[INFO] [stdout] test executor::where_clause::tests::test_permutation ... ok
[INFO] [stdout] test executor::where_clause::tests::test_range_constraint_detection ... ok
[INFO] [stdout] test executor::where_clause::tests::test_query_planner_single_table ... ok
[INFO] [stdout] test executor::where_clause::tests::test_rowid_eq_cheaper_than_index ... ok
[INFO] [stdout] test executor::where_clause::tests::test_rowid_equality_detection ... ok
[INFO] [stdout] test executor::where_clause::tests::test_selectivity_estimates ... ok
[INFO] [stdout] test executor::where_clause::tests::test_two_table_join_with_filter ... ok
[INFO] [stdout] test executor::where_clause::tests::test_rowid_in_uses_seek ... ok
[INFO] [stdout] test executor::where_clause::tests::test_where_clause_or_split ... ok
[INFO] [stdout] test executor::where_clause::tests::test_three_table_join_permutations ... ok
[INFO] [stdout] test executor::where_expr::tests::test_allowed_operator ... ok
[INFO] [stdout] test executor::where_clause::tests::test_where_clause_split ... ok
[INFO] [stdout] test executor::where_clause::tests::test_where_term_creation ... ok
[INFO] [stdout] test executor::where_expr::tests::test_commute_comparison ... ok
[INFO] [stdout] test executor::where_expr::tests::test_expr_usage_columns ... ok
[INFO] [stdout] test executor::where_expr::tests::test_expr_usage_function ... ok
[INFO] [stdout] test executor::where_expr::tests::test_operator_mask_mapping ... ok
[INFO] [stdout] test executor::where_expr::tests::test_split_or_clause ... ok
[INFO] [stdout] test executor::wherecode::tests::test_affinity_from_type_name ... ok
[INFO] [stdout] test executor::wherecode::tests::test_alloc_label ... ok
[INFO] [stdout] test executor::wherecode::tests::test_alloc_reg ... ok
[INFO] [stdout] test executor::wherecode::tests::test_emit_and_resolve ... ok
[INFO] [stdout] test executor::wherecode::tests::test_generate_simple_where ... ok
[INFO] [stdout] test executor::wherecode::tests::test_where_codegen_new ... ok
[INFO] [stdout] test executor::window::tests::test_all_ranking_functions ... ok
[INFO] [stdout] test executor::window::tests::test_all_value_functions ... ok
[INFO] [stdout] test executor::window::tests::test_bounds_equal ... ok
[INFO] [stdout] test executor::window::tests::test_default_frame_for_function ... ok
[INFO] [stdout] test executor::window::tests::test_has_window_function ... ok
[INFO] [stdout] test executor::window::tests::test_no_window_detection_without_over ... ok
[INFO] [stdout] test executor::window::tests::test_parse_cume_dist ... ok
[INFO] [stdout] test executor::window::tests::test_parse_frame_exclude ... ok
[INFO] [stdout] test executor::window::tests::test_parse_avg_over ... ok
[INFO] [stdout] test executor::window::tests::test_parse_first_value ... ok
[INFO] [stdout] test executor::window::tests::test_parse_count_over ... ok
[INFO] [stdout] test executor::window::tests::test_parse_dense_rank ... ok
[INFO] [stdout] test executor::window::tests::test_parse_lead_function ... ok
[INFO] [stdout] test executor::window::tests::test_parse_frame_range ... ok
[INFO] [stdout] test executor::window::tests::test_parse_multiple_window_functions ... ok
[INFO] [stdout] test executor::window::tests::test_parse_frame_rows ... ok
[INFO] [stdout] test executor::window::tests::test_parse_frame_groups ... ok
[INFO] [stdout] test executor::window::tests::test_parse_lag_function ... ok
[INFO] [stdout] test executor::window::tests::test_parse_named_window ... ok
[INFO] [stdout] test executor::window::tests::test_parse_last_value ... ok
[INFO] [stdout] test executor::window::tests::test_parse_nth_value ... ok
[INFO] [stdout] test executor::window::tests::test_parse_ntile ... ok
[INFO] [stdout] test executor::window::tests::test_parse_percent_rank ... ok
[INFO] [stdout] test executor::window::tests::test_parse_rank_with_partition_and_order ... ok
[INFO] [stdout] test executor::window::tests::test_parse_sum_over ... ok
[INFO] [stdout] test executor::window::tests::test_parse_row_number_with_order ... ok
[INFO] [stdout] test executor::window::tests::test_parse_row_number_with_partition ... ok
[INFO] [stdout] test executor::window::tests::test_parse_row_number ... ok
[INFO] [stdout] test executor::window::tests::test_specs_equal ... ok
[INFO] [stdout] test executor::window::tests::test_parse_window_with_filter ... ok
[INFO] [stdout] test executor::window::tests::test_window_compiler_alloc ... ok
[INFO] [stdout] test executor::window::tests::test_window_detection_in_select ... ok
[INFO] [stdout] test executor::window::tests::test_window_func_type_from_name ... ok
[INFO] [stdout] test executor::window::tests::test_window_func_type_needs_peer_info ... ok
[INFO] [stdout] test executor::window::tests::test_window_func_type_needs_frame ... ok
[INFO] [stdout] test executor::window::tests::test_window_func_type_is_ranking ... ok
[INFO] [stdout] test fts5::index::tests::leaf_footer_roundtrip ... ok
[INFO] [stdout] test fts5::index::tests::doclist_roundtrip ... ok
[INFO] [stdout] test fts5::index::tests::structure_roundtrip ... ok
[INFO] [stdout] test fts5::expr::tests::parse_basic_query ... ok
[INFO] [stdout] test fts5::index::tests::index_lookup_merge ... ok
[INFO] [stdout] test fts5::vtab_adapter::tests::test_fts5_module_create ... ok
[INFO] [stdout] test fts5::vtab_adapter::tests::test_parse_fts5_args_columns ... ok
[INFO] [stdout] test fts5::vtab_adapter::tests::test_parse_fts5_args_contentless ... ok
[INFO] [stdout] test fts5::vtab_adapter::tests::test_parse_fts5_args_empty ... ok
[INFO] [stdout] test functions::aggregate::tests::test_avg ... ok
[INFO] [stdout] test functions::aggregate::tests::test_count ... ok
[INFO] [stdout] test fts5::vtab_adapter::tests::test_parse_fts5_args_tokenizer ... ok
[INFO] [stdout] test functions::aggregate::tests::test_count_star ... ok
[INFO] [stdout] test functions::aggregate::tests::test_group_concat_custom_separator ... ok
[INFO] [stdout] test functions::aggregate::tests::test_is_aggregate_function ... ok
[INFO] [stdout] test functions::aggregate::tests::test_group_concat ... ok
[INFO] [stdout] test functions::aggregate::tests::test_sum ... ok
[INFO] [stdout] test functions::aggregate::tests::test_min_max ... ok
[INFO] [stdout] test functions::aggregate::tests::test_sum_empty ... ok
[INFO] [stdout] test functions::aggregate::tests::test_sum_with_null ... ok
[INFO] [stdout] test functions::aggregate::tests::test_total ... ok
[INFO] [stdout] test functions::datetime::tests::test_date_simple ... ok
[INFO] [stdout] test functions::aggregate::tests::test_total_empty ... ok
[INFO] [stdout] test functions::json::tests::test_arr_len ... ok
[INFO] [stdout] test functions::datetime::tests::test_datetime_simple ... ok
[INFO] [stdout] test functions::json::tests::test_array ... ok
[INFO] [stdout] test functions::json::tests::test_extract ... ok
[INFO] [stdout] test functions::json::tests::test_insert ... ok
[INFO] [stdout] test functions::json::tests::test_null ... ok
[INFO] [stdout] test functions::json::tests::test_object ... ok
[INFO] [stdout] test functions::json::tests::test_patch ... ok
[INFO] [stdout] test functions::json::tests::test_quote ... ok
[INFO] [stdout] test functions::json::tests::test_remove ... ok
[INFO] [stdout] test functions::json::tests::test_replace ... ok
[INFO] [stdout] test functions::json::tests::test_set ... ok
[INFO] [stdout] test functions::json::tests::test_type ... ok
[INFO] [stdout] test functions::json::tests::test_valid ... ok
[INFO] [stdout] test functions::printf::tests::test_printf_basic ... ok
[INFO] [stdout] test functions::printf::tests::test_printf_sql_quote ... ok
[INFO] [stdout] test functions::scalar::tests::test_abs ... ok
[INFO] [stdout] test functions::scalar::tests::test_coalesce ... ok
[INFO] [stdout] test functions::scalar::tests::test_hex_unhex ... ok
[INFO] [stdout] test functions::scalar::tests::test_instr ... ok
[INFO] [stdout] test functions::scalar::tests::test_length ... ok
[INFO] [stdout] test functions::scalar::tests::test_like ... ok
[INFO] [stdout] test functions::scalar::tests::test_max_min ... ok
[INFO] [stdout] test functions::scalar::tests::test_quote ... ok
[INFO] [stdout] test functions::scalar::tests::test_replace ... ok
[INFO] [stdout] test functions::scalar::tests::test_substr ... ok
[INFO] [stdout] test functions::scalar::tests::test_trim ... ok
[INFO] [stdout] test functions::scalar::tests::test_typeof ... ok
[INFO] [stdout] test functions::scalar::tests::test_upper_lower ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_alignment ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_basic ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_free_null ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_large ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_realloc ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_realloc_null ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_realloc_zero ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_roundup ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_size_null ... ok
[INFO] [stdout] test mem::alloc::tests::test_system_allocator_zero ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_basic ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_check_leaks ... ok
[INFO] [stdout] test executor::where_clause::tests::test_where_clause_between_split ... ok
[INFO] [stdout] test api::connection::tests::test_db_status_cache_used ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_free_null ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_guard_intact ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_multiple ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_realloc ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_realloc_null ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_realloc_zero ... ok
[INFO] [stdout] test functions::datetime::tests::test_strftime_basic ... ok
[INFO] [stdout] test functions::datetime::tests::test_time_simple ... ok
[INFO] [stdout] test functions::json::tests::test_minify ... ok
[INFO] [stdout] test functions::json::tests::test_nested ... ok
[INFO] [stdout] test functions::json::tests::test_parse ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_zero ... ok
[INFO] [stdout] test mem::pool::tests::test_class_size_calculation ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_free_null ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_realloc ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_realloc_zero ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_realloc_null ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_stats ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_basic ... ok
[INFO] [stdout] test mem::status::tests::test_mem_status_highwater ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_zero ... ok
[INFO] [stdout] test mem::status::tests::test_mem_status_largest ... ok
[INFO] [stdout] test mem::status::tests::test_mem_status_new ... ok
[INFO] [stdout] test mem::pool::tests::test_size_class_calculation ... ok
[INFO] [stdout] test mem::status::tests::test_mem_status_alloc_free ... ok
[INFO] [stdout] test mem::status::tests::test_mem_status_reset ... ok
[INFO] [stdout] test mem::tests::test_alloc_vec ... ok
[INFO] [stdout] test mem::tests::test_free_null ... ok
[INFO] [stdout] test mem::tests::test_alloc_vec_grow ... ok
[INFO] [stdout] test mem::tests::test_highwater ... ok
[INFO] [stdout] test mem::pool::tests::test_pool_allocator_roundup ... ok
[INFO] [stdout] test mem::tests::test_memory_tracking ... ok
[INFO] [stdout] test mem::tests::test_malloc_free ... ok
[INFO] [stdout] test mem::tests::test_malloc_zero ... ok
[INFO] [stdout] test mem::tests::test_soft_heap_limit ... ok
[INFO] [stdout] test mem::tests::test_realloc ... ok
[INFO] [stdout] test mem::tests::test_realloc_null ... ok
[INFO] [stdout] test mem::tests::test_realloc_zero ... ok
[INFO] [stdout] test mem::status::tests::test_mem_status_thread_safety ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_access_nonexistent ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_current_time ... ok
[INFO] [stdout] test os::unix::tests::test_unix_file_locking ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_custom_name ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_full_pathname_absolute ... ok
[INFO] [stdout] test os::unix::tests::test_unix_file_open_close ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_max_pathname ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_name ... ok
[INFO] [stdout] test os::unix::tests::test_unix_file_read_write ... ok
[INFO] [stdout] test os::unix::tests::test_unix_file_truncate ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_randomness ... ok
[INFO] [stdout] test os::vfs::tests::test_device_characteristics ... ok
[INFO] [stdout] test os::vfs::tests::test_sync_flags ... ok
[INFO] [stdout] test os::vfs::tests::test_vfs_registry ... ok
[INFO] [stdout] test parser::ast::tests::test_binary_op_precedence ... ok
[INFO] [stdout] test parser::ast::tests::test_expr_helpers ... ok
[INFO] [stdout] test parser::ast::tests::test_qualified_name ... ok
[INFO] [stdout] test parser::ast::tests::test_select_stmt_simple ... ok
[INFO] [stdout] test os::vfs::tests::test_lock_type_ordering ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_begin_commit ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_create_index ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_autoincrement_in_table_primary_key ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_create_table ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_delete ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_drop_table ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_cte ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_expr_between ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_expr_arithmetic ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_expr_case ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_expr_comparison ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_expr_in ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_expr_like ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_function_call ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_limit ... ok
[INFO] [stdout] test os::vfs::tests::test_open_flags ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_insert ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_nulls_first_last_in_order_by ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_multiple_statements ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_order_by ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_nulls_in_table_primary_key ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_nulls_in_indexed_column ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_select_columns ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_order_by_with_window_function ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_select_join ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_select_where ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_single_quoted_column_name ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_subquery ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_union ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_update ... ok
[INFO] [stdout] test parser::resolve::tests::resolve_ambiguous_column ... ok
[INFO] [stdout] test parser::resolve::tests::resolve_order_by_alias ... ok
[INFO] [stdout] test parser::resolve::tests::resolve_simple_column ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_json_pointer_operators ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_standalone_bang_illegal ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_token_position ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_blob ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_block_comment ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_case_insensitive ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_comments ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_identifiers ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_numbers ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_keywords ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_operators ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_quoted_identifier ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_select_statement ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_strings ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_utf8_bom ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_variable_edge_cases ... ok
[INFO] [stdout] test parser::tokenizer::tests::test_tokenize_parameters ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_simple_select ... ok
[INFO] [stdout] test parser::walker::tests::test_expr_depth ... ok
[INFO] [stdout] test parser::walker::tests::test_walk_expr_abort ... ok
[INFO] [stdout] test parser::walker::tests::test_walk_expr_prune ... ok
[INFO] [stdout] test random::tests::test_empty_seed_auto_seeds ... ok
[INFO] [stdout] test random::tests::test_global_random_int64 ... ok
[INFO] [stdout] test random::tests::test_global_randomness ... ok
[INFO] [stdout] test random::tests::test_prng_auto_seed ... ok
[INFO] [stdout] test random::tests::test_prng_different_seeds ... ok
[INFO] [stdout] test random::tests::test_prng_fill ... ok
[INFO] [stdout] test random::tests::test_global_random_blob ... ok
[INFO] [stdout] test os::unix::tests::test_unix_vfs_sleep ... ok
[INFO] [stdout] test random::tests::test_prng_new ... ok
[INFO] [stdout] test random::tests::test_prng_fill_auto_seeds ... ok
[INFO] [stdout] test random::tests::test_prng_next_f64 ... ok
[INFO] [stdout] test random::tests::test_prng_reproducible ... ok
[INFO] [stdout] test random::tests::test_prng_reset ... ok
[INFO] [stdout] test random::tests::test_prng_seed_determinism ... ok
[INFO] [stdout] test random::tests::test_prng_seed ... ok
[INFO] [stdout] test random::tests::test_prng_sequence ... ok
[INFO] [stdout] test random::tests::test_temp_filename ... ok
[INFO] [stdout] test random::tests::test_rc4_consistency ... ok
[INFO] [stdout] test random::tests::test_temp_filename_unique ... ok
[INFO] [stdout] test random::tests::test_temp_file_path ... ok
[INFO] [stdout] test rtree::tests::test_delete ... ok
[INFO] [stdout] test rtree::tests::test_insert_query ... ok
[INFO] [stdout] test rtree_vtab::tests::test_parse_rtree_args ... ok
[INFO] [stdout] test rtree_vtab::tests::test_parse_rtree_args_with_types ... ok
[INFO] [stdout] test rtree_vtab::tests::test_rtree_odd_coords_error ... ok
[INFO] [stdout] test schema::tests::test_column_builder ... ok
[INFO] [stdout] test schema::tests::test_conflict_action ... ok
[INFO] [stdout] test schema::tests::test_duplicate_column_names ... ok
[INFO] [stdout] test schema::tests::test_encoding ... ok
[INFO] [stdout] test schema::tests::test_foreign_key_action ... ok
[INFO] [stdout] test rtree_vtab::tests::test_rtree_module_create ... ok
[INFO] [stdout] test schema::tests::test_qualified_name ... ok
[INFO] [stdout] test schema::tests::test_schema_alter_table_add_drop_column ... ok
[INFO] [stdout] test schema::tests::test_schema_alter_table_rename_and_fk_updates ... ok
[INFO] [stdout] test schema::tests::test_schema_create_index ... ok
[INFO] [stdout] test schema::tests::test_schema_create_table ... ok
[INFO] [stdout] test schema::tests::test_schema_drop_table ... ok
[INFO] [stdout] test schema::tests::test_schema_table_already_exists ... ok
[INFO] [stdout] test schema::tests::test_table_has_rowid_alias ... ok
[INFO] [stdout] test schema::tests::test_type_affinity ... ok
[INFO] [stdout] test rtree::tests::test_bbox_overlap_contains ... ok
[INFO] [stdout] test random::tests::test_distribution ... ok
[INFO] [stdout] test schema::tests::test_table_find_column ... ok
[INFO] [stdout] test schema::tests::test_without_rowid_requires_pk ... ok
[INFO] [stdout] test storage::btree::tests::test_allocate_page_skips_ptrmap_pages ... ok
[INFO] [stdout] test storage::btree::tests::test_allocate_space_from_gap ... ok
[INFO] [stdout] test storage::btree::tests::test_allocate_space_not_enough_room ... ok
[INFO] [stdout] test storage::btree::tests::test_allocate_uses_exact_fit_block ... ok
[INFO] [stdout] test storage::btree::tests::test_allocate_page_returns_unique_pages ... ok
[INFO] [stdout] test parser::grammar::tests::test_parse_single_quoted_column_in_primary_key ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_clear_table ... ignored, clear_table() not yet implemented - defines expected behavior
[INFO] [stdout] test storage::btree::tests::test_allocate_page_updates_db_size ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_create_index_table ... ok
[INFO] [stdout] test storage::btree::tests::test_allocate_space_from_free_block ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_create_table ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_drop_table ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_get_meta_schema_version ... ignored, get_meta() not yet implemented - defines expected behavior
[INFO] [stdout] test storage::btree::tests::test_btree_get_meta_user_version ... ignored, get_meta()/update_meta() not yet implemented - defines expected behavior
[INFO] [stdout] test storage::btree::tests::test_btree_begin_read_transaction ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_begin_write_transaction ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_insert_single_row ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_commit_transaction ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_open_memory_database ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_page_count_new_db ... ignored, page_count returns 0 for memory db - needs StubVfs impl
[INFO] [stdout] test storage::btree::tests::test_btree_page_size_valid_values ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_double_free - should panic ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_savepoint_release ... ok
[INFO] [stdout] test storage::btree::tests::test_collseq_binary ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_rollback_transaction ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_savepoint_begin ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_overflow_detected - should panic ... ok
[INFO] [stdout] test mem::debug::tests::test_debug_allocator_underflow_detected - should panic ... ok
[INFO] [stdout] test storage::btree::tests::test_collseq_nocase ... ok
[INFO] [stdout] test storage::btree::tests::test_cursor_first_on_empty_table ... ignored, cursor.first() not yet implemented - defines expected behavior
[INFO] [stdout] test storage::btree::tests::test_cursor_is_empty_on_empty_table ... ignored, cursor.is_empty() not yet implemented - defines expected behavior
[INFO] [stdout] test storage::btree::tests::test_cursor_last_on_empty_table ... ignored, cursor.last() not yet implemented - defines expected behavior
[INFO] [stdout] test storage::btree::tests::test_cursor_eof_on_empty_table ... ok
[INFO] [stdout] test storage::btree::tests::test_collseq_rtrim ... ok
[INFO] [stdout] test storage::btree::tests::test_defragment_empty_page ... ok
[INFO] [stdout] test storage::btree::tests::test_btree_page_count_increases_with_tables ... ok
[INFO] [stdout] test storage::btree::tests::test_free_block_chain_sorted ... ok
[INFO] [stdout] test storage::btree::tests::test_free_space_creates_free_block ... ok
[INFO] [stdout] test storage::btree::tests::test_free_space_small_becomes_fragment ... ok
[INFO] [stdout] test storage::btree::tests::test_free_block_coalesce_next ... ok
[INFO] [stdout] test storage::btree::tests::test_freelist_page_reuse ... ok
[INFO] [stdout] test storage::btree::tests::test_first_returns_1_with_100_rows ... ok
[INFO] [stdout] test storage::btree::tests::test_get_free_block_chain_empty ... ok
[INFO] [stdout] test storage::btree::tests::test_incr_vacuum_noop_when_disabled ... ok
[INFO] [stdout] test storage::btree::tests::test_freelist_empty_database ... ok
[INFO] [stdout] test storage::btree::tests::test_freelist_save_and_load ... ok
[INFO] [stdout] test storage::btree::tests::test_cursor_is_valid_after_positioning ... ok
[INFO] [stdout] test storage::btree::tests::test_insert_with_useseekresult_flag ... ok
[INFO] [stdout] test storage::btree::tests::test_integrity_check_detects_corrupt_header ... ok
[INFO] [stdout] test storage::btree::tests::test_integrity_check_key_order ... ok
[INFO] [stdout] test storage::btree::tests::test_integrity_check_overflow_chain ... ok
[INFO] [stdout] test storage::btree::tests::test_integrity_check_valid_db ... ok
[INFO] [stdout] test storage::btree::tests::test_is_ptrmap_page ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_compare_int_records ... ok
[INFO] [stdout] test storage::btree::tests::test_freelist_trunk_page_structure ... ok
[INFO] [stdout] test storage::btree::tests::test_insert_triggers_page_split ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_compare_text_nocase ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_default ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_compare_text_binary ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_compare_null ... ok
[INFO] [stdout] test storage::btree::tests::test_integrity_check_max_errors ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_compare_desc_order ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_new ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_with_collations ... ok
[INFO] [stdout] test storage::btree::tests::test_keyinfo_multi_column ... ok
[INFO] [stdout] test storage::btree::tests::test_preformat_cursor_reset_clears_cell ... ok
[INFO] [stdout] test storage::btree::tests::test_preformat_cursor_set_and_take ... ok
[INFO] [stdout] test storage::btree::tests::test_preformat_cell_consumed_after_insert ... ok
[INFO] [stdout] test storage::btree::tests::test_parse_record_text ... ok
[INFO] [stdout] test storage::btree::tests::test_preformat_insert_basic ... ok
[INFO] [stdout] test storage::btree::tests::test_preformat_without_cell_fails ... ok
[INFO] [stdout] test storage::btree::tests::test_parse_record_int ... ok
[INFO] [stdout] test storage::btree::tests::test_seek_result_clear ... ok
[INFO] [stdout] test storage::btree::tests::test_ptrmap_put_and_get ... ok
[INFO] [stdout] test storage::btree::tests::test_ptrmap_pageno_calculation ... ok
[INFO] [stdout] test storage::btree::tests::test_seek_result_initial_value ... ok
[INFO] [stdout] test storage::btree::tests::test_ptrmap_noop_when_disabled ... ok
[INFO] [stdout] test storage::btree::tests::test_seek_result_set_and_get ... ok
[INFO] [stdout] test storage::btree::tests::test_set_and_get_auto_vacuum ... ok
[INFO] [stdout] test storage::btree::tests::test_seek_result_reset_clears ... ok
[INFO] [stdout] test storage::btree::tests::test_table_moveto_sets_seek_result_greater_than ... ok
[INFO] [stdout] test storage::btree::tests::test_table_moveto_sets_seek_result_less_than ... ok
[INFO] [stdout] test storage::btree::tests::test_table_moveto_sets_seek_result_exact_match ... ok
[INFO] [stdout] test storage::btree::tests::test_first_before_and_after_split ... ok
[INFO] [stdout] test storage::btree::tests::test_unpacked_record_with_key_info ... ok
[INFO] [stdout] test storage::btree::tests::test_useseekresult_flag_exists ... ok
[INFO] [stdout] test storage::pager::tests::test_journal_header_roundtrip ... ok
[INFO] [stdout] test storage::btree::tests::test_unpacked_record_new ... ok
[INFO] [stdout] test storage::pager::tests::test_journal_mode ... ok
[INFO] [stdout] test storage::pager::tests::test_journal_header_with_different_sector_sizes ... ok
[INFO] [stdout] test storage::pager::tests::test_pghdr_new ... ok
[INFO] [stdout] test storage::pager::tests::test_rand_nonce_is_random ... ok
[INFO] [stdout] test storage::pcache::tests::test_cache_eviction_with_unpinned_pages ... ok
[INFO] [stdout] test storage::pcache::tests::test_cache_size_limit_enforced ... ok
[INFO] [stdout] test storage::pcache::tests::test_needs_spill_at_90_percent ... ok
[INFO] [stdout] test storage::pcache::tests::test_page_count ... ok
[INFO] [stdout] test storage::wal::tests::test_checkpoint_mode ... ok
[INFO] [stdout] test storage::pager::tests::test_pager_state_ordering ... ok
[INFO] [stdout] test storage::pager::tests::test_pg_flags ... ok
[INFO] [stdout] test storage::pcache::tests::test_dirty_count ... ok
[INFO] [stdout] test storage::wal::tests::test_frame_is_commit ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_modes ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_begin_end_write_transaction ... ok
[INFO] [stdout] test storage::wal::tests::test_hash_table ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_begin_end_read_transaction ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_preparation_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_preparation_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_preparation_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::btree::tests::test_cursor_navigation_after_split ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_state_management_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_state_management ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_state_management_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_state_management_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_state_management_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_algorithm_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_algorithm_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_algorithm_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_algorithm_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_consistency ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_edge_cases ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_edge_cases_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_edge_cases_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_algorithm ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_preparation ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_edge_cases_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checksum_edge_cases_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_close ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_checkpoint_preparation_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_concurrency_control ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_concurrency_control_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_concurrency_control_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_concurrency_control_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_db_size ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_concurrent_operations ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_conditions ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_conditions_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_conditions_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_concurrency_control_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_conditions_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_handling_in_transactions ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_handling_in_transactions_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_conditions_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_handling_in_transactions_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_handling ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_handling_in_transactions_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_handling_in_transactions_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_recovery_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_recovery_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_recovery_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_hdr_roundtrip ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_edge_cases ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_recovery ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_find_frame ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_error_recovery_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_serialization ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_serialization_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_serialization_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_serialization_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_serialization_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_validation ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_validation_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_validation_comprehensive ... ok
[INFO] [stdout] test storage::btree::tests::test_last_returns_correct_key_after_split ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_header_validation_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_management_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_number_consistency ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_management_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_management_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_management ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_number_consistency_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_number_consistency_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_number_consistency_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_operations ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_roundtrip ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_hash_table_operations ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_serialization ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_serialization_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_serialization_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_serialization_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_serialization_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_validation ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_number_management ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_validation_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_validation_edge_cases ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_edge_cases ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_operations ... ok
[INFO] [stdout] test storage::btree::tests::test_insert_many_rows_no_corruption ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_serialization ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_serialization_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_serialization_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_serialization_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_validation ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_validation_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_header_validation_comprehensive_final ... ok
[INFO] [stderr]      Running unittests src/bin/rustql.rs (/opt/rustwide/target/debug/deps/rustql-fd67dc49dfd60b6b)
[INFO] [stdout] test storage::wal::tests::test_wal_header_validation_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_hdr_roundtrip ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_serialization_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_validation_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_validation_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_frame_management_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_index_header_validation_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_is_empty ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_management ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_management_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_management_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_management_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_management_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_safety ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_safety_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_safety_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_safety_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_memory_safety_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_multi_reader_slots ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_open ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_path ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_consistency ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_edge_cases ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_consistency_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_consistency_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_consistency_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_consistency_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_state_management ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_state_management_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_state_management_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_state_management_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_edge_cases ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_recovery_scenarios ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_operations_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_operations_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_operations_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_regions ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_validation ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_operations ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_validation_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_consistency_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_validation_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_consistency_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_consistency ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_consistency_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_consistency_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_validation_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_transitions_consistency_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_shared_memory_operations_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_transitions_consistency_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_transitions_consistency ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_transitions ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_transitions_consistency_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_boundaries ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_state_transitions_consistency_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_boundaries_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_isolation ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_boundaries_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_boundaries_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_isolation_comprehensive ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_isolation_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_isolation_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_isolation_comprehensive_final_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_transaction_lifecycle ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_write_ahead_logging_properties_comprehensive ... ok
[INFO] [stdout] test types::tests::test_lock_level_ordering ... ok
[INFO] [stdout] test types::tests::test_open_flags ... ok
[INFO] [stdout] test types::tests::test_value_coercion_to_f64 ... ok
[INFO] [stdout] test types::tests::test_value_coercion_to_i64 ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_write_ahead_logging_properties_comprehensive_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_write_ahead_logging_properties_comprehensive_final_final ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_write_ahead_logging_properties_comprehensive_final_final_final ... ok
[INFO] [stdout] test types::tests::test_value_column_type ... ok
[INFO] [stdout] test types::tests::test_value_from_conversions ... ok
[INFO] [stdout] test utf::tests::test_utf16_bom_strip ... ok
[INFO] [stdout] test types::tests::test_value_coercion_to_text ... ok
[INFO] [stdout] test storage::wal::tests::test_wal_write_ahead_logging_properties ... ok
[INFO] [stdout] test utf::tests::test_utf16_roundtrip ... ok
[INFO] [stdout] test utf::tests::test_utf8_char_len ... ok
[INFO] [stdout] test utf::tests::test_utf8_read_basic ... ok
[INFO] [stdout] test util::bitvec::tests::test_bitvec_basic ... ok
[INFO] [stdout] test util::bitvec::tests::test_bitvec_hash ... ok
[INFO] [stdout] test util::general::tests::test_apply_affinity ... ok
[INFO] [stdout] test util::general::tests::test_atoi64 ... ok
[INFO] [stdout] test util::general::tests::test_isint ... ok
[INFO] [stdout] test util::general::tests::test_log_callback ... ok
[INFO] [stdout] test util::general::tests::test_stricmp ... ok
[INFO] [stdout] test util::general::tests::test_strnicmp ... ok
[INFO] [stdout] test util::general::tests::test_varint_roundtrip ... ok
[INFO] [stdout] test util::hash::tests::insert_find_remove ... ok
[INFO] [stdout] test util::hash::tests::rehash_keeps_entries ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_deserialize_values ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_explain_program ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_format_p4 ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_serial_type_size ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_make_record_simple ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_negative_int8_roundtrip ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_varint_len ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_serial_type_code ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_serial_type_for_mem ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_vdbe_builder_alloc ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_serial_type_from_code ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_vdbe_builder_basic ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_vdbe_builder_labels ... ok
[INFO] [stdout] test vdbe::bytecode::tests::test_bytecode_iterator ... ok
[INFO] [stdout] test vdbe::bytecode::tests::test_bytecode_iterator_rewind ... ok
[INFO] [stdout] test vdbe::bytecode::tests::test_bytecode_schema ... ok
[INFO] [stdout] test vdbe::bytecode::tests::test_explain_bytecode ... ok
[INFO] [stdout] test vdbe::bytecode::tests::test_bytecode_row_from_op ... ok
[INFO] [stdout] test vdbe::bytecode::tests::test_format_p4 ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_add_floats ... ok
[INFO] [stdout] test vdbe::auxdata::tests::test_varint_roundtrip ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_add_integers ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_add_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_add_null_operand ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_add_overflow_to_float ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_addimm_positive ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_addimm_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_divide_by_zero_returns_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_divide_floats ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_divide_integers ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_multiply_by_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_multiply_integers ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_remainder ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_remainder_by_zero_returns_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_remainder_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_subtract_integers ... ok
[INFO] [stdout] test vdbe::engine::handlers::arithmetic::tests::test_subtract_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_eq_integers_not_equal ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_eq_integers_equal ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_eq_null_no_jump_by_default ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_eq_null_with_nulleq_flag ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_eq_strings ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ge_equal ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ge_greater ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ge_less ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ge_null_no_jumpifnull ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_gt_equal_no_jump ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_gt_false ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_gt_true ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_le_equal ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_le_greater ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_le_less ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_lt_equal_no_jump ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_lt_false ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_lt_null_jumpifnull ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_lt_true ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ne_both_null_nulleq ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ne_integers_not_equal ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ne_integers_equal ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ne_null_jumpifnull ... ok
[INFO] [stdout] test vdbe::engine::handlers::comparison::tests::test_ne_null_nulleq ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_decrjumpzero_becomes_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_decrjumpzero_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_decrjumpzero_not_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_gosub ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_halt ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_goto ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_if_falsy_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_if_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_if_truthy_integer ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnotopen_not_open ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnot_falsy ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnot_truthy ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnotzero_negative_jumps_no_decrement ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnotopen_open ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnotzero_one_becomes_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnotzero_positive ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifnotzero_zero_falls_through ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifpos_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifpos_positive ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_ifpos_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_init_no_jump ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_isnull_not_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_isnull_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_init_with_jump ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_notnull_not_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_noop ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_notnull_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_offsetlimit_negative_limit ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_offsetlimit_negative_offset_ignored ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_offsetlimit_basic ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_return ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_offsetlimit_zero_limit ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_offsetlimit_overflow ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_return_non_int_with_p3 ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_yield_fallback_to_p2 ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_yield_swap ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_return_non_int_without_p3 ... ok
[INFO] [stdout] test vdbe::engine::handlers::control_flow::tests::test_yield_no_fallback ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_copy_multiple ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_copy_single ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_int64_large_value ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_int64_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_intcopy ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_intcopy_from_real ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_integer_positive ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_integer_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_integer_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_memmax_first_larger ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_memmax_second_larger ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_move_multiple ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_memmax_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_null_multiple_registers ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_move_single ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_null_single_register ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_real_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_scopy ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_real_positive ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_softnull ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_string8_empty ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_string8 ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_zeroornull_no_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::data_movement::tests::test_zeroornull_with_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_bitand ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_bitnot ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_bitand_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_bitnot_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_bitnot_value ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_concat ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_bitor ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_not_false_to_true ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_not_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_concat_with_numbers ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_shiftleft_negative ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_shiftleft ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_concat_null ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_not_true_to_false ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_shiftleft_overflow ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_shiftright_negative_value ... ok
[INFO] [stdout] test vdbe::engine::handlers::logic::tests::test_shiftright ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_affinity_numeric ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_blob ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_affinity_multiple ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_cast_to_integer ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_ifnullrow_no_cursor ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_ifnullrow_with_null_row ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_ifnullrow_without_null_row ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_makerecord_single_int ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_mustbeint_from_int ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_mustbeint_from_real_whole ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_mustbeint_from_real_nonwhole ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_makerecord_multiple_values ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_mustbeint_from_string ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_mustbeint_null_errors_if_p2_zero ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_mustbeint_null_jumps ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_once_different_ids ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_nullrow_sets_null_row ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_once_second_time ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_realaffinity_from_int ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_once_first_time ... ok
[INFO] [stdout] test vdbe::engine::handlers::misc::tests::test_realaffinity_from_real ... ok
[INFO] [stdout] test vdbe::engine::handlers::tests::test_registry_creation ... ok
[INFO] [stdout] test vdbe::engine::handlers::tests::test_registry_unregistered_opcode ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_autocommit_errors_without_transaction ... ok
[INFO] [stdout] test vdbe::engine::tests::test_finish_seek_clears_deferred_state ... ok
[INFO] [stdout] test vdbe::engine::tests::test_deferred_seek_cursor_state ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_checkpoint_default ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_endcoroutine_jumps_to_yield_target ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_finishseek_deferred_rowid ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_count_table ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_autocommit_commit_and_rollback ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_openautoindex_found ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_idxgt_index_key ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_once_clears_on_reset ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_idxlt_index_key_strict ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_idxle_index_key ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_idxrowid_index_key ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_ifnullrow_jumps ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_regexp_via_function ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_resetsorter_clears_sorter ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_openpseudo_reads_columns ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_sequence_increments ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_seekle_table ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_seekge_table ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_readcookie_schema_version ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_seekgt_table ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_savepoint_begin_release ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_seeklt_table ... ok
[INFO] [stdout] test vdbe::engine::tests::test_read_cookie_main_db ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_comparison ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_transaction_read_then_write ... ok
[INFO] [stdout] test vdbe::engine::tests::test_set_cookie_updates_schema_cookie ... ok
[INFO] [stdout] test vdbe::engine::tests::test_set_cookie_main_db ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_arithmetic ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_setcookie_user_version ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_gosub_return ... ok
[INFO] [stdout] test vdbe::engine::tests::test_op_sortercompare_jumps_on_mismatch ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_interrupt ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_null_handling ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_multiple_results ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_parameter_binding ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_reset ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_string_operations ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_conditional ... ok
[INFO] [stdout] test vdbe::expr::tests::test_alloc_regs ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_goto ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_and_short_circuit ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_between ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_new ... ok
[INFO] [stdout] test vdbe::engine::tests::test_vdbe_simple_program ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_binary_add ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_case_simple ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_function ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_comparison ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_integer_large ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_in_list ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_integer_small ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_is_null ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_null ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_or_short_circuit ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_string ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_unary_neg ... ok
[INFO] [stdout] test vdbe::expr::tests::test_compile_unary_not ... ok
[INFO] [stdout] test vdbe::expr::tests::test_label_resolution ... ok
[INFO] [stdout] test vdbe::mem::tests::test_compare_with_binary_collation ... ok
[INFO] [stdout] test vdbe::mem::tests::test_compare_with_collation_null_handling ... ok
[INFO] [stdout] test vdbe::mem::tests::test_compare_with_nocase_collation ... ok
[INFO] [stdout] test vdbe::mem::tests::test_compare_with_collation_non_text ... ok
[INFO] [stdout] test vdbe::mem::tests::test_compare_with_rtrim_collation ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_affinity ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_arithmetic ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_bitwise ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_blob ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_coercion ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_concat ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_comparison ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_copy ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_division ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_from_value ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_int ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_logical_not ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_null ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_move ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_null_arithmetic ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_real ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_set_zeroblob ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_shift ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_str ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_to_sql_literal ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_to_value ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_truthy ... ok
[INFO] [stdout] test vdbe::mem::tests::test_mem_zeroblob ... ok
[INFO] [stdout] test vdbe::ops::tests::test_opcode_is_jump ... ok
[INFO] [stdout] test vdbe::ops::tests::test_opcode_name ... ok
[INFO] [stdout] test vdbe::ops::tests::test_key_info ... ok
[INFO] [stdout] test vdbe::ops::tests::test_opcode_uses_cursor ... ok
[INFO] [stdout] test vdbe::ops::tests::test_p4_variants ... ok
[INFO] [stdout] test vdbe::ops::tests::test_vdbe_op_new ... ok
[INFO] [stdout] test vdbe::ops::tests::test_vdbe_op_with_p4 ... ok
[INFO] [stdout] test vdbe::sort::tests::test_pma_reader ... ok
[INFO] [stdout] test vdbe::ops::tests::test_vdbe_op_display ... ok
[INFO] [stdout] test vdbe::sort::tests::test_compare_records ... ok
[INFO] [stdout] test vdbe::sort::tests::test_sorter_descending ... ok
[INFO] [stdout] test vdbe::sort::tests::test_sorter_in_memory ... ok
[INFO] [stdout] test vdbe::sort::tests::test_sorter_with_data ... ok
[INFO] [stdout] test vdbe::sort::tests::test_sorter_reset ... ok
[INFO] [stdout] test vdbe::trace::tests::test_expand_sql_block_comment ... ok
[INFO] [stdout] test vdbe::trace::tests::test_expand_sql_named ... ok
[INFO] [stdout] test vdbe::sort::tests::test_sorter_with_spill ... ok
[INFO] [stdout] test vdbe::trace::tests::test_expand_sql_numbered ... ok
[INFO] [stdout] test vdbe::trace::tests::test_expand_sql_positional ... ok
[INFO] [stdout] test vdbe::trace::tests::test_expand_sql_comment ... ok
[INFO] [stdout] test vdbe::trace::tests::test_trace_flags ... ok
[INFO] [stdout] test vdbe::trace::tests::test_expand_sql_string_literal ... ok
[INFO] [stdout] test vdbe::trace::tests::test_trace_info_formatting ... ok
[INFO] [stdout] test vdbe::trace::tests::test_tracer_callback ... ok
[INFO] [stdout] test vdbe::types::tests::test_affinity_from_type_name ... ok
[INFO] [stdout] test vdbe::types::tests::test_collseq_binary ... ok
[INFO] [stdout] test vdbe::types::tests::test_collseq_nocase ... ok
[INFO] [stdout] test vdbe::types::tests::test_cursor_type ... ok
[INFO] [stdout] test vdbe::types::tests::test_collseq_rtrim ... ok
[INFO] [stdout] test vdbe::types::tests::test_affinity_from_code ... ok
[INFO] [stdout] test vdbe::types::tests::test_encoding ... ok
[INFO] [stdout] test vdbe::types::tests::test_magic_constants ... ok
[INFO] [stdout] test vdbe::types::tests::test_type_class_ordering ... ok
[INFO] [stdout] test vdbe::value::tests::test_aggregate_context ... ok
[INFO] [stdout] test vdbe::value::tests::test_result_blob ... ok
[INFO] [stdout] test vdbe::value::tests::test_result_double ... ok
[INFO] [stdout] test vdbe::value::tests::test_result_int ... ok
[INFO] [stdout] test vdbe::value::tests::test_numeric_type ... ok
[INFO] [stdout] test vdbe::value::tests::test_result_error ... ok
[INFO] [stdout] test vdbe::value::tests::test_result_null ... ok
[INFO] [stdout] test vdbe::value::tests::test_result_text ... ok
[INFO] [stdout] test vdbe::value::tests::test_value_double ... ok
[INFO] [stdout] test vdbe::value::tests::test_value_dup ... ok
[INFO] [stdout] test vdbe::value::tests::test_value_blob ... ok
[INFO] [stdout] test vdbe::value::tests::test_value_int ... ok
[INFO] [stdout] test vdbe::value::tests::test_value_text ... ok
[INFO] [stdout] test vdbe::value::tests::test_value_type ... ok
[INFO] [stdout] test vtab::cursor::tests::test_empty_cursor ... ok
[INFO] [stdout] test vtab::cursor::tests::test_memory_cursor ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_error_invalid ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_column_by_name ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_parse_complex_types ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_parse_constraints ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_parse_hidden ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_parse_simple ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_parse_with_types ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_parse_without_rowid ... ok
[INFO] [stdout] test vtab::declare_vtab::tests::test_to_schema_string ... ok
[INFO] [stdout] test vtab::index_info::tests::test_constraint_op_names ... ok
[INFO] [stdout] test vtab::index_info::tests::test_find_constraint ... ok
[INFO] [stdout] test vtab::index_info::tests::test_index_info_creation ... ok
[INFO] [stdout] test vtab::module::tests::test_module_create ... ok
[INFO] [stdout] test vtab::module::tests::test_table_cursor ... ok
[INFO] [stdout] test vtab::registry::tests::test_instance_registration ... ok
[INFO] [stdout] test vtab::registry::tests::test_module_registration ... ok
[INFO] [stdout] test vtab::registry::tests::test_missing_module_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1008 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/coalesce_debug.rs (/opt/rustwide/target/debug/deps/coalesce_debug-46425be4d45bade5)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_ifnull ... ok
[INFO] [stderr]      Running tests/compat_debug.rs (/opt/rustwide/target/debug/deps/compat_debug-2005ab396622e21a)
[INFO] [stdout] test test_coalesce_with_max ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_aggregate_sum_max_min ... ok
[INFO] [stdout] test test_select1_2_0_exact ... ok
[INFO] [stderr]      Running tests/connection_lifecycle.rs (/opt/rustwide/target/debug/deps/connection_lifecycle-1814422129e2e447)
[INFO] [stdout] test test_select1_2_2_count ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_close_rolls_back_open_transaction ... ok
[INFO] [stdout] test test_close_releases_lock_for_reopen ... ok
[INFO] [stdout] test test_multiple_close_reopen_cycles ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exec_comparison.rs (/opt/rustwide/target/debug/deps/exec_comparison-5a15de43748c2608)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fts3_persist_test.rs (/opt/rustwide/target/debug/deps/fts3_persist_test-2e251924654596ce)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/index_selection.rs (/opt/rustwide/target/debug/deps/index_selection-963c62ed5b537e20)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_range_query_uses_index ... ok
[INFO] [stdout] test test_index_with_multiple_conditions ... ok
[INFO] [stdout] test test_no_index_when_no_match ... ok
[INFO] [stdout] test test_covering_index_preferred ... ok
[INFO] [stdout] test test_single_column_equality_uses_index ... ok
[INFO] [stdout] test test_multi_column_index_partial_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/multi_stmt_debug.rs (/opt/rustwide/target/debug/deps/multi_stmt_debug-422e72e137c215ca)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_drop_table ... ok
[INFO] [stdout] test test_delete_from ... ok
[INFO] [stdout] test test_select1_2_0_multi_stmt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/opcode_comparison.rs (/opt/rustwide/target/debug/deps/opcode_comparison-f7f1bfb586adb840)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_generate_opcode_report ... ok
[INFO] [stdout] test test_joins ... ok
[INFO] [stdout] test test_group_by ... ok
[INFO] [stdout] test test_order_by ... ok
[INFO] [stdout] test test_case_expression ... ok
[INFO] [stdout] test test_comparisons ... ok
[INFO] [stdout] test test_union ... ok
[INFO] [stdout] test test_aggregates ... ok
[INFO] [stdout] test test_subqueries ... ok
[INFO] [stdout] test test_simple_expressions ... ok
[INFO] [stdout] test test_where_clause ... ok
[INFO] [stderr]      Running tests/replace_partial_index.rs (/opt/rustwide/target/debug/deps/replace_partial_index-4e4d3af96d6d8ecc)
[INFO] [stdout] test test_table_scans ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_basic_delete_with_partial_index ... ok
[INFO] [stdout] test test_replace_with_partial_index ... ok
[INFO] [stdout] test test_debug_partial_index_setup ... ok
[INFO] [stderr]      Running tests/select1_debug.rs (/opt/rustwide/target/debug/deps/select1_debug-c5dc79b45c8f2914)
[INFO] [stdout] test test_replace_with_delete_trigger_recheck ... ok
[INFO] [stdout] test test_replace_simple_unique_index ... ok
[INFO] [stdout] test test_replace_without_partial_condition_conflict ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_insert_select ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/select1_fixes.rs (/opt/rustwide/target/debug/deps/select1_fixes-3f824d2a7a250265)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_6_23_in_subquery_union_order_by_alias ... ignored
[INFO] [stdout] test test_cross_join ... ok
[INFO] [stderr]      Running tests/select2_debug.rs (/opt/rustwide/target/debug/deps/select2_debug-0bf220481cb81fdf)
[INFO] [stdout] test test_subquery_aggregate_columns ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_insert_select_chain ... ok
[INFO] [stderr]      Running tests/shared_cache.rs (/opt/rustwide/target/debug/deps/shared_cache-1ec01070d9311089)
[INFO] [stdout] test test_count_aggregate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_shared_cache_schema_visibility ... ok
[INFO] [stderr]      Running tests/sqlite_compat.rs (/opt/rustwide/target/debug/deps/sqlite_compat-d3bf4cb471902140)
[INFO] [stdout] test test_shared_cache_table_write_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_empty_database_readable_by_sqlite ... ok
[INFO] [stdout] test test_multiple_tables_compatible ... ignored, Known issue: Multiple table INSERT with INT PRIMARY KEY - see moth eigtx
[INFO] [stdout] test test_single_table_readable_by_sqlite ... ok
[INFO] [stdout] test test_unique_constraint_compatible ... ignored, Known issue: UNIQUE constraint false positive with INT PRIMARY KEY - see moth zenc6
[INFO] [stdout] test test_update_compatible ... ignored, Known issue: UPDATE with INT PRIMARY KEY not persisting correctly - see moth eigtx
[INFO] [stdout] test test_data_round_trip_sqlite_to_rustql ... ok
[INFO] [stdout] test test_delete_compatible ... ok
[INFO] [stdout] test test_index_readable_by_sqlite ... ok
[INFO] [stdout] test test_large_text_compatible ... ok
[INFO] [stdout] test test_data_round_trip_rustql_to_sqlite ... ok
[INFO] [stdout] test test_multi_column_index_compatible ... ok
[INFO] [stdout] test test_many_rows_compatible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 4.39s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/update_or_replace.rs (/opt/rustwide/target/debug/deps/update_or_replace-cead0c308e148e30)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_simple_update ... ok
[INFO] [stdout] test test_simple_delete ... ok
[INFO] [stdout] test test_update_or_replace_ipk_conflict ... ok
[INFO] [stdout] test test_update_or_replace_with_unique_index ... ok
[INFO] [stdout] test test_insert_6_3 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/where_debug.rs (/opt/rustwide/target/debug/deps/where_debug-94aebcfe38eb5650)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test test_correlated_subquery_with_other_column ... ok
[INFO] [stdout] test test_correlated_subquery_no_from ... ok
[INFO] [stdout] test test_ambiguous_column_resolution ... ok
[INFO] [stdout] test test_cursor_stability_delete_during_iteration ... ok
[INFO] [stdout] test test_expr_minus_vs_plus ... ok
[INFO] [stdout] test test_cursor_page_refresh_on_stale ... ok
[INFO] [stdout] test test_expr_transaction ... ok
[INFO] [stdout] test test_expr_multi_statement_rollback ... ok
[INFO] [stdout] test test_insert_after_delete ... ok
[INFO] [stdout] test test_delete_all_during_cross_join_index_scan ... ok
[INFO] [stdout] test test_insert_select_arithmetic_simple ... ok
[INFO] [stdout] test test_delete_single_row_during_cross_join_index_scan ... ok
[INFO] [stdout] test test_insert_select_with_scalar_subquery ... ok
[INFO] [stdout] test test_join_with_non_empty_tables ... ok
[INFO] [stdout] test test_left_join_empty_table ... ok
[INFO] [stdout] test test_left_join_with_data ... ok
[INFO] [stdout] test test_order_by_uses_index_scan ... ok
[INFO] [stdout] test test_order_by_cross_join_index_scan ... ok
[INFO] [stdout] test test_rollback_behavior ... ok
[INFO] [stdout] test test_scalar_subquery_in_expression ... ok
[INFO] [stdout] test test_sort_flag_with_order_by_expression ... ignored
[INFO] [stdout] test test_scalar_subquery_standalone ... ok
[INFO] [stdout] test test_simple_update_no_txn ... ok
[INFO] [stdout] test test_sqlite_search_count ... ok
[INFO] [stdout] test test_three_way_join ... ok
[INFO] [stdout] test test_where_test_setup ... ok
[INFO] [stdout] test test_bulk_delete_large_table ... ok
[INFO] [stdout] test test_bulk_delete_stepwise ... ok
[INFO] [stdout] test test_insert_after_bulk_delete ... ok
[INFO] [stdout] test test_bulk_delete_threshold ... ok
[INFO] [stderr]    Doc-tests rustql
[INFO] [stdout] test test_insert_after_bulk_delete_variations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 9.28s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]     --> src/vdbe/engine/mod.rs:2374:28
[INFO] [stderr]      |
[INFO] [stderr] 2374 |                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stderr]      |                            ^                                        ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 2374 -                         if (need_root_lookup || table_meta.is_none()) {
[INFO] [stderr] 2374 +                         if need_root_lookup || table_meta.is_none() {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/storage/btree/mod.rs - storage::btree::BtCursor::iter (line 6611) ... ignored
[INFO] [stdout] test src/vdbe/engine/handlers/mod.rs - vdbe::engine::handlers::OpcodeHandler (line 64) ... ignored
[INFO] [stdout] test src/vtab/cursor.rs - vtab::cursor::VtabCursor (line 31) ... ignored
[INFO] [stdout] test src/vtab/declare_vtab.rs - vtab::declare_vtab (line 14) ... ignored
[INFO] [stdout] test src/vtab/declare_vtab.rs - vtab::declare_vtab::declare_vtab (line 325) ... ignored
[INFO] [stdout] test src/vtab/mod.rs - vtab (line 16) ... ignored
[INFO] [stdout] test src/vtab/module.rs - vtab::module::VtabModule (line 50) ... ignored
[INFO] [stdout] test src/vtab/registry.rs - vtab::registry::VtabRegistry (line 25) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "db0e8fefa57a3aa210820dcd2ebfb3a981214f9eb8c9e21ee2315959d792c6c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db0e8fefa57a3aa210820dcd2ebfb3a981214f9eb8c9e21ee2315959d792c6c7", kill_on_drop: false }`
[INFO] [stdout] db0e8fefa57a3aa210820dcd2ebfb3a981214f9eb8c9e21ee2315959d792c6c7
