[INFO] cloning repository https://github.com/xiaoyan-xue/SDMS_LAB1 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xiaoyan-xue/SDMS_LAB1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxiaoyan-xue%2FSDMS_LAB1", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxiaoyan-xue%2FSDMS_LAB1'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 70c2c61f1bae16f97f2d02c503a7dcaabb7bc32e [INFO] linting xiaoyan-xue/SDMS_LAB1 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxiaoyan-xue%2FSDMS_LAB1" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/xiaoyan-xue/SDMS_LAB1 [INFO] finished tweaking git repo https://github.com/xiaoyan-xue/SDMS_LAB1 [INFO] tweaked toml for git repo https://github.com/xiaoyan-xue/SDMS_LAB1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/xiaoyan-xue/SDMS_LAB1 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/xiaoyan-xue/SDMS_LAB1 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] Downloading crates ... [INFO] [stderr] Downloaded rand_pcg v0.9.0 [INFO] [stderr] Downloaded criterion-plot v0.6.0 [INFO] [stderr] Downloaded criterion v0.7.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f6bce2db2627b98003c74e1f6c9a2fef6324f12eef3c83a5306fb50d1b495732 [INFO] running `Command { std: "docker" "start" "-a" "f6bce2db2627b98003c74e1f6c9a2fef6324f12eef3c83a5306fb50d1b495732", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f6bce2db2627b98003c74e1f6c9a2fef6324f12eef3c83a5306fb50d1b495732", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6bce2db2627b98003c74e1f6c9a2fef6324f12eef3c83a5306fb50d1b495732", kill_on_drop: false }` [INFO] [stdout] f6bce2db2627b98003c74e1f6c9a2fef6324f12eef3c83a5306fb50d1b495732 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 71b6cb427662fca6e4858676cc524d273ce437cfe6c6e2174a67f558a09db6e9 [INFO] running `Command { std: "docker" "start" "-a" "71b6cb427662fca6e4858676cc524d273ce437cfe6c6e2174a67f558a09db6e9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Compiling libc v0.2.162 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Checking clap_builder v4.5.50 [INFO] [stderr] Checking serde_json v1.0.145 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking criterion-plot v0.6.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking rand_pcg v0.9.0 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking clap v4.5.50 [INFO] [stderr] Compiling zerocopy-derive v0.8.27 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking criterion v0.7.0 [INFO] [stderr] Checking sdms_lab_1 v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `PageID` and `SlotID` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{PageID, RecordID, SlotID}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::zip` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::iter::zip; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Value` [INFO] [stdout] --> src/operator/join/join_impl.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::Value; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/index/btree.rs:41:26 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/index/btree.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/index/btree.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/index/btree.rs:64:52 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/index/btree.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/index/btree.rs:87:54 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rid` [INFO] [stdout] --> src/index/btree.rs:87:64 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let mut pages_to_merge: Vec> = vec![]; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_pages` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:23:49 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sort(k: usize, input_pages: &[KwayPage], output_pages: &mut [KwayPage]) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_pages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stepsize` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let stepsize = input_pages.len() / k; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stepsize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pages_to_merge` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let mut pages_to_merge: Vec> = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pages_to_merge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | mut stepsize: 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/kwaymerge/kwmerge.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut states_at_finalizing: Vec = 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/kwaymerge/kwmerge.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let mut curr_slots = vec![0; k]; [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/kwaymerge/kwmerge.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let mut outpage_idx: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stepsize` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | mut stepsize: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stepsize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_pages` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | input_pages: &[KwayPage], [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_pages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_pages` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | output_pages: &mut [KwayPage], [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_pages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `states_at_finalizing` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut states_at_finalizing: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_states_at_finalizing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_slots` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let mut curr_slots = vec![0; k]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_slots` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outpage_idx` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let mut outpage_idx: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpage_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_child` [INFO] [stdout] --> src/operator/join/join_impl.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | left_child: Box, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_child` [INFO] [stdout] --> src/operator/join/join_impl.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | right_child: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_join_key` [INFO] [stdout] --> src/operator/join/join_impl.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | left_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_join_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_join_key` [INFO] [stdout] --> src/operator/join/join_impl.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | right_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_join_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/operator/sort/sort_impl.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(child: Box, cmp: fn(&Record, &Record) -> Ordering) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmp` [INFO] [stdout] --> src/operator/sort/sort_impl.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(child: Box, cmp: fn(&Record, &Record) -> Ordering) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/operator/table_scan/table_scan_impl.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(table: Rc, buffer: Rc>) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/operator/table_scan/table_scan_impl.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(table: Rc, buffer: Rc>) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key` and `value` are never read [INFO] [stdout] --> src/index/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct BTreeRecord { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | key: i32, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | value: ValueType, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BTreeRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `right` are never read [INFO] [stdout] --> src/index/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct BTreeHeader { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 17 | left: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | right: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BTreeHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_page` is never read [INFO] [stdout] --> src/index/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct UniqueBPlusTree { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 25 | root_page: PageID, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `insert` is never used [INFO] [stdout] --> src/index/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 50 | impl GenericBTreePage { [INFO] [stdout] | ------------------------------------------------------------------------------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | fn insert(&mut self, record: BTreeRecord, slot: usize) -> Result<(), DatabaseError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_child`, `left_join_key`, `right_child`, and `right_join_key` are never read [INFO] [stdout] --> src/operator/join/join_impl.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct EquiHashJoin { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 8 | left_child: Box, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | /// The column index of the join key in the left child output. [INFO] [stdout] 10 | left_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | right_child: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | /// The column index of the join key in the right child output. [INFO] [stdout] 13 | right_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `child` and `cmp` are never read [INFO] [stdout] --> src/operator/sort/sort_impl.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Sort { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 7 | child: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | cmp: fn(&Record, &Record) -> Ordering, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table` and `buffer` are never read [INFO] [stdout] --> src/operator/table_scan/table_scan_impl.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TableScan { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 8 | table: Rc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | buffer: Rc>, [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/index/btree.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [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] 41 - pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [INFO] [stdout] 41 + pub fn lookup(&self, buffer: &[Page], key: i32) -> Option { [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/index/btree.rs:64:40 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> 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] 64 - pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> Vec { [INFO] [stdout] 64 + pub fn range_lookup(&self, buffer: &[Page], range: (i32, i32)) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/index/btree.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [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] 87 - pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] 87 + pub fn insert(&mut self, buffer: &mut [Page], key: i32, rid: RecordID) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | /// the output of the merge process). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 20 | /// the output of the merge process). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | /// The current states are: [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 119 | /// The current states are: [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | /// (PageID 0, SlotID 1) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 120 | /// (PageID 0, SlotID 1) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | /// (PageID 3, SlotID 1) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 121 | /// (PageID 3, SlotID 1) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | /// (PageID 6, SlotID 2) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 122 | /// (PageID 6, SlotID 2) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | pages_to_merge: &mut 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] 138 - pages_to_merge: &mut Vec>, [INFO] [stdout] 138 + pages_to_merge: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `records` [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 141 | for j in 0..KwayPage::CAPACITY { [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] 141 - for j in 0..KwayPage::CAPACITY { [INFO] [stdout] 141 + for in records.iter_mut().take(KwayPage::CAPACITY) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `records` [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:232:18 [INFO] [stdout] | [INFO] [stdout] 232 | for i in 0..fill_factor { [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] 232 - for i in 0..fill_factor { [INFO] [stdout] 232 + for in records.iter_mut().take(fill_factor) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | return true; [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] 276 - return true; [INFO] [stdout] 276 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PageID` and `SlotID` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{PageID, RecordID, SlotID}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::zip` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::iter::zip; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KwayPage` and `kwmerge` [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::kwaymerge::{KwayPage, kwmerge}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kwaymerge::basic_tests_kwmerge::*` [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kwaymerge::basic_tests_kwmerge::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PageID`, `RecordID`, and `SlotID` [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::{PageID, RecordID, SlotID}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Value` [INFO] [stdout] --> src/operator/join/join_impl.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::Value; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::operator::join::join_impl::*` [INFO] [stdout] --> src/operator/join/advanced_tests_join.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::operator::join::join_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::operator::sort::sort_impl::*` [INFO] [stdout] --> src/operator/sort/advanced_tests_sort.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::operator::sort::sort_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::operator::table_scan::table_scan_impl::*` [INFO] [stdout] --> src/operator/table_scan/advanced_tests_table_scan.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::operator::table_scan::table_scan_impl::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/operator/table_scan/advanced_tests_table_scan.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/operator/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | result.id = id; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `BasePage:: { id: id, length: records.len(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/operator/mod.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let mut result = DummyPage::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/index/btree.rs:41:26 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/index/btree.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/index/btree.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/index/btree.rs:64:52 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/index/btree.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/index/btree.rs:87:54 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rid` [INFO] [stdout] --> src/index/btree.rs:87:64 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let mut pages_to_merge: Vec> = vec![]; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_pages` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:23:49 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sort(k: usize, input_pages: &[KwayPage], output_pages: &mut [KwayPage]) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_pages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stepsize` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let stepsize = input_pages.len() / k; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stepsize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pages_to_merge` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let mut pages_to_merge: Vec> = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pages_to_merge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | mut stepsize: 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/kwaymerge/kwmerge.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut states_at_finalizing: Vec = 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/kwaymerge/kwmerge.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let mut curr_slots = vec![0; k]; [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/kwaymerge/kwmerge.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let mut outpage_idx: usize = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stepsize` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | mut stepsize: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stepsize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_pages` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | input_pages: &[KwayPage], [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_pages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_pages` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | output_pages: &mut [KwayPage], [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_pages` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `states_at_finalizing` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut states_at_finalizing: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_states_at_finalizing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_slots` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let mut curr_slots = vec![0; k]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_slots` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outpage_idx` [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let mut outpage_idx: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpage_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_child` [INFO] [stdout] --> src/operator/join/join_impl.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | left_child: Box, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_child` [INFO] [stdout] --> src/operator/join/join_impl.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | right_child: Box, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_join_key` [INFO] [stdout] --> src/operator/join/join_impl.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | left_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_join_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_join_key` [INFO] [stdout] --> src/operator/join/join_impl.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | right_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_join_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/operator/sort/sort_impl.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(child: Box, cmp: fn(&Record, &Record) -> Ordering) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmp` [INFO] [stdout] --> src/operator/sort/sort_impl.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(child: Box, cmp: fn(&Record, &Record) -> Ordering) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/operator/table_scan/table_scan_impl.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(table: Rc, buffer: Rc>) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/operator/table_scan/table_scan_impl.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(table: Rc, buffer: Rc>) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key` and `value` are never read [INFO] [stdout] --> src/index/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct BTreeRecord { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | key: i32, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | value: ValueType, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BTreeRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left` and `right` are never read [INFO] [stdout] --> src/index/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct BTreeHeader { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 17 | left: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | right: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BTreeHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_page` is never read [INFO] [stdout] --> src/index/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct UniqueBPlusTree { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 25 | root_page: PageID, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `insert` is never used [INFO] [stdout] --> src/index/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 50 | impl GenericBTreePage { [INFO] [stdout] | ------------------------------------------------------------------------------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | fn insert(&mut self, record: BTreeRecord, slot: usize) -> Result<(), DatabaseError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left_child`, `left_join_key`, `right_child`, and `right_join_key` are never read [INFO] [stdout] --> src/operator/join/join_impl.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct EquiHashJoin { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 8 | left_child: Box, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | /// The column index of the join key in the left child output. [INFO] [stdout] 10 | left_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | right_child: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | /// The column index of the join key in the right child output. [INFO] [stdout] 13 | right_join_key: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `child` and `cmp` are never read [INFO] [stdout] --> src/operator/sort/sort_impl.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Sort { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 7 | child: Box, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | cmp: fn(&Record, &Record) -> Ordering, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table` and `buffer` are never read [INFO] [stdout] --> src/operator/table_scan/table_scan_impl.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TableScan { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 8 | table: Rc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | buffer: Rc>, [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/index/btree.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [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] 41 - pub fn lookup(&self, buffer: &Vec, key: i32) -> Option { [INFO] [stdout] 41 + pub fn lookup(&self, buffer: &[Page], key: i32) -> Option { [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/index/btree.rs:64:40 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> 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] 64 - pub fn range_lookup(&self, buffer: &Vec, range: (i32, i32)) -> Vec { [INFO] [stdout] 64 + pub fn range_lookup(&self, buffer: &[Page], range: (i32, i32)) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/index/btree.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [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] 87 - pub fn insert(&mut self, buffer: &mut Vec, key: i32, rid: RecordID) { [INFO] [stdout] 87 + pub fn insert(&mut self, buffer: &mut [Page], key: i32, rid: RecordID) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `u32` is unnecessary [INFO] [stdout] --> src/index/basic_tests_index.rs:97:53 [INFO] [stdout] | [INFO] [stdout] 97 | assert_eq! { range_result[0], RecordID::new((37 as u32).into(),0.into()), "First result should be RecordID(32)" }; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `37_u32` [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 integer literal to `u32` is unnecessary [INFO] [stdout] --> src/index/basic_tests_index.rs:98:53 [INFO] [stdout] | [INFO] [stdout] 98 | assert_eq! { range_result[1], RecordID::new((45 as u32).into(),0.into()), "First result should be RecordID(45)" }; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `45_u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/index/basic_tests_index.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | let min_found = min as u32 + !(min % 2 == 0) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `(min % 2 != 0)` [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: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | /// the output of the merge process). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 20 | /// the output of the merge process). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | /// The current states are: [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 119 | /// The current states are: [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | /// (PageID 0, SlotID 1) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 120 | /// (PageID 0, SlotID 1) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | /// (PageID 3, SlotID 1) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 121 | /// (PageID 3, SlotID 1) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | /// (PageID 6, SlotID 2) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 122 | /// (PageID 6, SlotID 2) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/kwaymerge/kwmerge.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | pages_to_merge: &mut 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] 138 - pages_to_merge: &mut Vec>, [INFO] [stdout] 138 + pages_to_merge: &mut [Option], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | /// ^ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try using ` ` (3 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | /// The current states are: [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// The current states are: [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | /// (PageID 0, SlotID 1) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 55 | /// (PageID 0, SlotID 1) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | /// (PageID 3, SlotID 1) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 56 | /// (PageID 3, SlotID 1) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/kwaymerge/advanced_tests_kwmerge.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | /// (PageID 6, SlotID 2) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | /// (PageID 6, SlotID 2) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | mod basic_tests { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_k_sorted_lists(k: usize, n: usize, startpid: usize, seed: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn get_n_empty_pages(n: usize, startpid: usize, seed: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_n_random_full_pages(n: usize, startpid: usize, seed: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn get_k_sorted_partial_lists(k: usize, n: usize, startpid: usize, seed: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn get_n_random_partial_pages(n: usize, startpid: usize, seed: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn is_sorted(outpages: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `records` [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 141 | for j in 0..KwayPage::CAPACITY { [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] 141 - for j in 0..KwayPage::CAPACITY { [INFO] [stdout] 141 + for in records.iter_mut().take(KwayPage::CAPACITY) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `records` [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:232:18 [INFO] [stdout] | [INFO] [stdout] 232 | for i in 0..fill_factor { [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] 232 - for i in 0..fill_factor { [INFO] [stdout] 232 + for in records.iter_mut().take(fill_factor) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/kwaymerge/basic_tests_kwmerge.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | return true; [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] 276 - return true; [INFO] [stdout] 276 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/operator/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | result.id = id; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `BasePage:: { id: id, length: records.len(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/operator/mod.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let mut result = DummyPage::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/operator/table_scan/basic_tests_table_scan.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | / let mut dummy_table_page_vector = Vec::new(); [INFO] [stdout] 14 | | dummy_table_page_vector.push(PageID(0)); [INFO] [stdout] | |________________________________________________^ help: consider using the `vec![]` macro: `let dummy_table_page_vector = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/operator/table_scan/basic_tests_table_scan.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | / let mut records = Vec::new(); [INFO] [stdout] 19 | | [INFO] [stdout] 20 | | records.push(Record::new(vec![Value::Int(1), Value::Int(2)])); [INFO] [stdout] | |______________________________________________________________________^ help: consider using the `vec![]` macro: `let records = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.35s [INFO] running `Command { std: "docker" "inspect" "71b6cb427662fca6e4858676cc524d273ce437cfe6c6e2174a67f558a09db6e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71b6cb427662fca6e4858676cc524d273ce437cfe6c6e2174a67f558a09db6e9", kill_on_drop: false }` [INFO] [stdout] 71b6cb427662fca6e4858676cc524d273ce437cfe6c6e2174a67f558a09db6e9