[INFO] cloning repository https://github.com/noot-noot-pengu/RSQLite
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/noot-noot-pengu/RSQLite" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoot-noot-pengu%2FRSQLite", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoot-noot-pengu%2FRSQLite'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 40bf883c8516ef15e4afed0ecce608bd8ab27b4a
[INFO] checking noot-noot-pengu/RSQLite against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoot-noot-pengu%2FRSQLite" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/noot-noot-pengu/RSQLite
[INFO] finished tweaking git repo https://github.com/noot-noot-pengu/RSQLite
[INFO] tweaked toml for git repo https://github.com/noot-noot-pengu/RSQLite written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/noot-noot-pengu/RSQLite on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/noot-noot-pengu/RSQLite 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustyline-derive v0.8.0
[INFO] [stderr]   Downloaded rustversion v1.0.12
[INFO] [stderr]   Downloaded term v0.7.0
[INFO] [stderr]   Downloaded fd-lock v3.0.12
[INFO] [stderr]   Downloaded prettytable-rs v0.10.0
[INFO] [stderr]   Downloaded rustyline v11.0.0
[INFO] [stderr]   Downloaded nix v0.26.2
[INFO] [stderr]   Downloaded rustix v0.37.15
[INFO] [stderr]   Downloaded csv v1.2.1
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 255b45a60c5063334ee92d239ade6224c49fbcd23abe84985a67a6d802d7a2a1
[INFO] running `Command { std: "docker" "start" "-a" "255b45a60c5063334ee92d239ade6224c49fbcd23abe84985a67a6d802d7a2a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "255b45a60c5063334ee92d239ade6224c49fbcd23abe84985a67a6d802d7a2a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "255b45a60c5063334ee92d239ade6224c49fbcd23abe84985a67a6d802d7a2a1", kill_on_drop: false }`
[INFO] [stdout] 255b45a60c5063334ee92d239ade6224c49fbcd23abe84985a67a6d802d7a2a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9fb24d760b16b7f51ad66c3544064953eb63bfcfcdb8c7a471f0c87f224d3c17
[INFO] running `Command { std: "docker" "start" "-a" "9fb24d760b16b7f51ad66c3544064953eb63bfcfcdb8c7a471f0c87f224d3c17", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling rustix v0.37.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]     Checking linux-raw-sys v0.3.4
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking encode_unicode v1.0.0
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking nix v0.26.2
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]    Compiling rustyline-derive v0.8.0
[INFO] [stderr]     Checking csv v1.2.1
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking fd-lock v3.0.12
[INFO] [stderr]     Checking prettytable-rs v0.10.0
[INFO] [stderr]     Checking rustyline v11.0.0
[INFO] [stderr]     Checking rust_sqlite_clone v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ParserError`, `Parser`, and `Statement`
[INFO] [stdout]  --> src/commands/sql_command.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parse::parser::{Parser, ParserError, Statement};
[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: `crate::info`
[INFO] [stdout]  --> src/parse/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::info;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::info`
[INFO] [stdout]  --> src/parse/tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::info;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParserError`, `Parser`, and `Statement`
[INFO] [stdout]  --> src/commands/sql_command.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parse::parser::{Parser, ParserError, Statement};
[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: `crate::info`
[INFO] [stdout]  --> src/parse/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::info;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::info`
[INFO] [stdout]  --> src/parse/tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::info;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/database/pager.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 for i in 0..PAGE_SIZE - 1 {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]   --> src/database/table.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         database: &mut Database,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/parse/parser.rs:455:47
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...                   Token::Number(s, b) => column.default = "true".to_string(),
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parse/parser.rs:455:50
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...                   Token::Number(s, b) => column.default = "true".to_string(),
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parse/parser.rs:463:50
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...                   Token::Number(s, b) => column.default = s.to_string(),
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parse/parser.rs:497:50
[INFO] [stdout]     |
[INFO] [stdout] 497 | ...                   Token::Number(s, b) => column.default = s.to_string(),
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign`
[INFO] [stdout]    --> src/parse/parser.rs:591:38
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 Token::Number(value, sign) => {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/tokenizer.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let mut chars = word.value.chars();
[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: `database`
[INFO] [stdout]   --> src/parse/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     database: &mut Database,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut values: Vec<String> = Vec::new();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> src/parse/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut values: Vec<String> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parse/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     params: (String, Vec<Allocation>, Clause),
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/parse/mod.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     database: &mut Database,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parse/mod.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn validate_delete(params: (String, Clause), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/parse/mod.rs:162:46
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn validate_delete(params: (String, Clause), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parse/mod.rs:169:18
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn validate_drop(params: (String, Vec<String>), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/parse/mod.rs:169:49
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn validate_drop(params: (String, Vec<String>), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]    --> src/parse/mod.rs:183:22
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn check_table_exist(table_name: String) -> bool {
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_PAGES_FIRST_BYTE` is never used
[INFO] [stdout]  --> src/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DATABASE_PAGES_FIRST_BYTE: u8 = 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERNAL_NODE_PAGES_FIRST_BYTE` is never used
[INFO] [stdout]  --> src/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const INTERNAL_NODE_PAGES_FIRST_BYTE: u8 = 2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEAF_NODE_PAGES_FIRST_BYTE` is never used
[INFO] [stdout]   --> src/constants.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LEAF_NODE_PAGES_FIRST_BYTE: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/database/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Database {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 18 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_data` is never used
[INFO] [stdout]   --> src/database/mod.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Database {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn save_data(&mut self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `columns`, `last_id`, and `primary_key` are never read
[INFO] [stdout]   --> src/database/table.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Table {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout]  9 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 10 |     pub columns: Vec<Column>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 11 |     pub last_id: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 12 |     pub primary_key: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `data_type`, `is_pk`, `is_unique`, and `nullable` are never read
[INFO] [stdout]   --> src/database/table.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Column {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 18 |     pub data_type: DataType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 19 |     pub is_pk: bool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 20 |     pub is_unique: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 21 |     pub nullable: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Column` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_table` is never used
[INFO] [stdout]   --> src/database/table.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn get_table(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]  --> src/engine/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left`, `operation`, and `right` are never read
[INFO] [stdout]   --> src/parse/parser.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Binop {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] 34 |         left: Box<Clause>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |         operation: Token,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 36 |         right: Box<Clause>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Clause` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parse/parser.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Value(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Clause` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     Value(String),
[INFO] [stdout] 38 +     Value(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parse/parser.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Nested(Box<Clause>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Clause` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 40 -     Nested(Box<Clause>),
[INFO] [stdout] 40 +     Nested(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/database/pager.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 for i in 0..PAGE_SIZE - 1 {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]   --> src/database/table.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         database: &mut Database,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/parse/parser.rs:455:47
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...                   Token::Number(s, b) => column.default = "true".to_string(),
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parse/parser.rs:455:50
[INFO] [stdout]     |
[INFO] [stdout] 455 | ...                   Token::Number(s, b) => column.default = "true".to_string(),
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parse/parser.rs:463:50
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...                   Token::Number(s, b) => column.default = s.to_string(),
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/parse/parser.rs:497:50
[INFO] [stdout]     |
[INFO] [stdout] 497 | ...                   Token::Number(s, b) => column.default = s.to_string(),
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign`
[INFO] [stdout]    --> src/parse/parser.rs:591:38
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 Token::Number(value, sign) => {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/tokenizer.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let mut chars = word.value.chars();
[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: `database`
[INFO] [stdout]   --> src/parse/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     database: &mut Database,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parse/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut values: Vec<String> = Vec::new();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> src/parse/mod.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let mut values: Vec<String> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parse/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     params: (String, Vec<Allocation>, Clause),
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/parse/mod.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     database: &mut Database,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parse/mod.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn validate_delete(params: (String, Clause), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/parse/mod.rs:162:46
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn validate_delete(params: (String, Clause), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parse/mod.rs:169:18
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn validate_drop(params: (String, Vec<String>), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `database`
[INFO] [stdout]    --> src/parse/mod.rs:169:49
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn validate_drop(params: (String, Vec<String>), database: &mut Database) -> Result<String, String> {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]    --> src/parse/mod.rs:183:22
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn check_table_exist(table_name: String) -> bool {
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATABASE_PAGES_FIRST_BYTE` is never used
[INFO] [stdout]  --> src/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DATABASE_PAGES_FIRST_BYTE: u8 = 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERNAL_NODE_PAGES_FIRST_BYTE` is never used
[INFO] [stdout]  --> src/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const INTERNAL_NODE_PAGES_FIRST_BYTE: u8 = 2;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEAF_NODE_PAGES_FIRST_BYTE` is never used
[INFO] [stdout]   --> src/constants.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const LEAF_NODE_PAGES_FIRST_BYTE: u8 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/database/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Database {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 18 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_data` is never used
[INFO] [stdout]   --> src/database/mod.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Database {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn save_data(&mut self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `columns`, `last_id`, and `primary_key` are never read
[INFO] [stdout]   --> src/database/table.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Table {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout]  9 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 10 |     pub columns: Vec<Column>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 11 |     pub last_id: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 12 |     pub primary_key: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `data_type`, `is_pk`, `is_unique`, and `nullable` are never read
[INFO] [stdout]   --> src/database/table.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Column {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 18 |     pub data_type: DataType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 19 |     pub is_pk: bool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 20 |     pub is_unique: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 21 |     pub nullable: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Column` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_table` is never used
[INFO] [stdout]   --> src/database/table.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn get_table(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeType` is never used
[INFO] [stdout]  --> src/engine/mod.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum NodeType {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left`, `operation`, and `right` are never read
[INFO] [stdout]   --> src/parse/parser.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Binop {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] 34 |         left: Box<Clause>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |         operation: Token,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 36 |         right: Box<Clause>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Clause` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parse/parser.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Value(String),
[INFO] [stdout]    |     ----- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Clause` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     Value(String),
[INFO] [stdout] 38 +     Value(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parse/parser.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Nested(Box<Clause>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Clause` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 40 -     Nested(Box<Clause>),
[INFO] [stdout] 40 +     Nested(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.96s
[INFO] running `Command { std: "docker" "inspect" "9fb24d760b16b7f51ad66c3544064953eb63bfcfcdb8c7a471f0c87f224d3c17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fb24d760b16b7f51ad66c3544064953eb63bfcfcdb8c7a471f0c87f224d3c17", kill_on_drop: false }`
[INFO] [stdout] 9fb24d760b16b7f51ad66c3544064953eb63bfcfcdb8c7a471f0c87f224d3c17
