[INFO] cloning repository https://github.com/krishnarg04/OxideDB [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/krishnarg04/OxideDB" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2FOxideDB", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2FOxideDB'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 375e444aa70f0f1f946dfdec86cff01eb388be00 [INFO] testing krishnarg04/OxideDB against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759-retry [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2FOxideDB" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/krishnarg04/OxideDB [INFO] finished tweaking git repo https://github.com/krishnarg04/OxideDB [INFO] tweaked toml for git repo https://github.com/krishnarg04/OxideDB written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/krishnarg04/OxideDB on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/krishnarg04/OxideDB 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 577f882206e1f1f4f016d93bdead1860ee1a7d8c807dc5129478899da6dc1f29 [INFO] running `Command { std: "docker" "start" "-a" "577f882206e1f1f4f016d93bdead1860ee1a7d8c807dc5129478899da6dc1f29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "577f882206e1f1f4f016d93bdead1860ee1a7d8c807dc5129478899da6dc1f29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "577f882206e1f1f4f016d93bdead1860ee1a7d8c807dc5129478899da6dc1f29", kill_on_drop: false }` [INFO] [stdout] 577f882206e1f1f4f016d93bdead1860ee1a7d8c807dc5129478899da6dc1f29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8526b55869bce7f3bd5e3f342574bf1b62f1cd6dc40895041c8109b2d49ce6fc [INFO] running `Command { std: "docker" "start" "-a" "8526b55869bce7f3bd5e3f342574bf1b62f1cd6dc40895041c8109b2d49ce6fc", kill_on_drop: false }` [INFO] [stderr] Compiling OxideDB v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `data` should have an upper camel case name [INFO] [stdout] --> src/BTree.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct data { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `row_array` should have an upper camel case name [INFO] [stdout] --> src/MetaEnum.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct row_array { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `RowArray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MetaEnum` [INFO] [stdout] --> src/FileWriter.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{MetaEnum, RowData::RawData, TableMetaHandler}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `File_Handler` should have an upper camel case name [INFO] [stdout] --> src/FileWriter.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct File_Handler{ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FileHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SeekFrom` and `Seek` [INFO] [stdout] --> src/TableMetaHandler.rs:3:50 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufReader, BufWriter, Read, Write, Seek, SeekFrom}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/TableCreationHandler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableMetaHandler` [INFO] [stdout] --> src/TableCreationHandler.rs:3:44 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::TableMetaHandler::{meta_config, TableMetaHandler}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableMetaHandler` [INFO] [stdout] --> src/TableQueryHandler.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::TableMetaHandler::{meta_config, TableMetaHandler}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `save_btree_manually` [INFO] [stdout] --> src/TableQueryHandler.rs:7:49 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::BTreePersistence::{BTreePersistence, save_btree_manually}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `data` should have an upper camel case name [INFO] [stdout] --> src/BPlusTree.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct data { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `data` should have an upper camel case name [INFO] [stdout] --> src/UniversalKey.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct data { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Key` [INFO] [stdout] --> src/TableBTreeManager.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::UniversalKey::{Key, data, IntKey, StringKey, BigIntKey, DoubleKey}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/BTree.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn insert(&mut self, mut node: Option>) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/BTree.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | fn _insert_rec( &mut self, mut current: &mut Box, mut value : Box) { [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/BTree.rs:89:61 [INFO] [stdout] | [INFO] [stdout] 89 | fn _insert_rec( &mut self, mut current: &mut Box, mut value : Box) { [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/BTree.rs:122:21 [INFO] [stdout] | [INFO] [stdout] 122 | let mut value = self.node_stack.pop().unwrap().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/BTree.rs:131:31 [INFO] [stdout] | [INFO] [stdout] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:139:30 [INFO] [stdout] | [INFO] [stdout] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:139:59 [INFO] [stdout] | [INFO] [stdout] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let mut left_node = Box::new(Node { [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/BTree.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut right_node = Box::new(Node { [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/BTree.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 160 | let mut new_value = new_Vec.get(mid_pos).unwrap().clone(); [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/BTree.rs:167:31 [INFO] [stdout] | [INFO] [stdout] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [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/BTree.rs:176:35 [INFO] [stdout] | [INFO] [stdout] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [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/BTree.rs:176:64 [INFO] [stdout] | [INFO] [stdout] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [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/BTree.rs:182:27 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [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/BTree.rs:198:30 [INFO] [stdout] | [INFO] [stdout] 198 | fn copy_point(&mut self, mut current: &mut Box, right: Box, left: Box) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/RowData.rs:129:30 [INFO] [stdout] | [INFO] [stdout] 129 | MetaEnum::STRING(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/TableMetaHandler.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | let mut file = OpenOptions::new().read(true).open(file_path)?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data_length` [INFO] [stdout] --> src/TableMetaHandler.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let data_length = i32::from_le_bytes(length_bytes); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/TableMetaHandler.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut file = OpenOptions::new() [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/TableMetaHandler.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut file = OpenOptions::new() [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/TableMetaHandler.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let mut file = OpenOptions::new() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table_id` [INFO] [stdout] --> src/TableCreationHandler.rs:196:37 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn get_table_columns(&self, table_id: i32) -> Result, String> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/BPlusTree.rs:244:13 [INFO] [stdout] | [INFO] [stdout] 244 | let mut node = current.borrow_mut(); [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/UniversalBPlusTree.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let mut node = current.write().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/BTreePersistence.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let mut file = OpenOptions::new() [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/BTreePersistence.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let mut file = File::open(&filename) [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BTree::Node` is more private than the item `BTree::BTree::_binary_search` [INFO] [stdout] --> src/BTree.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `BTree::BTree::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BTree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/BTree.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BPlusTree::Node` is more private than the item `BPlusTree::BPlusTree::_binary_search` [INFO] [stdout] --> src/BPlusTree.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | pub fn _binary_search(current: &Rc>>, target: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `BPlusTree::BPlusTree::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BPlusTree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/BPlusTree.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `UniversalBPlusTree::Node` is more private than the item `UniversalBPlusTree::BPlusTree::::_binary_search` [INFO] [stdout] --> src/UniversalBPlusTree.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn _binary_search(current: &Arc>>>, target: &T) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `UniversalBPlusTree::BPlusTree::::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `UniversalBPlusTree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/UniversalBPlusTree.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_SIZE` is never used [INFO] [stdout] --> src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const PAGE_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_SIZE` is never used [INFO] [stdout] --> src/main.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const HEADER_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `data` is never constructed [INFO] [stdout] --> src/BTree.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct data { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/BTree.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl data { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 9 | pub fn new(page_id: i64, offset: i32) -> data { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Key` is never constructed [INFO] [stdout] --> src/BTree.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Key { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_key` are never used [INFO] [stdout] --> src/BTree.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Key { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(key: i32, data: Option>) -> Key { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn get_key(&self) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/BTree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_KEYS` is never used [INFO] [stdout] --> src/BTree.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const MAX_KEYS: usize = 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BTree` is never constructed [INFO] [stdout] --> src/BTree.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct BTree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/BTree.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl BTree { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 46 | pub fn new() -> BTree { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn insert(&mut self, mut node: Option>) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn copy_point(&mut self, mut current: &mut Box, right: Box, left: Box) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FLOAT` and `BIGINT` are never constructed [INFO] [stdout] --> src/MetaEnum.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum DataArray { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 28 | INTEGER(i32), [INFO] [stdout] 29 | FLOAT(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | DOUBLE(f64), [INFO] [stdout] 31 | BIGINT(i64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_meta`, `add_data`, `get_data`, and `get_data_as_string` are never used [INFO] [stdout] --> src/MetaEnum.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl row_array { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn add_meta(&mut self, meta: MetaEnum) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn add_data(&mut self, data: DataArray) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_data(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_data_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LRUDict` is never constructed [INFO] [stdout] --> src/LruDict.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LRUDict { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DoublyLinkedList` is never constructed [INFO] [stdout] --> src/LruDict.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct DoublyLinkedList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DoublyLinkedListNode` is never constructed [INFO] [stdout] --> src/LruDict.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct DoublyLinkedListNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push_to_tail`, `unlink_node`, and `move_to_tail` are never used [INFO] [stdout] --> src/LruDict.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl DoublyLinkedList { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 25 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn push_to_tail(&mut self, key: i64, value: Box) -> Rc> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn unlink_node(&mut self, node: &Rc>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn move_to_tail(&mut self, node: &Rc>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_element`, `get`, and `remove_lru` are never used [INFO] [stdout] --> src/LruDict.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl LRUDict { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 93 | pub fn new(capacity: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn add_element(&mut self, key: i64, value: Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn get(&mut self, key: i64) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn remove_lru(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `schema_name` is never read [INFO] [stdout] --> src/RowData.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RawData { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 9 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_row_size` is never used [INFO] [stdout] --> src/RowData.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl RawData { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 144 | fn get_row_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `columns` are never read [INFO] [stdout] --> src/TableMetaHandler.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct TableMetadata { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 59 | pub(crate) table_id: i32, [INFO] [stdout] 60 | table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | columns: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_table_schema_meta`, `write_meta_file`, `create_raw_data_for_table`, and `get_table_meta` are never used [INFO] [stdout] --> src/TableMetaHandler.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl TableMetaHandler { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn load_table_schema_meta(&mut self) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn write_meta_file(&self, tables: &[TableMetadata]) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn create_raw_data_for_table(&self, table_name: &str, page_size: usize, header_size: usize, page_id: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn get_table_meta(&self, table_id: i64) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_table_columns` is never used [INFO] [stdout] --> src/TableCreationHandler.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl TableCreationHandler { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn get_table_columns(&self, table_id: i32) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_table_handler` is never used [INFO] [stdout] --> src/TableCreationHandler.rs:255:8 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn create_table_handler() -> TableCreationHandler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `example_create_table` is never used [INFO] [stdout] --> src/TableCreationHandler.rs:260:8 [INFO] [stdout] | [INFO] [stdout] 260 | pub fn example_create_table() -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/TableQueryHandler.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 15 | impl TableQueryHandler { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 211 | fn get_row_count_after_insert(&self, raw_data: &RawData) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn batch_insert( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn key_exists(&self, table_name: &str, primary_key: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn load_existing_btrees(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn restore_page_info(&mut self, table_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn discover_existing_tables(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | fn is_system_file(&self, table_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/BPlusTree.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 32 | struct Node { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 35 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_tree` is never used [INFO] [stdout] --> src/BPlusTree.rs:371:8 [INFO] [stdout] | [INFO] [stdout] 47 | impl BPlusTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | fn print_tree(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_key`, `is_greater`, `is_greater_equal`, `is_less_equal`, and `compare` are never used [INFO] [stdout] --> src/Comparable.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Comparable: Clone + std::fmt::Debug { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 5 | [INFO] [stdout] 6 | fn get_key(&self) -> Self; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fn is_greater(&self, other: &Self) -> bool; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | fn is_greater_equal(&self, other: &Self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn is_less_equal(&self, other: &Self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn compare(&self, other: &Self) -> Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/UniversalKey.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl data { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page_id: i64, offset: i32) -> data { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/UniversalKey.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Key { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(key: T, data: Option>) -> Key { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_key(&self) -> &T { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn compare(&self, other: &Key) -> std::cmp::Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn equals(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_greater(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_less(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn is_greater_equal(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_less_equal(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IntKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:55:10 [INFO] [stdout] | [INFO] [stdout] 55 | pub type IntKey = Key; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `StringKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | pub type StringKey = Key; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BigIntKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | pub type BigIntKey = Key; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DoubleKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | pub type DoubleKey = Key; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `size` and `next` are never read [INFO] [stdout] --> src/UniversalBPlusTree.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pointers: Vec>>>>>, [INFO] [stdout] 11 | next: Option>>>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_KEYS` is never used [INFO] [stdout] --> src/UniversalBPlusTree.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const MAX_KEYS: usize = 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/UniversalBPlusTree.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl BPlusTree { [INFO] [stdout] | -------------------------------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn insert(&mut self, node: Option>>) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn insert_into_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn add_new_element(&mut self, current: &Arc>>>, value: Box>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn split_leaf( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn split_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn print_tree(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn print_rec(current: &Arc>>>, level: i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `insert` is never used [INFO] [stdout] --> src/TableBTreeManager.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TableBTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn insert(&mut self, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `String`, `BigInt`, and `Double` are never constructed [INFO] [stdout] --> src/TableBTreeManager.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum TableKey { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 78 | Int(i32), [INFO] [stdout] 79 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 80 | BigInt(i64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 81 | Double(f64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_meta_enum` is never used [INFO] [stdout] --> src/TableBTreeManager.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl TableKey { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 85 | [INFO] [stdout] 86 | pub fn from_meta_enum(meta_type: &MetaEnum, value: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert`, `table_exists`, `get_primary_key_type`, and `get_table_ids` are never used [INFO] [stdout] --> src/TableBTreeManager.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl TableBTreeManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn insert(&mut self, table_id: i32, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn table_exists(&self, table_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn get_primary_key_type(&self, table_id: i32) -> Option<&MetaEnum> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn get_table_ids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insert_into_table` is never used [INFO] [stdout] --> src/TableBTreeManager.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn insert_into_table(table_id: i32, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bytes` is never used [INFO] [stdout] --> src/BTreePersistence.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl SerializedBTreeEntry { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | fn from_bytes(bytes: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_btree` and `load_all_btrees` are never used [INFO] [stdout] --> src/BTreePersistence.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl BTreePersistence { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn load_btree(table_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn load_all_btrees(table_names: &[String]) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_btree_manually` is never used [INFO] [stdout] --> src/BTreePersistence.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn save_btree_manually(table_name: &str, btree: &BPlusTree) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BTree` should have a snake case name [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod BTree; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `btree` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `MetaEnum` should have a snake case name [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mod MetaEnum; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `meta_enum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `LruDict` should have a snake case name [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mod LruDict; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `lru_dict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `RowData` should have a snake case name [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | mod RowData; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `row_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `FileWriter` should have a snake case name [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mod FileWriter; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `file_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableMetaHandler` should have a snake case name [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | mod TableMetaHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_meta_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableCreationHandler` should have a snake case name [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mod TableCreationHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_creation_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableQueryHandler` should have a snake case name [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mod TableQueryHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_query_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BPlusTree` should have a snake case name [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | mod BPlusTree; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `bplus_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Comparable` should have a snake case name [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mod Comparable; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `comparable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `UniversalKey` should have a snake case name [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | mod UniversalKey; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `universal_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `UniversalBPlusTree` should have a snake case name [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | mod UniversalBPlusTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `universal_bplus_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableBTreeManager` should have a snake case name [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | mod TableBTreeManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_btree_manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BTreePersistence` should have a snake case name [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | mod BTreePersistence; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `btree_persistence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `new_Vec` should have a snake case name [INFO] [stdout] --> src/BTree.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | let mut new_Vec : Vec> = current.keys.to_vec(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `new_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `meta_config` should have an upper case name [INFO] [stdout] --> src/TableMetaHandler.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub static meta_config: Mutex> = Mutex::new(None); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 14 - pub static meta_config: Mutex> = Mutex::new(None); [INFO] [stdout] 14 + pub static META_CONFIG: Mutex> = Mutex::new(None); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.23s [INFO] running `Command { std: "docker" "inspect" "8526b55869bce7f3bd5e3f342574bf1b62f1cd6dc40895041c8109b2d49ce6fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8526b55869bce7f3bd5e3f342574bf1b62f1cd6dc40895041c8109b2d49ce6fc", kill_on_drop: false }` [INFO] [stdout] 8526b55869bce7f3bd5e3f342574bf1b62f1cd6dc40895041c8109b2d49ce6fc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57622b5fc5e8f54722790f5fdd7b2d48ce2909d2afe6ce5863026b255f11ef5a [INFO] running `Command { std: "docker" "start" "-a" "57622b5fc5e8f54722790f5fdd7b2d48ce2909d2afe6ce5863026b255f11ef5a", kill_on_drop: false }` [INFO] [stderr] Compiling OxideDB v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `data` should have an upper camel case name [INFO] [stdout] --> src/BTree.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct data { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `row_array` should have an upper camel case name [INFO] [stdout] --> src/MetaEnum.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct row_array { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `RowArray` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MetaEnum` [INFO] [stdout] --> src/FileWriter.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{MetaEnum, RowData::RawData, TableMetaHandler}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `File_Handler` should have an upper camel case name [INFO] [stdout] --> src/FileWriter.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct File_Handler{ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FileHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SeekFrom` and `Seek` [INFO] [stdout] --> src/TableMetaHandler.rs:3:50 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{BufReader, BufWriter, Read, Write, Seek, SeekFrom}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/TableCreationHandler.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableMetaHandler` [INFO] [stdout] --> src/TableCreationHandler.rs:3:44 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::TableMetaHandler::{meta_config, TableMetaHandler}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableMetaHandler` [INFO] [stdout] --> src/TableQueryHandler.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::TableMetaHandler::{meta_config, TableMetaHandler}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `save_btree_manually` [INFO] [stdout] --> src/TableQueryHandler.rs:7:49 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::BTreePersistence::{BTreePersistence, save_btree_manually}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `data` should have an upper camel case name [INFO] [stdout] --> src/BPlusTree.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct data { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `data` should have an upper camel case name [INFO] [stdout] --> src/UniversalKey.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct data { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Key` [INFO] [stdout] --> src/TableBTreeManager.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::UniversalKey::{Key, data, IntKey, StringKey, BigIntKey, DoubleKey}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/BTree.rs:54:30 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn insert(&mut self, mut node: Option>) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/BTree.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | fn _insert_rec( &mut self, mut current: &mut Box, mut value : Box) { [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/BTree.rs:89:61 [INFO] [stdout] | [INFO] [stdout] 89 | fn _insert_rec( &mut self, mut current: &mut Box, mut value : Box) { [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/BTree.rs:122:21 [INFO] [stdout] | [INFO] [stdout] 122 | let mut value = self.node_stack.pop().unwrap().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/BTree.rs:131:31 [INFO] [stdout] | [INFO] [stdout] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:139:30 [INFO] [stdout] | [INFO] [stdout] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:139:59 [INFO] [stdout] | [INFO] [stdout] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let mut left_node = Box::new(Node { [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/BTree.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut right_node = Box::new(Node { [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/BTree.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 160 | let mut new_value = new_Vec.get(mid_pos).unwrap().clone(); [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/BTree.rs:167:31 [INFO] [stdout] | [INFO] [stdout] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [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/BTree.rs:176:35 [INFO] [stdout] | [INFO] [stdout] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [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/BTree.rs:176:64 [INFO] [stdout] | [INFO] [stdout] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [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/BTree.rs:182:27 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [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/BTree.rs:198:30 [INFO] [stdout] | [INFO] [stdout] 198 | fn copy_point(&mut self, mut current: &mut Box, right: Box, left: Box) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/RowData.rs:129:30 [INFO] [stdout] | [INFO] [stdout] 129 | MetaEnum::STRING(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/TableMetaHandler.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | let mut file = OpenOptions::new().read(true).open(file_path)?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data_length` [INFO] [stdout] --> src/TableMetaHandler.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let data_length = i32::from_le_bytes(length_bytes); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/TableMetaHandler.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut file = OpenOptions::new() [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/TableMetaHandler.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut file = OpenOptions::new() [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/TableMetaHandler.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let mut file = OpenOptions::new() [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table_id` [INFO] [stdout] --> src/TableCreationHandler.rs:196:37 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn get_table_columns(&self, table_id: i32) -> Result, String> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/BPlusTree.rs:244:13 [INFO] [stdout] | [INFO] [stdout] 244 | let mut node = current.borrow_mut(); [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/UniversalBPlusTree.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let mut node = current.write().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/BTreePersistence.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let mut file = OpenOptions::new() [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/BTreePersistence.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let mut file = File::open(&filename) [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BTree::Node` is more private than the item `BTree::BTree::_binary_search` [INFO] [stdout] --> src/BTree.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `BTree::BTree::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BTree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/BTree.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `BPlusTree::Node` is more private than the item `BPlusTree::BPlusTree::_binary_search` [INFO] [stdout] --> src/BPlusTree.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | pub fn _binary_search(current: &Rc>>, target: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `BPlusTree::BPlusTree::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `BPlusTree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/BPlusTree.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `UniversalBPlusTree::Node` is more private than the item `UniversalBPlusTree::BPlusTree::::_binary_search` [INFO] [stdout] --> src/UniversalBPlusTree.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn _binary_search(current: &Arc>>>, target: &T) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `UniversalBPlusTree::BPlusTree::::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `UniversalBPlusTree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/UniversalBPlusTree.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_SIZE` is never used [INFO] [stdout] --> src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const PAGE_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_SIZE` is never used [INFO] [stdout] --> src/main.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const HEADER_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `data` is never constructed [INFO] [stdout] --> src/BTree.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct data { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/BTree.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl data { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 9 | pub fn new(page_id: i64, offset: i32) -> data { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Key` is never constructed [INFO] [stdout] --> src/BTree.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Key { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_key` are never used [INFO] [stdout] --> src/BTree.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Key { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(key: i32, data: Option>) -> Key { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn get_key(&self) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/BTree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_KEYS` is never used [INFO] [stdout] --> src/BTree.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const MAX_KEYS: usize = 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BTree` is never constructed [INFO] [stdout] --> src/BTree.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct BTree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/BTree.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl BTree { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 46 | pub fn new() -> BTree { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn insert(&mut self, mut node: Option>) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn copy_point(&mut self, mut current: &mut Box, right: Box, left: Box) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FLOAT` and `BIGINT` are never constructed [INFO] [stdout] --> src/MetaEnum.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum DataArray { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 28 | INTEGER(i32), [INFO] [stdout] 29 | FLOAT(f32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | DOUBLE(f64), [INFO] [stdout] 31 | BIGINT(i64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_meta`, `add_data`, `get_data`, and `get_data_as_string` are never used [INFO] [stdout] --> src/MetaEnum.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl row_array { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn add_meta(&mut self, meta: MetaEnum) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn add_data(&mut self, data: DataArray) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_data(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_data_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LRUDict` is never constructed [INFO] [stdout] --> src/LruDict.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LRUDict { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DoublyLinkedList` is never constructed [INFO] [stdout] --> src/LruDict.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct DoublyLinkedList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DoublyLinkedListNode` is never constructed [INFO] [stdout] --> src/LruDict.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct DoublyLinkedListNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push_to_tail`, `unlink_node`, and `move_to_tail` are never used [INFO] [stdout] --> src/LruDict.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl DoublyLinkedList { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 25 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn push_to_tail(&mut self, key: i64, value: Box) -> Rc> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn unlink_node(&mut self, node: &Rc>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn move_to_tail(&mut self, node: &Rc>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_element`, `get`, and `remove_lru` are never used [INFO] [stdout] --> src/LruDict.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl LRUDict { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 93 | pub fn new(capacity: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn add_element(&mut self, key: i64, value: Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn get(&mut self, key: i64) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn remove_lru(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `schema_name` is never read [INFO] [stdout] --> src/RowData.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RawData { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 9 | pub schema_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_row_size` is never used [INFO] [stdout] --> src/RowData.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl RawData { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 144 | fn get_row_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `columns` are never read [INFO] [stdout] --> src/TableMetaHandler.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct TableMetadata { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 59 | pub(crate) table_id: i32, [INFO] [stdout] 60 | table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | columns: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_table_schema_meta`, `write_meta_file`, `create_raw_data_for_table`, and `get_table_meta` are never used [INFO] [stdout] --> src/TableMetaHandler.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl TableMetaHandler { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn load_table_schema_meta(&mut self) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn write_meta_file(&self, tables: &[TableMetadata]) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn create_raw_data_for_table(&self, table_name: &str, page_size: usize, header_size: usize, page_id: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn get_table_meta(&self, table_id: i64) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_table_columns` is never used [INFO] [stdout] --> src/TableCreationHandler.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl TableCreationHandler { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn get_table_columns(&self, table_id: i32) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_table_handler` is never used [INFO] [stdout] --> src/TableCreationHandler.rs:255:8 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn create_table_handler() -> TableCreationHandler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `example_create_table` is never used [INFO] [stdout] --> src/TableCreationHandler.rs:260:8 [INFO] [stdout] | [INFO] [stdout] 260 | pub fn example_create_table() -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/TableQueryHandler.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 15 | impl TableQueryHandler { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 211 | fn get_row_count_after_insert(&self, raw_data: &RawData) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn batch_insert( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn key_exists(&self, table_name: &str, primary_key: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn load_existing_btrees(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn restore_page_info(&mut self, table_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn discover_existing_tables(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | fn is_system_file(&self, table_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/BPlusTree.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 32 | struct Node { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 35 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_tree` is never used [INFO] [stdout] --> src/BPlusTree.rs:371:8 [INFO] [stdout] | [INFO] [stdout] 47 | impl BPlusTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | fn print_tree(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_key`, `is_greater`, `is_greater_equal`, `is_less_equal`, and `compare` are never used [INFO] [stdout] --> src/Comparable.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Comparable: Clone + std::fmt::Debug { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 5 | [INFO] [stdout] 6 | fn get_key(&self) -> Self; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fn is_greater(&self, other: &Self) -> bool; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | fn is_greater_equal(&self, other: &Self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn is_less_equal(&self, other: &Self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn compare(&self, other: &Self) -> Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/UniversalKey.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl data { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page_id: i64, offset: i32) -> data { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/UniversalKey.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Key { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(key: T, data: Option>) -> Key { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_key(&self) -> &T { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn compare(&self, other: &Key) -> std::cmp::Ordering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn equals(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_greater(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_less(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn is_greater_equal(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_less_equal(&self, other: &Key) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IntKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:55:10 [INFO] [stdout] | [INFO] [stdout] 55 | pub type IntKey = Key; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `StringKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | pub type StringKey = Key; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BigIntKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | pub type BigIntKey = Key; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DoubleKey` is never used [INFO] [stdout] --> src/UniversalKey.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | pub type DoubleKey = Key; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `size` and `next` are never read [INFO] [stdout] --> src/UniversalBPlusTree.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pointers: Vec>>>>>, [INFO] [stdout] 11 | next: Option>>>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_KEYS` is never used [INFO] [stdout] --> src/UniversalBPlusTree.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const MAX_KEYS: usize = 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/UniversalBPlusTree.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl BPlusTree { [INFO] [stdout] | -------------------------------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn insert(&mut self, node: Option>>) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn insert_into_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn add_new_element(&mut self, current: &Arc>>>, value: Box>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn split_leaf( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn split_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn print_tree(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn print_rec(current: &Arc>>>, level: i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `insert` is never used [INFO] [stdout] --> src/TableBTreeManager.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TableBTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn insert(&mut self, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `String`, `BigInt`, and `Double` are never constructed [INFO] [stdout] --> src/TableBTreeManager.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub enum TableKey { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 78 | Int(i32), [INFO] [stdout] 79 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 80 | BigInt(i64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 81 | Double(f64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TableKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_meta_enum` is never used [INFO] [stdout] --> src/TableBTreeManager.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl TableKey { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 85 | [INFO] [stdout] 86 | pub fn from_meta_enum(meta_type: &MetaEnum, value: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert`, `table_exists`, `get_primary_key_type`, and `get_table_ids` are never used [INFO] [stdout] --> src/TableBTreeManager.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl TableBTreeManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn insert(&mut self, table_id: i32, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn table_exists(&self, table_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn get_primary_key_type(&self, table_id: i32) -> Option<&MetaEnum> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn get_table_ids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insert_into_table` is never used [INFO] [stdout] --> src/TableBTreeManager.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn insert_into_table(table_id: i32, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bytes` is never used [INFO] [stdout] --> src/BTreePersistence.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl SerializedBTreeEntry { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | fn from_bytes(bytes: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_btree` and `load_all_btrees` are never used [INFO] [stdout] --> src/BTreePersistence.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl BTreePersistence { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn load_btree(table_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn load_all_btrees(table_names: &[String]) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_btree_manually` is never used [INFO] [stdout] --> src/BTreePersistence.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn save_btree_manually(table_name: &str, btree: &BPlusTree) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BTree` should have a snake case name [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod BTree; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `btree` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `MetaEnum` should have a snake case name [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mod MetaEnum; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `meta_enum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `LruDict` should have a snake case name [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mod LruDict; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `lru_dict` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `RowData` should have a snake case name [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | mod RowData; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `row_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `FileWriter` should have a snake case name [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mod FileWriter; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `file_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableMetaHandler` should have a snake case name [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | mod TableMetaHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_meta_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableCreationHandler` should have a snake case name [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | mod TableCreationHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_creation_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableQueryHandler` should have a snake case name [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mod TableQueryHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_query_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BPlusTree` should have a snake case name [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | mod BPlusTree; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `bplus_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Comparable` should have a snake case name [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mod Comparable; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `comparable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `UniversalKey` should have a snake case name [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | mod UniversalKey; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `universal_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `UniversalBPlusTree` should have a snake case name [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | mod UniversalBPlusTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `universal_bplus_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `TableBTreeManager` should have a snake case name [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | mod TableBTreeManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_btree_manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BTreePersistence` should have a snake case name [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | mod BTreePersistence; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `btree_persistence` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `new_Vec` should have a snake case name [INFO] [stdout] --> src/BTree.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | let mut new_Vec : Vec> = current.keys.to_vec(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `new_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `meta_config` should have an upper case name [INFO] [stdout] --> src/TableMetaHandler.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub static meta_config: Mutex> = Mutex::new(None); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 14 - pub static meta_config: Mutex> = Mutex::new(None); [INFO] [stdout] 14 + pub static META_CONFIG: Mutex> = Mutex::new(None); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.69s [INFO] running `Command { std: "docker" "inspect" "57622b5fc5e8f54722790f5fdd7b2d48ce2909d2afe6ce5863026b255f11ef5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57622b5fc5e8f54722790f5fdd7b2d48ce2909d2afe6ce5863026b255f11ef5a", kill_on_drop: false }` [INFO] [stdout] 57622b5fc5e8f54722790f5fdd7b2d48ce2909d2afe6ce5863026b255f11ef5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9a30c7aabe529c7b2ef1f2853e3dc93f1dcc4e69bcf2c8b93caf954f65964112 [INFO] running `Command { std: "docker" "start" "-a" "9a30c7aabe529c7b2ef1f2853e3dc93f1dcc4e69bcf2c8b93caf954f65964112", kill_on_drop: false }` [INFO] [stderr] warning: type `data` should have an upper camel case name [INFO] [stderr] --> src/BTree.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct data { [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `row_array` should have an upper camel case name [INFO] [stderr] --> src/MetaEnum.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 35 | pub struct row_array { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `RowArray` [INFO] [stderr] [INFO] [stderr] warning: unused import: `MetaEnum` [INFO] [stderr] --> src/FileWriter.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::{MetaEnum, RowData::RawData, TableMetaHandler}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `File_Handler` should have an upper camel case name [INFO] [stderr] --> src/FileWriter.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct File_Handler{ [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FileHandler` [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SeekFrom` and `Seek` [INFO] [stderr] --> src/TableMetaHandler.rs:3:50 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{BufReader, BufWriter, Read, Write, Seek, SeekFrom}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/TableCreationHandler.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TableMetaHandler` [INFO] [stderr] --> src/TableCreationHandler.rs:3:44 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::TableMetaHandler::{meta_config, TableMetaHandler}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TableMetaHandler` [INFO] [stderr] --> src/TableQueryHandler.rs:6:44 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::TableMetaHandler::{meta_config, TableMetaHandler}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `save_btree_manually` [INFO] [stderr] --> src/TableQueryHandler.rs:7:49 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::BTreePersistence::{BTreePersistence, save_btree_manually}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `data` should have an upper camel case name [INFO] [stderr] --> src/BPlusTree.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct data { [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stderr] [INFO] [stderr] warning: type `data` should have an upper camel case name [INFO] [stderr] --> src/UniversalKey.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct data { [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Data` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Key` [INFO] [stderr] --> src/TableBTreeManager.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::UniversalKey::{Key, data, IntKey, StringKey, BigIntKey, DoubleKey}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/BTree.rs:54:30 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn insert(&mut self, mut node: Option>) { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/BTree.rs:89:32 [INFO] [stderr] | [INFO] [stderr] 89 | fn _insert_rec( &mut self, mut current: &mut Box, mut value : Box) { [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/BTree.rs:89:61 [INFO] [stderr] | [INFO] [stderr] 89 | fn _insert_rec( &mut self, mut current: &mut Box, mut value : Box) { [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/BTree.rs:122:21 [INFO] [stderr] | [INFO] [stderr] 122 | let mut value = self.node_stack.pop().unwrap().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/BTree.rs:131:31 [INFO] [stderr] | [INFO] [stderr] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:131:60 [INFO] [stderr] | [INFO] [stderr] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:139:30 [INFO] [stderr] | [INFO] [stderr] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:139:59 [INFO] [stderr] | [INFO] [stderr] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [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/BTree.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let mut left_node = Box::new(Node { [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/BTree.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | let mut right_node = Box::new(Node { [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/BTree.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | let mut new_value = new_Vec.get(mid_pos).unwrap().clone(); [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/BTree.rs:167:31 [INFO] [stderr] | [INFO] [stderr] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [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/BTree.rs:176:35 [INFO] [stderr] | [INFO] [stderr] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [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/BTree.rs:176:64 [INFO] [stderr] | [INFO] [stderr] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [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/BTree.rs:182:27 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [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/BTree.rs:198:30 [INFO] [stderr] | [INFO] [stderr] 198 | fn copy_point(&mut self, mut current: &mut Box, right: Box, left: Box) { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/RowData.rs:129:30 [INFO] [stderr] | [INFO] [stderr] 129 | MetaEnum::STRING(s) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/TableMetaHandler.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | let mut file = OpenOptions::new().read(true).open(file_path)?; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data_length` [INFO] [stderr] --> src/TableMetaHandler.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | let data_length = i32::from_le_bytes(length_bytes); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_length` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/TableMetaHandler.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | let mut file = OpenOptions::new() [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/TableMetaHandler.rs:233:13 [INFO] [stderr] | [INFO] [stderr] 233 | let mut file = OpenOptions::new() [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/TableMetaHandler.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | let mut file = OpenOptions::new() [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `table_id` [INFO] [stderr] --> src/TableCreationHandler.rs:196:37 [INFO] [stderr] | [INFO] [stderr] 196 | pub fn get_table_columns(&self, table_id: i32) -> Result, String> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_id` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/BPlusTree.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | let mut node = current.borrow_mut(); [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/UniversalBPlusTree.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | let mut node = current.write().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/BTreePersistence.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | let mut file = OpenOptions::new() [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/BTreePersistence.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | let mut file = File::open(&filename) [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: type `BTree::Node` is more private than the item `BTree::BTree::_binary_search` [INFO] [stderr] --> src/BTree.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `BTree::BTree::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `BTree::Node` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/BTree.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | struct Node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `BPlusTree::Node` is more private than the item `BPlusTree::BPlusTree::_binary_search` [INFO] [stderr] --> src/BPlusTree.rs:321:5 [INFO] [stderr] | [INFO] [stderr] 321 | pub fn _binary_search(current: &Rc>>, target: i32) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `BPlusTree::BPlusTree::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `BPlusTree::Node` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/BPlusTree.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | struct Node { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `UniversalBPlusTree::Node` is more private than the item `UniversalBPlusTree::BPlusTree::::_binary_search` [INFO] [stderr] --> src/UniversalBPlusTree.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | pub fn _binary_search(current: &Arc>>>, target: &T) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `UniversalBPlusTree::BPlusTree::::_binary_search` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `UniversalBPlusTree::Node` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/UniversalBPlusTree.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | struct Node { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PAGE_SIZE` is never used [INFO] [stderr] --> src/main.rs:22:7 [INFO] [stderr] | [INFO] [stderr] 22 | const PAGE_SIZE: usize = 4096; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `HEADER_SIZE` is never used [INFO] [stderr] --> src/main.rs:23:7 [INFO] [stderr] | [INFO] [stderr] 23 | const HEADER_SIZE: usize = 64; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `data` is never constructed [INFO] [stderr] --> src/BTree.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct data { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/BTree.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl data { [INFO] [stderr] | --------- associated function in this implementation [INFO] [stderr] 9 | pub fn new(page_id: i64, offset: i32) -> data { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Key` is never constructed [INFO] [stderr] --> src/BTree.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct Key { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `get_key` are never used [INFO] [stderr] --> src/BTree.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl Key { [INFO] [stderr] | -------- associated items in this implementation [INFO] [stderr] 21 | pub fn new(key: i32, data: Option>) -> Key { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | fn get_key(&self) -> i32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Node` is never constructed [INFO] [stderr] --> src/BTree.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | struct Node { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_KEYS` is never used [INFO] [stderr] --> src/BTree.rs:37:7 [INFO] [stderr] | [INFO] [stderr] 37 | const MAX_KEYS: usize = 3; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BTree` is never constructed [INFO] [stderr] --> src/BTree.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | pub struct BTree { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/BTree.rs:46:12 [INFO] [stderr] | [INFO] [stderr] 45 | impl BTree { [INFO] [stderr] | ---------- associated items in this implementation [INFO] [stderr] 46 | pub fn new() -> BTree { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | pub fn insert(&mut self, mut node: Option>) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 131 | fn add_element(&mut self, mut current: &mut Box, mut value: Box) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 139 | fn split_node(&mut self, mut current: &mut Box, mut value: Box) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 176 | fn add_new_element(&mut self, mut current: &mut Box, mut value: Box){ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 198 | fn copy_point(&mut self, mut current: &mut Box, right: Box, left: Box) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `FLOAT` and `BIGINT` are never constructed [INFO] [stderr] --> src/MetaEnum.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub enum DataArray { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] 28 | INTEGER(i32), [INFO] [stderr] 29 | FLOAT(f32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 30 | DOUBLE(f64), [INFO] [stderr] 31 | BIGINT(i64), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `add_meta`, `add_data`, `get_data`, and `get_data_as_string` are never used [INFO] [stderr] --> src/MetaEnum.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl row_array { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn add_meta(&mut self, meta: MetaEnum) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn add_data(&mut self, data: DataArray) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | pub fn get_data(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn get_data_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `LRUDict` is never constructed [INFO] [stderr] --> src/LruDict.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct LRUDict { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DoublyLinkedList` is never constructed [INFO] [stderr] --> src/LruDict.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | struct DoublyLinkedList { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DoublyLinkedListNode` is never constructed [INFO] [stderr] --> src/LruDict.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | struct DoublyLinkedListNode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `push_to_tail`, `unlink_node`, and `move_to_tail` are never used [INFO] [stderr] --> src/LruDict.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 24 | impl DoublyLinkedList { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 25 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | fn push_to_tail(&mut self, key: i64, value: Box) -> Rc> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | fn unlink_node(&mut self, node: &Rc>) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 75 | fn move_to_tail(&mut self, node: &Rc>) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `add_element`, `get`, and `remove_lru` are never used [INFO] [stderr] --> src/LruDict.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 92 | impl LRUDict { [INFO] [stderr] | ------------ associated items in this implementation [INFO] [stderr] 93 | pub fn new(capacity: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 101 | pub fn add_element(&mut self, key: i64, value: Box) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 115 | pub fn get(&mut self, key: i64) -> Option> { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 125 | fn remove_lru(&mut self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `schema_name` is never read [INFO] [stderr] --> src/RowData.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct RawData { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 9 | pub schema_name: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RawData` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `get_row_size` is never used [INFO] [stderr] --> src/RowData.rs:144:8 [INFO] [stderr] | [INFO] [stderr] 17 | impl RawData { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 144 | fn get_row_size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `table_name` and `columns` are never read [INFO] [stderr] --> src/TableMetaHandler.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct TableMetadata { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 59 | pub(crate) table_id: i32, [INFO] [stderr] 60 | table_name: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 61 | columns: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `load_table_schema_meta`, `write_meta_file`, `create_raw_data_for_table`, and `get_table_meta` are never used [INFO] [stderr] --> src/TableMetaHandler.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 64 | impl TableMetaHandler { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 73 | pub fn load_table_schema_meta(&mut self) -> Result<(), std::io::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 232 | pub fn write_meta_file(&self, tables: &[TableMetadata]) -> Result<(), std::io::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 287 | pub fn create_raw_data_for_table(&self, table_name: &str, page_size: usize, header_size: usize, page_id: u64) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 373 | pub fn get_table_meta(&self, table_id: i64) -> Option<&Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_table_columns` is never used [INFO] [stderr] --> src/TableCreationHandler.rs:196:12 [INFO] [stderr] | [INFO] [stderr] 30 | impl TableCreationHandler { [INFO] [stderr] | ------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 196 | pub fn get_table_columns(&self, table_id: i32) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_table_handler` is never used [INFO] [stderr] --> src/TableCreationHandler.rs:255:8 [INFO] [stderr] | [INFO] [stderr] 255 | pub fn create_table_handler() -> TableCreationHandler { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `example_create_table` is never used [INFO] [stderr] --> src/TableCreationHandler.rs:260:8 [INFO] [stderr] | [INFO] [stderr] 260 | pub fn example_create_table() -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/TableQueryHandler.rs:211:8 [INFO] [stderr] | [INFO] [stderr] 15 | impl TableQueryHandler { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 211 | fn get_row_count_after_insert(&self, raw_data: &RawData) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 229 | pub fn batch_insert( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 244 | pub fn key_exists(&self, table_name: &str, primary_key: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 252 | pub fn load_existing_btrees(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 272 | fn restore_page_info(&mut self, table_name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 319 | fn discover_existing_tables(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 351 | fn is_system_file(&self, table_name: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `size` is never read [INFO] [stderr] --> src/BPlusTree.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 32 | struct Node { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] ... [INFO] [stderr] 35 | size: usize, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `print_tree` is never used [INFO] [stderr] --> src/BPlusTree.rs:371:8 [INFO] [stderr] | [INFO] [stderr] 47 | impl BPlusTree { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 371 | fn print_tree(&self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_key`, `is_greater`, `is_greater_equal`, `is_less_equal`, and `compare` are never used [INFO] [stderr] --> src/Comparable.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub trait Comparable: Clone + std::fmt::Debug { [INFO] [stderr] | ---------- methods in this trait [INFO] [stderr] 5 | [INFO] [stderr] 6 | fn get_key(&self) -> Self; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 12 | fn is_greater(&self, other: &Self) -> bool; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | fn is_greater_equal(&self, other: &Self) -> bool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | fn is_less_equal(&self, other: &Self) -> bool; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | fn compare(&self, other: &Self) -> Ordering { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/UniversalKey.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl data { [INFO] [stderr] | --------- associated function in this implementation [INFO] [stderr] 10 | pub fn new(page_id: i64, offset: i32) -> data { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/UniversalKey.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl Key { [INFO] [stderr] | -------------------------- associated items in this implementation [INFO] [stderr] 22 | pub fn new(key: T, data: Option>) -> Key { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn get_key(&self) -> &T { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | pub fn compare(&self, other: &Key) -> std::cmp::Ordering { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn equals(&self, other: &Key) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn is_greater(&self, other: &Key) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn is_less(&self, other: &Key) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn is_greater_equal(&self, other: &Key) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn is_less_equal(&self, other: &Key) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `IntKey` is never used [INFO] [stderr] --> src/UniversalKey.rs:55:10 [INFO] [stderr] | [INFO] [stderr] 55 | pub type IntKey = Key; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `StringKey` is never used [INFO] [stderr] --> src/UniversalKey.rs:56:10 [INFO] [stderr] | [INFO] [stderr] 56 | pub type StringKey = Key; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `BigIntKey` is never used [INFO] [stderr] --> src/UniversalKey.rs:57:10 [INFO] [stderr] | [INFO] [stderr] 57 | pub type BigIntKey = Key; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `DoubleKey` is never used [INFO] [stderr] --> src/UniversalKey.rs:58:10 [INFO] [stderr] | [INFO] [stderr] 58 | pub type DoubleKey = Key; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `size` and `next` are never read [INFO] [stderr] --> src/UniversalBPlusTree.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 6 | struct Node { [INFO] [stderr] | ---- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 9 | size: usize, [INFO] [stderr] | ^^^^ [INFO] [stderr] 10 | pointers: Vec>>>>>, [INFO] [stderr] 11 | next: Option>>>>, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_KEYS` is never used [INFO] [stderr] --> src/UniversalBPlusTree.rs:15:7 [INFO] [stderr] | [INFO] [stderr] 15 | const MAX_KEYS: usize = 3; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/UniversalBPlusTree.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl BPlusTree { [INFO] [stderr] | -------------------------------------------------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 26 | pub fn insert(&mut self, node: Option>>) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 137 | fn insert_into_internal( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 167 | fn add_new_element(&mut self, current: &Arc>>>, value: Box>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 174 | fn split_leaf( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 216 | fn split_internal( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 332 | pub fn print_tree(&self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 338 | fn print_rec(current: &Arc>>>, level: i32) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `insert` is never used [INFO] [stderr] --> src/TableBTreeManager.rs:27:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl TableBTree { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn insert(&mut self, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `String`, `BigInt`, and `Double` are never constructed [INFO] [stderr] --> src/TableBTreeManager.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub enum TableKey { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] 78 | Int(i32), [INFO] [stderr] 79 | String(String), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 80 | BigInt(i64), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 81 | Double(f64), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TableKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `from_meta_enum` is never used [INFO] [stderr] --> src/TableBTreeManager.rs:86:12 [INFO] [stderr] | [INFO] [stderr] 84 | impl TableKey { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] 85 | [INFO] [stderr] 86 | pub fn from_meta_enum(meta_type: &MetaEnum, value: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `insert`, `table_exists`, `get_primary_key_type`, and `get_table_ids` are never used [INFO] [stderr] --> src/TableBTreeManager.rs:165:12 [INFO] [stderr] | [INFO] [stderr] 149 | impl TableBTreeManager { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 165 | pub fn insert(&mut self, table_id: i32, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 181 | pub fn table_exists(&self, table_id: i32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 186 | pub fn get_primary_key_type(&self, table_id: i32) -> Option<&MetaEnum> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 191 | pub fn get_table_ids(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `insert_into_table` is never used [INFO] [stderr] --> src/TableBTreeManager.rs:227:8 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn insert_into_table(table_id: i32, key_value: TableKey, page_id: i64, offset: i32) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `from_bytes` is never used [INFO] [stderr] --> src/BTreePersistence.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 14 | impl SerializedBTreeEntry { [INFO] [stderr] | ------------------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 23 | fn from_bytes(bytes: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `load_btree` and `load_all_btrees` are never used [INFO] [stderr] --> src/BTreePersistence.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 46 | impl BTreePersistence { [INFO] [stderr] | --------------------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 84 | pub fn load_btree(table_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 173 | pub fn load_all_btrees(table_names: &[String]) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `save_btree_manually` is never used [INFO] [stderr] --> src/BTreePersistence.rs:186:8 [INFO] [stderr] | [INFO] [stderr] 186 | pub fn save_btree_manually(table_name: &str, btree: &BPlusTree) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `BTree` should have a snake case name [INFO] [stderr] --> src/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | mod BTree; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `btree` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: module `MetaEnum` should have a snake case name [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | mod MetaEnum; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `meta_enum` [INFO] [stderr] [INFO] [stderr] warning: module `LruDict` should have a snake case name [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | mod LruDict; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `lru_dict` [INFO] [stderr] [INFO] [stderr] warning: module `RowData` should have a snake case name [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | mod RowData; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `row_data` [INFO] [stderr] [INFO] [stderr] warning: module `FileWriter` should have a snake case name [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | mod FileWriter; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `file_writer` [INFO] [stderr] [INFO] [stderr] warning: module `TableMetaHandler` should have a snake case name [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | mod TableMetaHandler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_meta_handler` [INFO] [stderr] [INFO] [stderr] warning: module `TableCreationHandler` should have a snake case name [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | mod TableCreationHandler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_creation_handler` [INFO] [stderr] [INFO] [stderr] warning: module `TableQueryHandler` should have a snake case name [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | mod TableQueryHandler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_query_handler` [INFO] [stderr] [INFO] [stderr] warning: module `BPlusTree` should have a snake case name [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | mod BPlusTree; [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `bplus_tree` [INFO] [stderr] [INFO] [stderr] warning: module `Comparable` should have a snake case name [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | mod Comparable; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `comparable` [INFO] [stderr] [INFO] [stderr] warning: module `UniversalKey` should have a snake case name [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | mod UniversalKey; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `universal_key` [INFO] [stderr] [INFO] [stderr] warning: module `UniversalBPlusTree` should have a snake case name [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | mod UniversalBPlusTree; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `universal_bplus_tree` [INFO] [stderr] [INFO] [stderr] warning: module `TableBTreeManager` should have a snake case name [INFO] [stderr] --> src/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | mod TableBTreeManager; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `table_btree_manager` [INFO] [stderr] [INFO] [stderr] warning: module `BTreePersistence` should have a snake case name [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | mod BTreePersistence; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `btree_persistence` [INFO] [stderr] [INFO] [stderr] warning: variable `new_Vec` should have a snake case name [INFO] [stderr] --> src/BTree.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | let mut new_Vec : Vec> = current.keys.to_vec(); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `new_vec` [INFO] [stderr] [INFO] [stderr] warning: static variable `meta_config` should have an upper case name [INFO] [stderr] --> src/TableMetaHandler.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub static meta_config: Mutex> = Mutex::new(None); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] help: convert the identifier to upper case [INFO] [stderr] | [INFO] [stderr] 14 - pub static meta_config: Mutex> = Mutex::new(None); [INFO] [stderr] 14 + pub static META_CONFIG: Mutex> = Mutex::new(None); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `OxideDB` (bin "OxideDB" test) generated 103 warnings (run `cargo fix --bin "OxideDB" --tests` to apply 32 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/OxideDB-025793cc09bcf697) [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] running `Command { std: "docker" "inspect" "9a30c7aabe529c7b2ef1f2853e3dc93f1dcc4e69bcf2c8b93caf954f65964112", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a30c7aabe529c7b2ef1f2853e3dc93f1dcc4e69bcf2c8b93caf954f65964112", kill_on_drop: false }` [INFO] [stdout] 9a30c7aabe529c7b2ef1f2853e3dc93f1dcc4e69bcf2c8b93caf954f65964112