[INFO] cloning repository https://github.com/RyuAlize/KVStore [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RyuAlize/KVStore" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuAlize%2FKVStore", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuAlize%2FKVStore'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ef119da7a9be61c49067c019f4b35eee6769cc18 [INFO] checking RyuAlize/KVStore/ef119da7a9be61c49067c019f4b35eee6769cc18 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuAlize%2FKVStore" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/RyuAlize/KVStore on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/RyuAlize/KVStore [INFO] finished tweaking git repo https://github.com/RyuAlize/KVStore [INFO] tweaked toml for git repo https://github.com/RyuAlize/KVStore written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/RyuAlize/KVStore 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a961741cdc528f19def77e6365d54e384f2eac164ca026031dd46c64ae1ee267 [INFO] running `Command { std: "docker" "start" "-a" "a961741cdc528f19def77e6365d54e384f2eac164ca026031dd46c64ae1ee267", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a961741cdc528f19def77e6365d54e384f2eac164ca026031dd46c64ae1ee267", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a961741cdc528f19def77e6365d54e384f2eac164ca026031dd46c64ae1ee267", kill_on_drop: false }` [INFO] [stdout] a961741cdc528f19def77e6365d54e384f2eac164ca026031dd46c64ae1ee267 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e7edf98e2a43a028b64911d59351d2e6f0f6215a2268b7e15914d96cf5c29efe [INFO] running `Command { std: "docker" "start" "-a" "e7edf98e2a43a028b64911d59351d2e6f0f6215a2268b7e15914d96cf5c29efe", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Checking thiserror v1.0.30 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking KVStore v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/engine/bptree.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InnerNode` and `LeafNode` [INFO] [stdout] --> src/engine/bptree.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::engine::btnode::{Node, InnerNode, LeafNode}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer` [INFO] [stdout] --> src/engine/btnode.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use bincode::{Serializer, Deserializer}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryFrom` [INFO] [stdout] --> src/engine/btnode.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use std::convert::{TryFrom, TryInto}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/engine/btnode.rs:325:85 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result<(Option<(K, PagePtr)>)> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 325 - pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result<(Option<(K, PagePtr)>)> [INFO] [stdout] 325 + pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/engine/page.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::{PathBuf, Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/array.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/engine/bptree.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InnerNode` and `LeafNode` [INFO] [stdout] --> src/engine/bptree.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::engine::btnode::{Node, InnerNode, LeafNode}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer` [INFO] [stdout] --> src/engine/btnode.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use bincode::{Serializer, Deserializer}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryFrom` [INFO] [stdout] --> src/engine/btnode.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use std::convert::{TryFrom, TryInto}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/engine/btnode.rs:325:85 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result<(Option<(K, PagePtr)>)> [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 325 - pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result<(Option<(K, PagePtr)>)> [INFO] [stdout] 325 + pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/engine/page.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::path::{PathBuf, Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/engine/bptree.rs:53:33 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn open>(path: P) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/bptree.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut root_node; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/bptree.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut new_root: Node = Node::new_inner(self.root_ptr.unwrap(), &[key], &[old_root_ptr, new_page_ptr]); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/engine/bptree.rs:53:33 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn open>(path: P) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/bptree.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut root_node; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/bptree.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut new_root: Node = Node::new_inner(self.root_ptr.unwrap(), &[key], &[old_root_ptr, new_page_ptr]); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/btnode.rs:207:33 [INFO] [stdout] | [INFO] [stdout] 207 | ... let mut node = LeafNode::new(path_info.rsibling.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/engine/btnode.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let mut node = Self::from(next_ptr, &self.keys[split_at..], &self.values[split_at..], self.next); [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/engine/btnode.rs:207:33 [INFO] [stdout] | [INFO] [stdout] 207 | ... let mut node = LeafNode::new(path_info.rsibling.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/engine/btnode.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let mut node = Self::from(next_ptr, &self.keys[split_at..], &self.values[split_at..], self.next); [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/engine/btnode.rs:397:24 [INFO] [stdout] | [INFO] [stdout] 397 | Node::Leaf(mut leaf_node) => leaf_node.remove(key, Some(&mut self), Some(&child_info), bptree)?, [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/engine/btnode.rs:398:25 [INFO] [stdout] | [INFO] [stdout] 398 | Node::Inner(mut inner_node) => inner_node.remove(key,Some(&mut self), Some(&child_info), bptree)?, [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/engine/btnode.rs:397:24 [INFO] [stdout] | [INFO] [stdout] 397 | Node::Leaf(mut leaf_node) => leaf_node.remove(key, Some(&mut self), Some(&child_info), bptree)?, [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/engine/btnode.rs:398:25 [INFO] [stdout] | [INFO] [stdout] 398 | Node::Inner(mut inner_node) => inner_node.remove(key,Some(&mut self), Some(&child_info), bptree)?, [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/engine/btnode.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | let mut node = Self::from(next_ptr, &self.keys[split_at+1..], &self.childptrs[split_at+1..]); [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/engine/btnode.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | let mut node = Self::from(next_ptr, &self.keys[split_at+1..], &self.childptrs[split_at+1..]); [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/engine/btnode.rs:569:24 [INFO] [stdout] | [INFO] [stdout] 569 | Self::Leaf(mut leaf_node) => leaf_node.remove(key, None, None, bptree), [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/engine/btnode.rs:570:25 [INFO] [stdout] | [INFO] [stdout] 570 | Self::Inner(mut inner_node) => inner_node.remove(key, None, None, bptree), [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/engine/page.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | for i in offset..end { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/btnode.rs:569:24 [INFO] [stdout] | [INFO] [stdout] 569 | Self::Leaf(mut leaf_node) => leaf_node.remove(key, None, None, bptree), [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/engine/btnode.rs:570:25 [INFO] [stdout] | [INFO] [stdout] 570 | Self::Inner(mut inner_node) => inner_node.remove(key, None, None, bptree), [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/engine/btnode.rs:603:13 [INFO] [stdout] | [INFO] [stdout] 603 | let p1 = 15; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/engine/btnode.rs:604:13 [INFO] [stdout] | [INFO] [stdout] 604 | let p2 = 17; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/engine/btnode.rs:616:21 [INFO] [stdout] | [INFO] [stdout] 616 | Err(e) => {println!("{} is removed", i)} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/engine/page.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | for i in offset..end { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ChildNodeInfo` is more private than the item `LeafNode::::remove` [INFO] [stdout] --> src/engine/btnode.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | / pub fn remove( [INFO] [stdout] 153 | | mut self, [INFO] [stdout] 154 | | key: &K, [INFO] [stdout] 155 | | parent: Option<&mut InnerNode>, [INFO] [stdout] 156 | | path_info: Option<&ChildNodeInfo>, [INFO] [stdout] 157 | | bptree: &mut BPTree, [INFO] [stdout] 158 | | ) -> Result<(Option, Option)> { [INFO] [stdout] | |_____________________________________________^ method `LeafNode::::remove` is reachable at visibility `pub(engine)` [INFO] [stdout] | [INFO] [stdout] note: but type `ChildNodeInfo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/engine/btnode.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ChildNodeInfo` is more private than the item `InnerNode::::remove` [INFO] [stdout] --> src/engine/btnode.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | / pub fn remove( [INFO] [stdout] 386 | | mut self, [INFO] [stdout] 387 | | key: &K, [INFO] [stdout] 388 | | parent: Option<&mut InnerNode>, [INFO] [stdout] ... | [INFO] [stdout] 392 | | where [INFO] [stdout] 393 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] | |________________________________________________________________^ method `InnerNode::::remove` is reachable at visibility `pub(engine)` [INFO] [stdout] | [INFO] [stdout] note: but type `ChildNodeInfo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/engine/btnode.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ChildNodeInfo` is more private than the item `InnerNode::::remove_page` [INFO] [stdout] --> src/engine/btnode.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | / pub fn remove_page( [INFO] [stdout] 412 | | &mut self, [INFO] [stdout] 413 | | page_ptr: PagePtr, [INFO] [stdout] 414 | | parent: Option<&mut InnerNode>, [INFO] [stdout] ... | [INFO] [stdout] 418 | | where [INFO] [stdout] 419 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] | |________________________________________________________________^ method `InnerNode::::remove_page` is reachable at visibility `pub(engine)` [INFO] [stdout] | [INFO] [stdout] note: but type `ChildNodeInfo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/engine/btnode.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `set`, and `remove` are never used [INFO] [stdout] --> src/engine/mod.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait KVStoreEngine { [INFO] [stdout] | ------------- methods in this trait [INFO] [stdout] 9 | fn get(&self, key: &K) -> Result; [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | fn set(&mut self, key: K, value: V) -> Result<()>; [INFO] [stdout] | ^^^ [INFO] [stdout] 11 | fn remove(&mut self, key: &K) -> Result<()>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/array.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl ArrayKVStore { [INFO] [stdout] | -------------------------------------- associated function in this implementation [INFO] [stdout] 29 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BPTree` is never constructed [INFO] [stdout] --> src/engine/bptree.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct BPTree { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/engine/bptree.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 26 | / impl BPTree [INFO] [stdout] 27 | | where K: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] 28 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] | |_________________________________________________________________- associated items in this implementation [INFO] [stdout] 29 | { [INFO] [stdout] 30 | pub fn new>(path: P, override_max_key_count: Option) -> Result{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn open>(path: P) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set(&mut self, key: K, value: V) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get(&mut self, key: K) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn remove(&mut self, key: &K) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn max_key_count(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn split_at(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn next_page_ptr(&mut self) -> PagePtr { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn create_root_node(&mut self) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn create_new_root(&mut self, key: K, new_page_ptr: PagePtr) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn load_root(&mut self) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn get_pager(&mut self) -> &mut Pager { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn set_root(&mut self, new_root_ptr: Option) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn delete_page(&mut self, ptr: PagePtr){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn print_deleted(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LEAF_NODE_TYPE` is never used [INFO] [stdout] --> src/engine/btnode.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const LEAF_NODE_TYPE: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INNER_NODE_TYPE` is never used [INFO] [stdout] --> src/engine/btnode.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const INNER_NODE_TYPE: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_PTR_LEN` is never used [INFO] [stdout] --> src/engine/btnode.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const PAGE_PTR_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYS_LEN` is never used [INFO] [stdout] --> src/engine/btnode.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const KEYS_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VALUES_LEN` is never used [INFO] [stdout] --> src/engine/btnode.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const VALUES_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHILD_PTRS_LEN` is never used [INFO] [stdout] --> src/engine/btnode.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const CHILD_PTRS_LEN: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_PTR_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const PAGE_PTR_OFFSET: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_TYPE_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const NODE_TYPE_OFFSET: usize = PAGE_PTR_LEN; //8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HAS_NEXT_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const HAS_NEXT_OFFSET: usize = PAGE_PTR_LEN + 1; //9 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEXT_PAGE_PTR_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const NEXT_PAGE_PTR_OFFSET: usize = HAS_NEXT_OFFSET + 1;//10 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEYS_LEN_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const KEYS_LEN_OFFSET: usize = NEXT_PAGE_PTR_OFFSET + PAGE_PTR_LEN;//18 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VALUES_LEN_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const VALUES_LEN_OFFSET: usize = KEYS_LEN_OFFSET + KEYS_LEN;//26 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHILD_PTRS_LEN_OFFSET` is never used [INFO] [stdout] --> src/engine/btnode.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const CHILD_PTRS_LEN_OFFSET: usize = KEYS_LEN_OFFSET + KEYS_LEN;//26 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LeafNode` is never constructed [INFO] [stdout] --> src/engine/btnode.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct LeafNode [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LeafNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ChildNodeInfo` is more private than the item `LeafNode::::remove` [INFO] [stdout] --> src/engine/btnode.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | / pub fn remove( [INFO] [stdout] 153 | | mut self, [INFO] [stdout] 154 | | key: &K, [INFO] [stdout] 155 | | parent: Option<&mut InnerNode>, [INFO] [stdout] 156 | | path_info: Option<&ChildNodeInfo>, [INFO] [stdout] 157 | | bptree: &mut BPTree, [INFO] [stdout] 158 | | ) -> Result<(Option, Option)> { [INFO] [stdout] | |_____________________________________________^ method `LeafNode::::remove` is reachable at visibility `pub(engine)` [INFO] [stdout] | [INFO] [stdout] note: but type `ChildNodeInfo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/engine/btnode.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ChildNodeInfo` is more private than the item `InnerNode::::remove` [INFO] [stdout] --> src/engine/btnode.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | / pub fn remove( [INFO] [stdout] 386 | | mut self, [INFO] [stdout] 387 | | key: &K, [INFO] [stdout] 388 | | parent: Option<&mut InnerNode>, [INFO] [stdout] ... | [INFO] [stdout] 392 | | where [INFO] [stdout] 393 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] | |________________________________________________________________^ method `InnerNode::::remove` is reachable at visibility `pub(engine)` [INFO] [stdout] | [INFO] [stdout] note: but type `ChildNodeInfo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/engine/btnode.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/engine/btnode.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 37 | / impl LeafNode [INFO] [stdout] 38 | | where K: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] 39 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned [INFO] [stdout] | |_______________________________________________________________- associated items in this implementation [INFO] [stdout] 40 | { [INFO] [stdout] 41 | pub fn new(page_ptr: PagePtr) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn from(page_ptr: PagePtr, keys: &[K], entries: &[V], next: Option) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn store_node_to_page(&self, pager: &mut Pager) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn load_node_from_page(mut self, page: Page) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn get(&self, key: &K) -> Option{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn insert(&mut self, i: usize, key: K, value: V) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn remove( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn is_full(&self, max_key_cout: u64) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn split(&mut self, next_ptr: PagePtr, split_at: usize) -> Result<(K, Self)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ChildNodeInfo` is more private than the item `InnerNode::::remove_page` [INFO] [stdout] --> src/engine/btnode.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | / pub fn remove_page( [INFO] [stdout] 412 | | &mut self, [INFO] [stdout] 413 | | page_ptr: PagePtr, [INFO] [stdout] 414 | | parent: Option<&mut InnerNode>, [INFO] [stdout] ... | [INFO] [stdout] 418 | | where [INFO] [stdout] 419 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] | |________________________________________________________________^ method `InnerNode::::remove_page` is reachable at visibility `pub(engine)` [INFO] [stdout] | [INFO] [stdout] note: but type `ChildNodeInfo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/engine/btnode.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChildNodeInfo` is never constructed [INFO] [stdout] --> src/engine/btnode.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | struct ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InnerNode` is never constructed [INFO] [stdout] --> src/engine/btnode.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 249 | pub struct InnerNode [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InnerNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/engine/btnode.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 256 | / impl InnerNode [INFO] [stdout] 257 | | where K: Debug + Clone + Ord + Serialize + DeserializeOwned [INFO] [stdout] | |_______________________________________________________________- associated items in this implementation [INFO] [stdout] 258 | { [INFO] [stdout] 259 | pub fn new(page_ptr: PagePtr) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn from(page_ptr: PagePtr, keys: &[K], entries: &[PagePtr]) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn store_node_to_page(&self, pager: &mut Pager) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn load_node_from_page(mut self, page: Page) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn get(&self, key: &K) -> PagePtr { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn set(&mut self, key: K, value: V, bptree: &mut BPTree) -> Result<(Option<(K, PagePtr)>)> [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | fn get_child_node_info(&self, key: &K) -> ChildNodeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub fn remove( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn remove_page( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | fn is_full(&self, max_key_cout: u64) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | fn split(&mut self, next_ptr: PagePtr, split_at: usize) -> Result<(K, Self)> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | fn insert(&mut self, i: usize, key: K, value: PagePtr) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Node` is never used [INFO] [stdout] --> src/engine/btnode.rs:517:10 [INFO] [stdout] | [INFO] [stdout] 517 | pub enum Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/engine/btnode.rs:526:12 [INFO] [stdout] | [INFO] [stdout] 522 | / impl Node [INFO] [stdout] 523 | | where K: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] 524 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned [INFO] [stdout] | |_______________________________________________________________- associated items in this implementation [INFO] [stdout] 525 | { [INFO] [stdout] 526 | pub fn store_node(self, pager: &mut Pager) -> Result<()>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 534 | pub fn load_node(page_ptr: PagePtr, pager: &mut Pager) ->Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | pub fn get(self, key: &K, pager: &mut Pager) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 560 | pub fn set(self, key: K, value: V, bptree: &mut BPTree) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 567 | pub fn remove(self, key: &K, bptree: &mut BPTree) -> Result<(Option, Option)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 574 | pub fn new_leaf(ptr: PagePtr, keys: &[K], entries: &[V], next: Option) -> Self{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | pub fn new_inner(ptr: PagePtr, keys: &[K], entries: &[PagePtr]) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key_size` and `value_size` are never read [INFO] [stdout] --> src/engine/bptree.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct BPTree { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 17 | key_size: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | value_size: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `open` and `load_root` are never used [INFO] [stdout] --> src/engine/bptree.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 26 | / impl BPTree [INFO] [stdout] 27 | | where K: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] 28 | | V: Debug + Clone + Ord + Serialize + DeserializeOwned, [INFO] [stdout] | |_________________________________________________________________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn open>(path: P) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn load_root(&mut self) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `write_bytes_at_offset`, and `get_bytes_from_offset` are never used [INFO] [stdout] --> src/engine/page.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Page{ [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn write_bytes_at_offset(&mut self, offset: usize, value: &[u8]) -> Result<()>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_bytes_from_offset(&self, offset: usize, size: usize) -> Result<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PageSizeNotEnough` is never constructed [INFO] [stdout] --> src/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Error{ [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | PageSizeNotEnough, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PagePtr` is never used [INFO] [stdout] --> src/engine/page.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub type PagePtr = u64; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_SIZE` is never used [INFO] [stdout] --> src/engine/page.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const PAGE_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_key_count` is never used [INFO] [stdout] --> src/engine/page.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn max_key_count(size_key: u64, size_value: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_at` is never used [INFO] [stdout] --> src/engine/page.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn split_at(max_key_count: u64) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Page` is never constructed [INFO] [stdout] --> src/engine/page.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Page{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_bytes`, `write_bytes_at_offset`, `get_bytes_from_offset`, `get_page_data`, and `get_page_byte` are never used [INFO] [stdout] --> src/engine/page.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Page{ [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn from_bytes(bytes: [u8; PAGE_SIZE]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn write_bytes_at_offset(&mut self, offset: usize, value: &[u8]) -> Result<()>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_bytes_from_offset(&self, offset: usize, size: usize) -> Result<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_page_data(&self) -> [u8; PAGE_SIZE] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get_page_byte(&self, pos: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pager` is never constructed [INFO] [stdout] --> src/engine/page.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Pager { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `open`, `load_page`, `insert_page`, and `append_page` are never used [INFO] [stdout] --> src/engine/page.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Pager{ [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 75 | pub fn open>(path: P) -> Result{ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn load_page(&mut self, page_ptr: PagePtr) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn insert_page(&mut self, page_ptr: PagePtr, page: &Page) -> Result<()>{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn append_page(&mut self, page: &Page) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/engine/array.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | self.inner[pos].setvalue(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = self.inner[pos].setvalue(value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `PageSizeNotEnough`, `PageNotFound`, `UnkonwNodeType`, and `RootPageIsNull` are never constructed [INFO] [stdout] --> src/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Error{ [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | PageSizeNotEnough, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | #[error("Page not found")] [INFO] [stdout] 11 | PageNotFound, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | UnkonwNodeType, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 18 | #[error("roo page ptr is null ")] [INFO] [stdout] 19 | RootPageIsNull [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate `KVStore` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = help: convert the identifier to snake case: `kvstore` [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/engine/array.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | kvengine.set(1,2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 84 | let _ = kvengine.set(1,2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/engine/array.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | self.inner[pos].setvalue(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = self.inner[pos].setvalue(value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/engine/btnode.rs:593:13 [INFO] [stdout] | [INFO] [stdout] 593 | bptree.set(i, i*10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 593 | let _ = bptree.set(i, i*10); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.14s [INFO] running `Command { std: "docker" "inspect" "e7edf98e2a43a028b64911d59351d2e6f0f6215a2268b7e15914d96cf5c29efe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7edf98e2a43a028b64911d59351d2e6f0f6215a2268b7e15914d96cf5c29efe", kill_on_drop: false }` [INFO] [stdout] e7edf98e2a43a028b64911d59351d2e6f0f6215a2268b7e15914d96cf5c29efe