[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] linting krishnarg04/OxideDB against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkrishnarg04%2FOxideDB" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-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-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/krishnarg04/OxideDB on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "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" "+nightly" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b2b424145afdc8c03c3411d428d1cbf7e74cf86eae20e0cfb61a6b18e8dc0f6d [INFO] running `Command { std: "docker" "start" "-a" "b2b424145afdc8c03c3411d428d1cbf7e74cf86eae20e0cfb61a6b18e8dc0f6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b2b424145afdc8c03c3411d428d1cbf7e74cf86eae20e0cfb61a6b18e8dc0f6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2b424145afdc8c03c3411d428d1cbf7e74cf86eae20e0cfb61a6b18e8dc0f6d", kill_on_drop: false }` [INFO] [stdout] b2b424145afdc8c03c3411d428d1cbf7e74cf86eae20e0cfb61a6b18e8dc0f6d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 47ca98b4bee6342ae9b33a67a00e1e12a5a13f53671f0c1263f1803f9e759a94 [INFO] running `Command { std: "docker" "start" "-a" "47ca98b4bee6342ae9b33a67a00e1e12a5a13f53671f0c1263f1803f9e759a94", kill_on_drop: false }` [INFO] [stderr] Checking 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)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [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)]` (part of `#[warn(nonstandard_style)]`) 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: 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)]` (part of `#[warn(unused)]`) 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 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)]` (part of `#[warn(unused)]`) 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 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: `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: 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/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: 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: 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)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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: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: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: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: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: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: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: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: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: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: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: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: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: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: 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)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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: 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: 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: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: 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: 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: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: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: 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: 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/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/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: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: 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 `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 `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: 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)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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: 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 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: 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: 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 `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: 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: 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: 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: 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: 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: 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: 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 `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: 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: 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: 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`, `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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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_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: 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: 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 `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: 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: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BTree.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | keys: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] = note: `#[warn(clippy::vec_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BTree.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | split_node_list: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BTree.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | keys: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] = note: `#[warn(clippy::vec_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BTree.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | split_node_list: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/BTree.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | / if self.split_node_list.len() > 0 { [INFO] [stdout] 67 | | if self.split_node_list.len() > 0 { [INFO] [stdout] 68 | | [INFO] [stdout] 69 | | let mut new_root = Box::new(Node { [INFO] [stdout] ... | [INFO] [stdout] 84 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 66 ~ if self.split_node_list.len() > 0 [INFO] [stdout] 67 ~ && self.split_node_list.len() > 0 { [INFO] [stdout] 68 | [INFO] [stdout] ... [INFO] [stdout] 82 | return; [INFO] [stdout] 83 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/BTree.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | if self.split_node_list.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.split_node_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/BTree.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | if self.split_node_list.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.split_node_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/BTree.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | / if self.split_node_list.len() > 0 { [INFO] [stdout] 67 | | if self.split_node_list.len() > 0 { [INFO] [stdout] 68 | | [INFO] [stdout] 69 | | let mut new_root = Box::new(Node { [INFO] [stdout] ... | [INFO] [stdout] 84 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 66 ~ if self.split_node_list.len() > 0 [INFO] [stdout] 67 ~ && self.split_node_list.len() > 0 { [INFO] [stdout] 68 | [INFO] [stdout] ... [INFO] [stdout] 82 | return; [INFO] [stdout] 83 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/BTree.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | if self.split_node_list.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.split_node_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/BTree.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | if self.split_node_list.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.split_node_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/BTree.rs:101:99 [INFO] [stdout] | [INFO] [stdout] 101 | else if current.keys.len() > mid_pos && current.keys[mid_pos].get_key() < value.get_key() { [INFO] [stdout] | ___________________________________________________________________________________________________^ [INFO] [stdout] 102 | | if current.pointers[mid_pos].is_none() { [INFO] [stdout] 103 | | self.add_element(current, value); [INFO] [stdout] 104 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/BTree.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | else if current.keys.len() == mid_pos { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 110 | | if current.pointers[mid_pos].is_none() { [INFO] [stdout] 111 | | self.add_element(current, value); [INFO] [stdout] 112 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 116 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/BTree.rs:101:99 [INFO] [stdout] | [INFO] [stdout] 101 | else if current.keys.len() > mid_pos && current.keys[mid_pos].get_key() < value.get_key() { [INFO] [stdout] | ___________________________________________________________________________________________________^ [INFO] [stdout] 102 | | if current.pointers[mid_pos].is_none() { [INFO] [stdout] 103 | | self.add_element(current, value); [INFO] [stdout] 104 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/BTree.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | else if current.keys.len() == mid_pos { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 110 | | if current.pointers[mid_pos].is_none() { [INFO] [stdout] 111 | | self.add_element(current, value); [INFO] [stdout] 112 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 116 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/BTree.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | / if flag { [INFO] [stdout] 121 | | if self.split_node_list.len() > 0 { [INFO] [stdout] 122 | | let mut value = self.node_stack.pop().unwrap().unwrap(); [INFO] [stdout] 123 | | self.add_element(current, value); [INFO] [stdout] ... | [INFO] [stdout] 128 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 120 ~ if flag [INFO] [stdout] 121 ~ && self.split_node_list.len() > 0 { [INFO] [stdout] 122 | let mut value = self.node_stack.pop().unwrap().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 126 | self.copy_point(current, left, right); [INFO] [stdout] 127 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/BTree.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | if self.split_node_list.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.split_node_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/BTree.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | / if flag { [INFO] [stdout] 121 | | if self.split_node_list.len() > 0 { [INFO] [stdout] 122 | | let mut value = self.node_stack.pop().unwrap().unwrap(); [INFO] [stdout] 123 | | self.add_element(current, value); [INFO] [stdout] ... | [INFO] [stdout] 128 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 120 ~ if flag [INFO] [stdout] 121 ~ && self.split_node_list.len() > 0 { [INFO] [stdout] 122 | let mut value = self.node_stack.pop().unwrap().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 126 | self.copy_point(current, left, right); [INFO] [stdout] 127 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/BTree.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | if self.split_node_list.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.split_node_list.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/BTree.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | new_Vec.sort_by(|a, b| a.get_key().cmp(&b.get_key())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 143 - new_Vec.sort_by(|a, b| a.get_key().cmp(&b.get_key())); [INFO] [stdout] 143 + new_Vec.sort_by_key(|a| a.get_key()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/BTree.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | new_Vec.sort_by(|a, b| a.get_key().cmp(&b.get_key())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 143 - new_Vec.sort_by(|a, b| a.get_key().cmp(&b.get_key())); [INFO] [stdout] 143 + new_Vec.sort_by_key(|a| a.get_key()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BTree.rs:167:73 [INFO] [stdout] | [INFO] [stdout] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:182:40 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&Node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BTree.rs:167:73 [INFO] [stdout] | [INFO] [stdout] 167 | fn copy_values(&mut self, mut current: &mut Box, new_values : Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:182:40 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn _binary_search(mut current: & Box, target: i32) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&Node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/BTree.rs:208:26 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 208 - pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] 208 + pub fn search_elemnt(&self, key : i32) -> Option<&Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:208:61 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&'a data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:217:42 [INFO] [stdout] | [INFO] [stdout] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&'a Node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:217:76 [INFO] [stdout] | [INFO] [stdout] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&'a data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/BTree.rs:208:26 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 208 - pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] 208 + pub fn search_elemnt(&self, key : i32) -> Option<&Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | return current.keys[pos].data.as_ref(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 - return current.keys[pos].data.as_ref(); [INFO] [stdout] 220 + current.keys[pos].data.as_ref() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:208:61 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn search_elemnt<'a>(&'a self, key : i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&'a data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:223:17 [INFO] [stdout] | [INFO] [stdout] 223 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return None; [INFO] [stdout] 223 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | return self.search_rec(current.pointers[pos + 1].as_ref().unwrap(), key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 225 - return self.search_rec(current.pointers[pos + 1].as_ref().unwrap(), key); [INFO] [stdout] 225 + self.search_rec(current.pointers[pos + 1].as_ref().unwrap(), key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return None; [INFO] [stdout] 229 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | return self.search_rec(current.pointers[pos].as_ref().unwrap(), key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 231 - return self.search_rec(current.pointers[pos].as_ref().unwrap(), key); [INFO] [stdout] 231 + self.search_rec(current.pointers[pos].as_ref().unwrap(), key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:217:42 [INFO] [stdout] | [INFO] [stdout] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&'a Node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/BTree.rs:217:76 [INFO] [stdout] | [INFO] [stdout] 217 | fn search_rec<'a>(&'a self, current: &'a Box, key:i32) -> Option<&'a Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&'a data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | return current.keys[pos].data.as_ref(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 - return current.keys[pos].data.as_ref(); [INFO] [stdout] 220 + current.keys[pos].data.as_ref() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:223:17 [INFO] [stdout] | [INFO] [stdout] 223 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return None; [INFO] [stdout] 223 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | return self.search_rec(current.pointers[pos + 1].as_ref().unwrap(), key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 225 - return self.search_rec(current.pointers[pos + 1].as_ref().unwrap(), key); [INFO] [stdout] 225 + self.search_rec(current.pointers[pos + 1].as_ref().unwrap(), key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return None; [INFO] [stdout] 229 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BTree.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | return self.search_rec(current.pointers[pos].as_ref().unwrap(), key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 231 - return self.search_rec(current.pointers[pos].as_ref().unwrap(), key); [INFO] [stdout] 231 + self.search_rec(current.pointers[pos].as_ref().unwrap(), key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INTEGER` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | INTEGER, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Integer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FLOAT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | FLOAT, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Float` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOUBLE` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | DOUBLE, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Double` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BIGINT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | BIGINT, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Bigint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | STRING(i64), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INTEGER` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | INTEGER, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Integer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FLOAT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | FLOAT, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Float` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOUBLE` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | DOUBLE, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Double` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BIGINT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | BIGINT, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Bigint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/MetaEnum.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn get_total_size(metadata: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 21 - pub fn get_total_size(metadata: &Vec) -> usize { [INFO] [stdout] 21 + pub fn get_total_size(metadata: &[MetaEnum]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | STRING(i64), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INTEGER` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | INTEGER(i32), [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Integer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FLOAT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | FLOAT(f32), [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Float` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOUBLE` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | DOUBLE(f64), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Double` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/MetaEnum.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn get_total_size(metadata: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 21 - pub fn get_total_size(metadata: &Vec) -> usize { [INFO] [stdout] 21 + pub fn get_total_size(metadata: &[MetaEnum]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BIGINT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | BIGINT(i64), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Bigint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | STRING(String, i32), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INTEGER` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | INTEGER(i32), [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Integer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FLOAT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | FLOAT(f32), [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Float` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOUBLE` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | DOUBLE(f64), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Double` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/MetaEnum.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn add_meta_array(&mut self, meta: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 47 ~ pub fn add_meta_array(&mut self, meta: &[MetaEnum]) { [INFO] [stdout] 48 ~ self.meta_data.extend(meta.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BIGINT` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | BIGINT(i64), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Bigint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/MetaEnum.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | STRING(String, i32), [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/MetaEnum.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn add_meta_array(&mut self, meta: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 47 ~ pub fn add_meta_array(&mut self, meta: &[MetaEnum]) { [INFO] [stdout] 48 ~ self.meta_data.extend(meta.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/LruDict.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | / if let Some(tail) = &self.tail { [INFO] [stdout] 77 | | if Rc::ptr_eq(node, tail) { [INFO] [stdout] 78 | | return; [INFO] [stdout] 79 | | } [INFO] [stdout] 80 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 76 ~ if let Some(tail) = &self.tail [INFO] [stdout] 77 ~ && Rc::ptr_eq(node, tail) { [INFO] [stdout] 78 | return; [INFO] [stdout] 79 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/LruDict.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | / if let Some(tail) = &self.tail { [INFO] [stdout] 77 | | if Rc::ptr_eq(node, tail) { [INFO] [stdout] 78 | | return; [INFO] [stdout] 79 | | } [INFO] [stdout] 80 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 76 ~ if let Some(tail) = &self.tail [INFO] [stdout] 77 ~ && Rc::ptr_eq(node, tail) { [INFO] [stdout] 78 | return; [INFO] [stdout] 79 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/RowData.rs:29:63 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new_without_array(schema_name: String, meta_data: &Vec, page_size: usize, header_size: usize, page_id: u64) ->... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 29 ~ pub fn new_without_array(schema_name: String, meta_data: &[MetaEnum], page_size: usize, header_size: usize, page_id: u64) -> RawData { [INFO] [stdout] 30 | RawData { [INFO] [stdout] 31 | schema_name, [INFO] [stdout] 32 ~ meta_data: meta_data.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/RowData.rs:29:63 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new_without_array(schema_name: String, meta_data: &Vec, page_size: usize, header_size: usize, page_id: u64) ->... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 29 ~ pub fn new_without_array(schema_name: String, meta_data: &[MetaEnum], page_size: usize, header_size: usize, page_id: u64) -> RawData { [INFO] [stdout] 30 | RawData { [INFO] [stdout] 31 | schema_name, [INFO] [stdout] 32 ~ meta_data: meta_data.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/FileWriter.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] = note: `#[warn(clippy::suspicious_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/FileWriter.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] = note: `#[warn(clippy::suspicious_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INTEGER` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | INTEGER = 1, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Integer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FLOAT` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | FLOAT = 2, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Float` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOUBLE` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | DOUBLE = 3, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Double` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BIGINT` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | BIGINT = 4, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Bigint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | STRING = 5, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `INTEGER` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | INTEGER = 1, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Integer` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FLOAT` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | FLOAT = 2, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Float` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOUBLE` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | DOUBLE = 3, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Double` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BIGINT` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | BIGINT = 4, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Bigint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `STRING` contains a capitalized acronym [INFO] [stdout] --> src/TableMetaHandler.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | STRING = 5, [INFO] [stdout] | ^^^^^^ help: consider making the acronym lowercase, except the initial letter: `String` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/TableMetaHandler.rs:81:18 [INFO] [stdout] | [INFO] [stdout] 81 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/TableMetaHandler.rs:81:18 [INFO] [stdout] | [INFO] [stdout] 81 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/TableMetaHandler.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | writer.write_all(&(*id as i32).to_le_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(*id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/TableMetaHandler.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | writer.write_all(&(*id as i32).to_le_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(*id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/TableMetaHandler.rs:148:14 [INFO] [stdout] | [INFO] [stdout] 148 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/TableMetaHandler.rs:148:14 [INFO] [stdout] | [INFO] [stdout] 148 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/TableMetaHandler.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | / if let Some(meta_data) = self.get_table_meta_by_name(table_name) { [INFO] [stdout] 289 | | Some(RawData::new_without_array( [INFO] [stdout] 290 | | table_name.to_string(), [INFO] [stdout] 291 | | meta_data, [INFO] [stdout] ... | [INFO] [stdout] 297 | | None [INFO] [stdout] 298 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 288 ~ self.get_table_meta_by_name(table_name).map(|meta_data| RawData::new_without_array( [INFO] [stdout] 289 + table_name.to_string(), [INFO] [stdout] 290 + meta_data, [INFO] [stdout] 291 + page_size, [INFO] [stdout] 292 + header_size, [INFO] [stdout] 293 + page_id, [INFO] [stdout] 294 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/TableMetaHandler.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | / if let Some(meta_data) = self.get_table_meta_by_name(table_name) { [INFO] [stdout] 289 | | Some(RawData::new_without_array( [INFO] [stdout] 290 | | table_name.to_string(), [INFO] [stdout] 291 | | meta_data, [INFO] [stdout] ... | [INFO] [stdout] 297 | | None [INFO] [stdout] 298 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 288 ~ self.get_table_meta_by_name(table_name).map(|meta_data| RawData::new_without_array( [INFO] [stdout] 289 + table_name.to_string(), [INFO] [stdout] 290 + meta_data, [INFO] [stdout] 291 + page_size, [INFO] [stdout] 292 + header_size, [INFO] [stdout] 293 + page_id, [INFO] [stdout] 294 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `.write(true)` because there is `.append(true)` [INFO] [stdout] --> src/TableMetaHandler.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | .write(true) [INFO] [stdout] | ^^^^^^^^^^^^ help: remove `.write(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ineffective_open_options [INFO] [stdout] = note: `#[warn(clippy::ineffective_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `.write(true)` because there is `.append(true)` [INFO] [stdout] --> src/TableMetaHandler.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | .write(true) [INFO] [stdout] | ^^^^^^^^^^^^ help: remove `.write(true)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ineffective_open_options [INFO] [stdout] = note: `#[warn(clippy::ineffective_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/TableQueryHandler.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | / match (meta_type, data_type) { [INFO] [stdout] 166 | | (MetaEnum::INTEGER, DataArray::INTEGER(_)) => true, [INFO] [stdout] 167 | | (MetaEnum::FLOAT, DataArray::FLOAT(_)) => true, [INFO] [stdout] 168 | | (MetaEnum::DOUBLE, DataArray::DOUBLE(_)) => true, [INFO] [stdout] ... | [INFO] [stdout] 171 | | _ => false, [INFO] [stdout] 172 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 165 - match (meta_type, data_type) { [INFO] [stdout] 166 - (MetaEnum::INTEGER, DataArray::INTEGER(_)) => true, [INFO] [stdout] 167 - (MetaEnum::FLOAT, DataArray::FLOAT(_)) => true, [INFO] [stdout] 168 - (MetaEnum::DOUBLE, DataArray::DOUBLE(_)) => true, [INFO] [stdout] 169 - (MetaEnum::BIGINT, DataArray::BIGINT(_)) => true, [INFO] [stdout] 170 - (MetaEnum::STRING(_), DataArray::STRING(_, _)) => true, [INFO] [stdout] 171 - _ => false, [INFO] [stdout] 172 - } [INFO] [stdout] 165 + matches!((meta_type, data_type), (MetaEnum::INTEGER, DataArray::INTEGER(_)) | (MetaEnum::FLOAT, DataArray::FLOAT(_)) | (MetaEnum::DOUBLE, DataArray::DOUBLE(_)) | (MetaEnum::BIGINT, DataArray::BIGINT(_)) | (MetaEnum::STRING(_), DataArray::STRING(_, _))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/TableQueryHandler.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | / match (meta_type, data_type) { [INFO] [stdout] 166 | | (MetaEnum::INTEGER, DataArray::INTEGER(_)) => true, [INFO] [stdout] 167 | | (MetaEnum::FLOAT, DataArray::FLOAT(_)) => true, [INFO] [stdout] 168 | | (MetaEnum::DOUBLE, DataArray::DOUBLE(_)) => true, [INFO] [stdout] ... | [INFO] [stdout] 171 | | _ => false, [INFO] [stdout] 172 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 165 - match (meta_type, data_type) { [INFO] [stdout] 166 - (MetaEnum::INTEGER, DataArray::INTEGER(_)) => true, [INFO] [stdout] 167 - (MetaEnum::FLOAT, DataArray::FLOAT(_)) => true, [INFO] [stdout] 168 - (MetaEnum::DOUBLE, DataArray::DOUBLE(_)) => true, [INFO] [stdout] 169 - (MetaEnum::BIGINT, DataArray::BIGINT(_)) => true, [INFO] [stdout] 170 - (MetaEnum::STRING(_), DataArray::STRING(_, _)) => true, [INFO] [stdout] 171 - _ => false, [INFO] [stdout] 172 - } [INFO] [stdout] 165 + matches!((meta_type, data_type), (MetaEnum::INTEGER, DataArray::INTEGER(_)) | (MetaEnum::FLOAT, DataArray::FLOAT(_)) | (MetaEnum::DOUBLE, DataArray::DOUBLE(_)) | (MetaEnum::BIGINT, DataArray::BIGINT(_)) | (MetaEnum::STRING(_), DataArray::STRING(_, _))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/TableQueryHandler.rs:289:33 [INFO] [stdout] | [INFO] [stdout] 289 | let num_pages = (file_size + page_size - 1) / page_size; // Round up [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `file_size.div_ceil(page_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/TableQueryHandler.rs:289:33 [INFO] [stdout] | [INFO] [stdout] 289 | let num_pages = (file_size + page_size - 1) / page_size; // Round up [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `file_size.div_ceil(page_size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/TableQueryHandler.rs:325:13 [INFO] [stdout] | [INFO] [stdout] 325 | / for entry in entries { [INFO] [stdout] 326 | | if let Ok(entry) = entry { [INFO] [stdout] 327 | | let path = entry.path(); [INFO] [stdout] 328 | | if let Some(extension) = path.extension() { [INFO] [stdout] ... | [INFO] [stdout] 344 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/TableQueryHandler.rs:326:17 [INFO] [stdout] | [INFO] [stdout] 326 | / if let Ok(entry) = entry { [INFO] [stdout] 327 | | let path = entry.path(); [INFO] [stdout] 328 | | if let Some(extension) = path.extension() { [INFO] [stdout] 329 | | if extension == "dat" { [INFO] [stdout] ... | [INFO] [stdout] 343 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 325 ~ for entry in entries.flatten() { [INFO] [stdout] 326 + let path = entry.path(); [INFO] [stdout] 327 + if let Some(extension) = path.extension() { [INFO] [stdout] 328 + if extension == "dat" { [INFO] [stdout] 329 + if let Some(stem) = path.file_stem() { [INFO] [stdout] 330 + if let Some(table_name) = stem.to_str() { [INFO] [stdout] 331 + // Filter out internal system files [INFO] [stdout] 332 + if !self.is_system_file(table_name) { [INFO] [stdout] 333 + println!("Found table file: {}.dat", table_name); [INFO] [stdout] 334 + table_names.push(table_name.to_string()); [INFO] [stdout] 335 + } else { [INFO] [stdout] 336 + println!("Skipping system file: {}.dat", table_name); [INFO] [stdout] 337 + } [INFO] [stdout] 338 + } [INFO] [stdout] 339 + } [INFO] [stdout] 340 + } [INFO] [stdout] 341 + } [INFO] [stdout] 342 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/TableQueryHandler.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | / if let Some(extension) = path.extension() { [INFO] [stdout] 329 | | if extension == "dat" { [INFO] [stdout] 330 | | if let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | | if let Some(table_name) = stem.to_str() { [INFO] [stdout] ... | [INFO] [stdout] 342 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 328 ~ if let Some(extension) = path.extension() [INFO] [stdout] 329 ~ && extension == "dat" { [INFO] [stdout] 330 | if let Some(stem) = path.file_stem() { [INFO] [stdout] ... [INFO] [stdout] 340 | } [INFO] [stdout] 341 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/TableQueryHandler.rs:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | / if extension == "dat" { [INFO] [stdout] 330 | | if let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | | if let Some(table_name) = stem.to_str() { [INFO] [stdout] ... | [INFO] [stdout] 341 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 329 ~ if extension == "dat" [INFO] [stdout] 330 ~ && let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | if let Some(table_name) = stem.to_str() { [INFO] [stdout] ... [INFO] [stdout] 339 | } [INFO] [stdout] 340 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/TableQueryHandler.rs:325:13 [INFO] [stdout] | [INFO] [stdout] 325 | / for entry in entries { [INFO] [stdout] 326 | | if let Ok(entry) = entry { [INFO] [stdout] 327 | | let path = entry.path(); [INFO] [stdout] 328 | | if let Some(extension) = path.extension() { [INFO] [stdout] ... | [INFO] [stdout] 344 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/TableQueryHandler.rs:326:17 [INFO] [stdout] | [INFO] [stdout] 326 | / if let Ok(entry) = entry { [INFO] [stdout] 327 | | let path = entry.path(); [INFO] [stdout] 328 | | if let Some(extension) = path.extension() { [INFO] [stdout] 329 | | if extension == "dat" { [INFO] [stdout] ... | [INFO] [stdout] 343 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 325 ~ for entry in entries.flatten() { [INFO] [stdout] 326 + let path = entry.path(); [INFO] [stdout] 327 + if let Some(extension) = path.extension() { [INFO] [stdout] 328 + if extension == "dat" { [INFO] [stdout] 329 + if let Some(stem) = path.file_stem() { [INFO] [stdout] 330 + if let Some(table_name) = stem.to_str() { [INFO] [stdout] 331 + // Filter out internal system files [INFO] [stdout] 332 + if !self.is_system_file(table_name) { [INFO] [stdout] 333 + println!("Found table file: {}.dat", table_name); [INFO] [stdout] 334 + table_names.push(table_name.to_string()); [INFO] [stdout] 335 + } else { [INFO] [stdout] 336 + println!("Skipping system file: {}.dat", table_name); [INFO] [stdout] 337 + } [INFO] [stdout] 338 + } [INFO] [stdout] 339 + } [INFO] [stdout] 340 + } [INFO] [stdout] 341 + } [INFO] [stdout] 342 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/TableQueryHandler.rs:330:29 [INFO] [stdout] | [INFO] [stdout] 330 | / ... if let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | | ... if let Some(table_name) = stem.to_str() { [INFO] [stdout] 332 | | ... // Filter out internal system files [INFO] [stdout] 333 | | ... if !self.is_system_file(table_name) { [INFO] [stdout] ... | [INFO] [stdout] 340 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 330 ~ if let Some(stem) = path.file_stem() [INFO] [stdout] 331 ~ && let Some(table_name) = stem.to_str() { [INFO] [stdout] 332 | // Filter out internal system files [INFO] [stdout] ... [INFO] [stdout] 338 | } [INFO] [stdout] 339 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/TableQueryHandler.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | / if let Some(extension) = path.extension() { [INFO] [stdout] 329 | | if extension == "dat" { [INFO] [stdout] 330 | | if let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | | if let Some(table_name) = stem.to_str() { [INFO] [stdout] ... | [INFO] [stdout] 342 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 328 ~ if let Some(extension) = path.extension() [INFO] [stdout] 329 ~ && extension == "dat" { [INFO] [stdout] 330 | if let Some(stem) = path.file_stem() { [INFO] [stdout] ... [INFO] [stdout] 340 | } [INFO] [stdout] 341 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/TableQueryHandler.rs:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | / if extension == "dat" { [INFO] [stdout] 330 | | if let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | | if let Some(table_name) = stem.to_str() { [INFO] [stdout] ... | [INFO] [stdout] 341 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 329 ~ if extension == "dat" [INFO] [stdout] 330 ~ && let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | if let Some(table_name) = stem.to_str() { [INFO] [stdout] ... [INFO] [stdout] 339 | } [INFO] [stdout] 340 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/TableQueryHandler.rs:330:29 [INFO] [stdout] | [INFO] [stdout] 330 | / ... if let Some(stem) = path.file_stem() { [INFO] [stdout] 331 | | ... if let Some(table_name) = stem.to_str() { [INFO] [stdout] 332 | | ... // Filter out internal system files [INFO] [stdout] 333 | | ... if !self.is_system_file(table_name) { [INFO] [stdout] ... | [INFO] [stdout] 340 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 330 ~ if let Some(stem) = path.file_stem() [INFO] [stdout] 331 ~ && let Some(table_name) = stem.to_str() { [INFO] [stdout] 332 | // Filter out internal system files [INFO] [stdout] ... [INFO] [stdout] 338 | } [INFO] [stdout] 339 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/TableQueryHandler.rs:352:9 [INFO] [stdout] | [INFO] [stdout] 352 | / match table_name { [INFO] [stdout] 353 | | "table_metadata" => true, [INFO] [stdout] 354 | | "meta_config" => true, [INFO] [stdout] 355 | | _ => false, [INFO] [stdout] 356 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 352 - match table_name { [INFO] [stdout] 353 - "table_metadata" => true, [INFO] [stdout] 354 - "meta_config" => true, [INFO] [stdout] 355 - _ => false, [INFO] [stdout] 356 - } [INFO] [stdout] 352 + matches!(table_name, "table_metadata" | "meta_config") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/TableQueryHandler.rs:352:9 [INFO] [stdout] | [INFO] [stdout] 352 | / match table_name { [INFO] [stdout] 353 | | "table_metadata" => true, [INFO] [stdout] 354 | | "meta_config" => true, [INFO] [stdout] 355 | | _ => false, [INFO] [stdout] 356 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 352 - match table_name { [INFO] [stdout] 353 - "table_metadata" => true, [INFO] [stdout] 354 - "meta_config" => true, [INFO] [stdout] 355 - _ => false, [INFO] [stdout] 356 - } [INFO] [stdout] 352 + matches!(table_name, "table_metadata" | "meta_config") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BPlusTree.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | keys: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `Vec` is already on the heap, the boxing is unnecessary [INFO] [stdout] --> src/BPlusTree.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | keys: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `Vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_box [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/BPlusTree.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | ) -> Option<(Box, Rc>>, Rc>>)> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `child_opt` after checking its variant with `is_none` [INFO] [stdout] --> src/BPlusTree.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 122 | if child_opt.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = child_opt` [INFO] [stdout] ... [INFO] [stdout] 143 | let child = child_opt.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/BPlusTree.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | ) -> Option<(Box, Rc>>, Rc>>)> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | return Some(self.split_leaf(¤t)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 110 - return Some(self.split_leaf(¤t)); [INFO] [stdout] 110 + Some(self.split_leaf(¤t)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return None; [INFO] [stdout] 112 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `child_opt` after checking its variant with `is_none` [INFO] [stdout] --> src/BPlusTree.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 122 | if child_opt.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = child_opt` [INFO] [stdout] ... [INFO] [stdout] 143 | let child = child_opt.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - return None; [INFO] [stdout] 152 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | return Some(self.split_leaf(¤t)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 110 - return Some(self.split_leaf(¤t)); [INFO] [stdout] 110 + Some(self.split_leaf(¤t)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return None; [INFO] [stdout] 112 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - return None; [INFO] [stdout] 152 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/BPlusTree.rs:201:10 [INFO] [stdout] | [INFO] [stdout] 201 | ) -> (Box, Rc>>, Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/BPlusTree.rs:201:10 [INFO] [stdout] | [INFO] [stdout] 201 | ) -> (Box, Rc>>, Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/BPlusTree.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | let mid = (total + 1) / 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total.div_ceil(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/BPlusTree.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | let mid = (total + 1) / 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total.div_ceil(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/BPlusTree.rs:243:10 [INFO] [stdout] | [INFO] [stdout] 243 | ) -> (Box, Rc>>, Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/BPlusTree.rs:243:10 [INFO] [stdout] | [INFO] [stdout] 243 | ) -> (Box, Rc>>, Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `all_ptrs` [INFO] [stdout] --> src/BPlusTree.rs:266:18 [INFO] [stdout] | [INFO] [stdout] 266 | for i in 0..=mid_index { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 266 - for i in 0..=mid_index { [INFO] [stdout] 266 + for in all_ptrs.iter().take(mid_index + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `all_ptrs` [INFO] [stdout] --> src/BPlusTree.rs:266:18 [INFO] [stdout] | [INFO] [stdout] 266 | for i in 0..=mid_index { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 266 - for i in 0..=mid_index { [INFO] [stdout] 266 + for in all_ptrs.iter().take(mid_index + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `all_ptrs` [INFO] [stdout] --> src/BPlusTree.rs:270:18 [INFO] [stdout] | [INFO] [stdout] 270 | for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 270 - for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] 270 + for in all_ptrs.iter().skip((mid_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `all_ptrs` [INFO] [stdout] --> src/BPlusTree.rs:270:18 [INFO] [stdout] | [INFO] [stdout] 270 | for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 270 - for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] 270 + for in all_ptrs.iter().skip((mid_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/BPlusTree.rs:296:17 [INFO] [stdout] | [INFO] [stdout] 291 | / let cnt = { [INFO] [stdout] 292 | | [INFO] [stdout] 293 | | let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] 294 | | rk_len [INFO] [stdout] 295 | | }; [INFO] [stdout] | |__________________- unnecessary `let` binding [INFO] [stdout] 296 | cnt [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 291 ~ [INFO] [stdout] 292 ~ { [INFO] [stdout] 293 + [INFO] [stdout] 294 + let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] 295 + rk_len [INFO] [stdout] 296 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/BPlusTree.rs:296:17 [INFO] [stdout] | [INFO] [stdout] 291 | / let cnt = { [INFO] [stdout] 292 | | [INFO] [stdout] 293 | | let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] 294 | | rk_len [INFO] [stdout] 295 | | }; [INFO] [stdout] | |__________________- unnecessary `let` binding [INFO] [stdout] 296 | cnt [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 291 ~ [INFO] [stdout] 292 ~ { [INFO] [stdout] 293 + [INFO] [stdout] 294 + let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] 295 + rk_len [INFO] [stdout] 296 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/BPlusTree.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 293 | let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] | ----------------------------------------------- unnecessary `let` binding [INFO] [stdout] 294 | rk_len [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 293 ~ [INFO] [stdout] 294 ~ node.keys.len() - (mid_index + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/BPlusTree.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 293 | let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] | ----------------------------------------------- unnecessary `let` binding [INFO] [stdout] 294 | rk_len [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 293 ~ [INFO] [stdout] 294 ~ node.keys.len() - (mid_index + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/BPlusTree.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | / if self.root.is_none() { [INFO] [stdout] 341 | | return None; [INFO] [stdout] 342 | | } [INFO] [stdout] | |_________^ help: replace it with: `self.root.as_ref()?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/BPlusTree.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | / if self.root.is_none() { [INFO] [stdout] 341 | | return None; [INFO] [stdout] 342 | | } [INFO] [stdout] | |_________^ help: replace it with: `self.root.as_ref()?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:352:17 [INFO] [stdout] | [INFO] [stdout] 352 | return node.keys[pos].data.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 352 - return node.keys[pos].data.clone(); [INFO] [stdout] 352 + node.keys[pos].data.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:352:17 [INFO] [stdout] | [INFO] [stdout] 352 | return node.keys[pos].data.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 352 - return node.keys[pos].data.clone(); [INFO] [stdout] 352 + node.keys[pos].data.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:354:17 [INFO] [stdout] | [INFO] [stdout] 354 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 354 - return None; [INFO] [stdout] 354 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:354:17 [INFO] [stdout] | [INFO] [stdout] 354 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 354 - return None; [INFO] [stdout] 354 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:361:21 [INFO] [stdout] | [INFO] [stdout] 361 | return self.search_rec(child.clone(), key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 361 - return self.search_rec(child.clone(), key); [INFO] [stdout] 361 + self.search_rec(child.clone(), key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:363:21 [INFO] [stdout] | [INFO] [stdout] 363 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 363 - return None; [INFO] [stdout] 363 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:361:21 [INFO] [stdout] | [INFO] [stdout] 361 | return self.search_rec(child.clone(), key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 361 - return self.search_rec(child.clone(), key); [INFO] [stdout] 361 + self.search_rec(child.clone(), key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 366 - return None; [INFO] [stdout] 366 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:363:21 [INFO] [stdout] | [INFO] [stdout] 363 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 363 - return None; [INFO] [stdout] 363 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/BPlusTree.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 366 - return None; [INFO] [stdout] 366 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/BPlusTree.rs:376:20 [INFO] [stdout] | [INFO] [stdout] 376 | if !node.pointers[i].is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `node.pointers[i].is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/BPlusTree.rs:376:20 [INFO] [stdout] | [INFO] [stdout] 376 | if !node.pointers[i].is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `node.pointers[i].is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/BPlusTree.rs:376:17 [INFO] [stdout] | [INFO] [stdout] 376 | / if !node.pointers[i].is_none() { [INFO] [stdout] 377 | | if let Some(ref pointer) = node.pointers[i] { [INFO] [stdout] 378 | | print_rec(pointer, value + 1); [INFO] [stdout] 379 | | } [INFO] [stdout] 380 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 376 ~ if !node.pointers[i].is_none() [INFO] [stdout] 377 ~ && let Some(ref pointer) = node.pointers[i] { [INFO] [stdout] 378 | print_rec(pointer, value + 1); [INFO] [stdout] 379 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/BPlusTree.rs:376:17 [INFO] [stdout] | [INFO] [stdout] 376 | / if !node.pointers[i].is_none() { [INFO] [stdout] 377 | | if let Some(ref pointer) = node.pointers[i] { [INFO] [stdout] 378 | | print_rec(pointer, value + 1); [INFO] [stdout] 379 | | } [INFO] [stdout] 380 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 376 ~ if !node.pointers[i].is_none() [INFO] [stdout] 377 ~ && let Some(ref pointer) = node.pointers[i] { [INFO] [stdout] 378 | print_rec(pointer, value + 1); [INFO] [stdout] 379 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | pointers: Vec>>>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | pointers: Vec>>>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | ) -> Option<(Box>, Arc>>>, Arc>>>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `child_opt` after checking its variant with `is_none` [INFO] [stdout] --> src/UniversalBPlusTree.rs:121:29 [INFO] [stdout] | [INFO] [stdout] 94 | if child_opt.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = child_opt` [INFO] [stdout] ... [INFO] [stdout] 121 | let child = child_opt.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | return Some(self.split_leaf(¤t)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 - return Some(self.split_leaf(¤t)); [INFO] [stdout] 82 + Some(self.split_leaf(¤t)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return None; [INFO] [stdout] 84 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | ) -> Option<(Box>, Arc>>>, Arc>>>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 133 - return None; [INFO] [stdout] 133 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `child_opt` after checking its variant with `is_none` [INFO] [stdout] --> src/UniversalBPlusTree.rs:121:29 [INFO] [stdout] | [INFO] [stdout] 94 | if child_opt.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = child_opt` [INFO] [stdout] ... [INFO] [stdout] 121 | let child = child_opt.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | return Some(self.split_leaf(¤t)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 - return Some(self.split_leaf(¤t)); [INFO] [stdout] 82 + Some(self.split_leaf(¤t)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return None; [INFO] [stdout] 84 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 133 - return None; [INFO] [stdout] 133 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:177:10 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> (Box>, Arc>>>, Arc>>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/UniversalBPlusTree.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | let mid = (total + 1) / 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total.div_ceil(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:177:10 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> (Box>, Arc>>>, Arc>>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/UniversalBPlusTree.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | let mid = (total + 1) / 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `total.div_ceil(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:219:10 [INFO] [stdout] | [INFO] [stdout] 219 | ) -> (Box>, Arc>>>, Arc>>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:219:10 [INFO] [stdout] | [INFO] [stdout] 219 | ) -> (Box>, Arc>>>, Arc>>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | let mut left_ptrs: Vec>>>>> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:236:29 [INFO] [stdout] | [INFO] [stdout] 236 | let mut right_ptrs: Vec>>>>> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:235:28 [INFO] [stdout] | [INFO] [stdout] 235 | let mut left_ptrs: Vec>>>>> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/UniversalBPlusTree.rs:236:29 [INFO] [stdout] | [INFO] [stdout] 236 | let mut right_ptrs: Vec>>>>> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `all_ptrs` [INFO] [stdout] --> src/UniversalBPlusTree.rs:243:18 [INFO] [stdout] | [INFO] [stdout] 243 | for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 243 - for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] 243 + for in all_ptrs.iter().skip((mid_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `all_ptrs` [INFO] [stdout] --> src/UniversalBPlusTree.rs:243:18 [INFO] [stdout] | [INFO] [stdout] 243 | for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 243 - for i in (mid_index + 1)..all_ptrs.len() { [INFO] [stdout] 243 + for in all_ptrs.iter().skip((mid_index + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/UniversalBPlusTree.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 262 | let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] | ----------------------------------------------- unnecessary `let` binding [INFO] [stdout] 263 | rk_len [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 262 ~ [INFO] [stdout] 263 ~ node.keys.len() - (mid_index + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/UniversalBPlusTree.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 262 | let rk_len = node.keys.len() - (mid_index + 1); [INFO] [stdout] | ----------------------------------------------- unnecessary `let` binding [INFO] [stdout] 263 | rk_len [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 262 ~ [INFO] [stdout] 263 ~ node.keys.len() - (mid_index + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/UniversalBPlusTree.rs:301:9 [INFO] [stdout] | [INFO] [stdout] 301 | / if self.root.is_none() { [INFO] [stdout] 302 | | return None; [INFO] [stdout] 303 | | } [INFO] [stdout] | |_________^ help: replace it with: `self.root.as_ref()?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:313:17 [INFO] [stdout] | [INFO] [stdout] 313 | return node.keys[pos].data.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 313 - return node.keys[pos].data.clone(); [INFO] [stdout] 313 + node.keys[pos].data.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 315 - return None; [INFO] [stdout] 315 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | return self.search_rec(child_clone, key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 322 - return self.search_rec(child_clone, key); [INFO] [stdout] 322 + self.search_rec(child_clone, key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:324:21 [INFO] [stdout] | [INFO] [stdout] 324 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 324 - return None; [INFO] [stdout] 324 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 327 - return None; [INFO] [stdout] 327 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/UniversalBPlusTree.rs:301:9 [INFO] [stdout] | [INFO] [stdout] 301 | / if self.root.is_none() { [INFO] [stdout] 302 | | return None; [INFO] [stdout] 303 | | } [INFO] [stdout] | |_________^ help: replace it with: `self.root.as_ref()?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:313:17 [INFO] [stdout] | [INFO] [stdout] 313 | return node.keys[pos].data.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 313 - return node.keys[pos].data.clone(); [INFO] [stdout] 313 + node.keys[pos].data.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 315 - return None; [INFO] [stdout] 315 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | return self.search_rec(child_clone, key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 322 - return self.search_rec(child_clone, key); [INFO] [stdout] 322 + self.search_rec(child_clone, key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:324:21 [INFO] [stdout] | [INFO] [stdout] 324 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 324 - return None; [INFO] [stdout] 324 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/UniversalBPlusTree.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 327 - return None; [INFO] [stdout] 327 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Some` variant of the iterator element is used [INFO] [stdout] --> src/UniversalBPlusTree.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | / for pointer in pointers.iter() { [INFO] [stdout] 345 | | if let Some( child) = pointer { [INFO] [stdout] 346 | | Self::print_rec(child, level + 1); [INFO] [stdout] 347 | | } [INFO] [stdout] 348 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/UniversalBPlusTree.rs:345:13 [INFO] [stdout] | [INFO] [stdout] 345 | / if let Some( child) = pointer { [INFO] [stdout] 346 | | Self::print_rec(child, level + 1); [INFO] [stdout] 347 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 344 ~ for child in pointers.iter().flatten() { [INFO] [stdout] 345 + Self::print_rec(child, level + 1); [INFO] [stdout] 346 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Tree` [INFO] [stdout] --> src/TableBTreeManager.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pub enum TableBTree { [INFO] [stdout] 9 | | IntTree(IntBPlusTree), [INFO] [stdout] 10 | | StringTree(StringBPlusTree), [INFO] [stdout] 11 | | BigIntTree(BigIntBPlusTree), [INFO] [stdout] 12 | | DoubleTree(DoubleBPlusTree), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Some` variant of the iterator element is used [INFO] [stdout] --> src/UniversalBPlusTree.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | / for pointer in pointers.iter() { [INFO] [stdout] 345 | | if let Some( child) = pointer { [INFO] [stdout] 346 | | Self::print_rec(child, level + 1); [INFO] [stdout] 347 | | } [INFO] [stdout] 348 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/UniversalBPlusTree.rs:345:13 [INFO] [stdout] | [INFO] [stdout] 345 | / if let Some( child) = pointer { [INFO] [stdout] 346 | | Self::print_rec(child, level + 1); [INFO] [stdout] 347 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 344 ~ for child in pointers.iter().flatten() { [INFO] [stdout] 345 + Self::print_rec(child, level + 1); [INFO] [stdout] 346 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Tree` [INFO] [stdout] --> src/TableBTreeManager.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / pub enum TableBTree { [INFO] [stdout] 9 | | IntTree(IntBPlusTree), [INFO] [stdout] 10 | | StringTree(StringBPlusTree), [INFO] [stdout] 11 | | BigIntTree(BigIntBPlusTree), [INFO] [stdout] 12 | | DoubleTree(DoubleBPlusTree), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [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)]` (part of `#[warn(nonstandard_style)]`) 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: 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)]` (part of `#[warn(nonstandard_style)]`) 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: 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: 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)]` (part of `#[warn(nonstandard_style)]`) 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] [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)]` (part of `#[warn(nonstandard_style)]`) 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 0.44s [INFO] running `Command { std: "docker" "inspect" "47ca98b4bee6342ae9b33a67a00e1e12a5a13f53671f0c1263f1803f9e759a94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47ca98b4bee6342ae9b33a67a00e1e12a5a13f53671f0c1263f1803f9e759a94", kill_on_drop: false }` [INFO] [stdout] 47ca98b4bee6342ae9b33a67a00e1e12a5a13f53671f0c1263f1803f9e759a94