[INFO] fetching crate spatial 1.0.1... [INFO] linting spatial-1.0.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate spatial 1.0.1 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate spatial 1.0.1 [INFO] finished tweaking crates.io crate spatial 1.0.1 [INFO] tweaked toml for crates.io crate spatial 1.0.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate spatial 1.0.1 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 26 packages to latest compatible versions [INFO] [stderr] Adding itertools v0.12.1 (available: v0.14.0) [INFO] [stderr] Adding ordered-float v4.6.0 (available: v5.1.0) [INFO] [stderr] Adding rand v0.8.5 (available: v0.10.0) [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] 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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 80f34016f3af26dd41840c72e14c450b305905adfd9b659c4e7f8ef73e13f299 [INFO] running `Command { std: "docker" "start" "-a" "80f34016f3af26dd41840c72e14c450b305905adfd9b659c4e7f8ef73e13f299", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "80f34016f3af26dd41840c72e14c450b305905adfd9b659c4e7f8ef73e13f299", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80f34016f3af26dd41840c72e14c450b305905adfd9b659c4e7f8ef73e13f299", kill_on_drop: false }` [INFO] [stdout] 80f34016f3af26dd41840c72e14c450b305905adfd9b659c4e7f8ef73e13f299 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5261f5d4c310dc618a7513d1b75acb5a1737980a1c7a29fb67d2a7a8d9c5d0c2 [INFO] running `Command { std: "docker" "start" "-a" "5261f5d4c310dc618a7513d1b75acb5a1737980a1c7a29fb67d2a7a8d9c5d0c2", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking spatial v1.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/index/rstar.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | mbr: mbr, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `mbr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | insert_index: insert_index, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `insert_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | remove_index: remove_index, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remove_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 160 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:262:17 [INFO] [stdout] | [INFO] [stdout] 262 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | level_iter: level_iter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level_iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:464:13 [INFO] [stdout] | [INFO] [stdout] 464 | level_iter: level_iter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level_iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tree::xmbr::node::XTreeNode` [INFO] [stdout] --> src/tree/xmbr/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use crate::tree::xmbr::node::XTreeNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/index/rstar.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | mbr: mbr, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `mbr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | insert_index: insert_index, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `insert_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | remove_index: remove_index, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remove_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 160 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:262:17 [INFO] [stdout] | [INFO] [stdout] 262 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | query: query, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | root: root, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:380:13 [INFO] [stdout] | [INFO] [stdout] 380 | level_iter: level_iter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level_iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/tree/mbr/map.rs:464:13 [INFO] [stdout] | [INFO] [stdout] 464 | level_iter: level_iter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level_iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tree::xmbr::node::XTreeNode` [INFO] [stdout] --> src/tree/xmbr/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use crate::tree::xmbr::node::XTreeNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `XTreeNode` is never used [INFO] [stdout] --> src/tree/xmbr/node.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum XTreeNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_super` is never used [INFO] [stdout] --> src/tree/xmbr/node.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 32 | / impl XTreeNode [INFO] [stdout] 33 | | where [INFO] [stdout] 34 | | LG: MbrLeafGeometry, [INFO] [stdout] | |________________________________- method in this implementation [INFO] [stdout] 35 | { [INFO] [stdout] 36 | pub fn is_super(&self) -> bool { [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/tree/mbr/index/r.rs:36:19 [INFO] [stdout] | [INFO] [stdout] 36 | children: &Vec, [INFO] [stdout] | ^^^^^^^ help: change this to: `&[V]` [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] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/tree/mbr/index/r.rs:286:16 [INFO] [stdout] | [INFO] [stdout] 286 | level: &'tree 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] 286 - level: &'tree mut Vec>, [INFO] [stdout] 286 + level: &'tree mut [RTreeNode], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/tree/mbr/index/r.rs:415:5 [INFO] [stdout] | [INFO] [stdout] 415 | / fn remove_matching_leaves< [INFO] [stdout] 416 | | Q: MbrQuery>, [INFO] [stdout] 417 | | F: FnMut(&T) -> bool, [INFO] [stdout] 418 | | >( [INFO] [stdout] ... | [INFO] [stdout] 426 | | at_root: bool, [INFO] [stdout] 427 | | ) -> bool { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/tree/mbr/index/rstar.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / match *self { [INFO] [stdout] 47 | | InsertResult::Reinsert(_) => true, [INFO] [stdout] 48 | | _ => false, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 46 - match *self { [INFO] [stdout] 47 - InsertResult::Reinsert(_) => true, [INFO] [stdout] 48 - _ => false, [INFO] [stdout] 49 - } [INFO] [stdout] 46 + matches!(*self, InsertResult::Reinsert(_)) [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/tree/mbr/index/rstar.rs:151:16 [INFO] [stdout] | [INFO] [stdout] 151 | level: &'tree 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] 151 - level: &'tree mut Vec>, [INFO] [stdout] 151 + level: &'tree mut [RTreeNode], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `XTreeNode` is never used [INFO] [stdout] --> src/tree/xmbr/node.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum XTreeNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_super` is never used [INFO] [stdout] --> src/tree/xmbr/node.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 32 | / impl XTreeNode [INFO] [stdout] 33 | | where [INFO] [stdout] 34 | | LG: MbrLeafGeometry, [INFO] [stdout] | |________________________________- method in this implementation [INFO] [stdout] 35 | { [INFO] [stdout] 36 | pub fn is_super(&self) -> bool { [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/tree/mbr/index/rstar.rs:246:19 [INFO] [stdout] | [INFO] [stdout] 246 | children: &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] 246 - children: &mut Vec, [INFO] [stdout] 246 + children: &mut [V], [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/tree/mbr/index/r.rs:36:19 [INFO] [stdout] | [INFO] [stdout] 36 | children: &Vec, [INFO] [stdout] | ^^^^^^^ help: change this to: `&[V]` [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] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:197:16 [INFO] [stdout] | [INFO] [stdout] 197 | if !(x1 < y2) || !(x2 < y1) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] = note: `#[warn(clippy::neg_cmp_op_on_partial_ord)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:197:30 [INFO] [stdout] | [INFO] [stdout] 197 | if !(x1 < y2) || !(x2 < y1) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [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/tree/mbr/index/r.rs:286:16 [INFO] [stdout] | [INFO] [stdout] 286 | level: &'tree 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] 286 - level: &'tree mut Vec>, [INFO] [stdout] 286 + level: &'tree mut [RTreeNode], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/tree/mbr/index/r.rs:415:5 [INFO] [stdout] | [INFO] [stdout] 415 | / fn remove_matching_leaves< [INFO] [stdout] 416 | | Q: MbrQuery>, [INFO] [stdout] 417 | | F: FnMut(&T) -> bool, [INFO] [stdout] 418 | | >( [INFO] [stdout] ... | [INFO] [stdout] 426 | | at_root: bool, [INFO] [stdout] 427 | | ) -> bool { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:220:19 [INFO] [stdout] | [INFO] [stdout] 220 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/tree/mbr/map.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | / match unsafe { self.unpack_root_lifetime() } { [INFO] [stdout] 327 | | &mut RTreeNode::Leaves { [INFO] [stdout] 328 | | ref mut children, .. [INFO] [stdout] 329 | | } => { [INFO] [stdout] ... | [INFO] [stdout] 338 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 326 ~ match *unsafe { self.unpack_root_lifetime() } { [INFO] [stdout] 327 ~ RTreeNode::Leaves { [INFO] [stdout] 328 + ref mut children, .. [INFO] [stdout] 329 ~ } => { [INFO] [stdout] 330 | self.finished = true; [INFO] [stdout] 331 | return Some(children.iter_mut()); [INFO] [stdout] 332 | } [INFO] [stdout] 333 ~ RTreeNode::Level { [INFO] [stdout] 334 + ref mut children, .. [INFO] [stdout] 335 ~ } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/tree/mbr/index/rstar.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / match *self { [INFO] [stdout] 47 | | InsertResult::Reinsert(_) => true, [INFO] [stdout] 48 | | _ => false, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 46 - match *self { [INFO] [stdout] 47 - InsertResult::Reinsert(_) => true, [INFO] [stdout] 48 - _ => false, [INFO] [stdout] 49 - } [INFO] [stdout] 46 + matches!(*self, InsertResult::Reinsert(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:342:19 [INFO] [stdout] | [INFO] [stdout] 342 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tree/mbr/map.rs:425:16 [INFO] [stdout] | [INFO] [stdout] 425 | if !leaf_iter.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `leaf_iter.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `leaf_iter` after checking its variant with `is_none` [INFO] [stdout] --> src/tree/mbr/map.rs:426:39 [INFO] [stdout] | [INFO] [stdout] 425 | if !leaf_iter.is_none() { [INFO] [stdout] | ------------------- the check is happening here [INFO] [stdout] 426 | next = self.next_leaf(leaf_iter.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:423:19 [INFO] [stdout] | [INFO] [stdout] 423 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [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/tree/mbr/index/rstar.rs:151:16 [INFO] [stdout] | [INFO] [stdout] 151 | level: &'tree 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] 151 - level: &'tree mut Vec>, [INFO] [stdout] 151 + level: &'tree mut [RTreeNode], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tree/mbr/map.rs:513:16 [INFO] [stdout] | [INFO] [stdout] 513 | if !leaf_iter.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `leaf_iter.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `leaf_iter` after checking its variant with `is_none` [INFO] [stdout] --> src/tree/mbr/map.rs:514:39 [INFO] [stdout] | [INFO] [stdout] 513 | if !leaf_iter.is_none() { [INFO] [stdout] | ------------------- the check is happening here [INFO] [stdout] 514 | next = self.next_leaf(leaf_iter.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:511:19 [INFO] [stdout] | [INFO] [stdout] 511 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [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/tree/mbr/index/rstar.rs:246:19 [INFO] [stdout] | [INFO] [stdout] 246 | children: &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] 246 - children: &mut Vec, [INFO] [stdout] 246 + children: &mut [V], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/tree/mbr/mod.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | ) -> MbrMap, RInsert, RRemove> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/tree/mbr/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | / pub fn new() -> RStarTree { [INFO] [stdout] 110 | | RStar::map_from_insert(RStarInsert::new()) [INFO] [stdout] 111 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/index/rstar.rs:432:43 [INFO] [stdout] | [INFO] [stdout] 432 | let zero_one = Rect::from_corners(g_zero.clone(), g_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `g_zero` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/index/rstar.rs:432:59 [INFO] [stdout] | [INFO] [stdout] 432 | let zero_one = Rect::from_corners(g_zero.clone(), g_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `g_one` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter(&self) -> Iter<'_, P, DIM, LG, T, MbrRectQuery> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn iter_mut(&mut self) -> IterMut> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 103 | pub fn iter_mut(&mut self) -> IterMut<'_, P, DIM, LG, T, MbrRectQuery> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 110 | query: Q, [INFO] [stdout] 111 | ) -> Iter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 111 | ) -> Iter<'_, P, DIM, LG, T, Q> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | &mut self, [INFO] [stdout] | ^^^^^^^^^ the lifetime is elided here [INFO] [stdout] 118 | query: Q, [INFO] [stdout] 119 | ) -> IterMut { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 119 | ) -> IterMut<'_, P, DIM, LG, T, Q> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:197:16 [INFO] [stdout] | [INFO] [stdout] 197 | if !(x1 < y2) || !(x2 < y1) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] = note: `#[warn(clippy::neg_cmp_op_on_partial_ord)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:197:30 [INFO] [stdout] | [INFO] [stdout] 197 | if !(x1 < y2) || !(x2 < y1) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:412:43 [INFO] [stdout] | [INFO] [stdout] 412 | let zero_one = Rect::from_corners(g_zero.clone(), g_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `g_zero` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:412:59 [INFO] [stdout] | [INFO] [stdout] 412 | let zero_one = Rect::from_corners(g_zero.clone(), g_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `g_one` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:414:46 [INFO] [stdout] | [INFO] [stdout] 414 | let neg_one_one = Rect::from_corners(g_neg_one.clone(), g_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `g_neg_one` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:414:65 [INFO] [stdout] | [INFO] [stdout] 414 | let neg_one_one = Rect::from_corners(g_neg_one.clone(), g_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `g_one` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:416:50 [INFO] [stdout] | [INFO] [stdout] 416 | let neg_two_neg_one = Rect::from_corners(g_neg_two.clone(), g_neg_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `g_neg_two` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[f64; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/tree/mbr/leafgeometry.rs:416:69 [INFO] [stdout] | [INFO] [stdout] 416 | let neg_two_neg_one = Rect::from_corners(g_neg_two.clone(), g_neg_one.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `g_neg_one` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:220:19 [INFO] [stdout] | [INFO] [stdout] 220 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/tree/mbr/map.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | / match unsafe { self.unpack_root_lifetime() } { [INFO] [stdout] 327 | | &mut RTreeNode::Leaves { [INFO] [stdout] 328 | | ref mut children, .. [INFO] [stdout] 329 | | } => { [INFO] [stdout] ... | [INFO] [stdout] 338 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 326 ~ match *unsafe { self.unpack_root_lifetime() } { [INFO] [stdout] 327 ~ RTreeNode::Leaves { [INFO] [stdout] 328 + ref mut children, .. [INFO] [stdout] 329 ~ } => { [INFO] [stdout] 330 | self.finished = true; [INFO] [stdout] 331 | return Some(children.iter_mut()); [INFO] [stdout] 332 | } [INFO] [stdout] 333 ~ RTreeNode::Level { [INFO] [stdout] 334 + ref mut children, .. [INFO] [stdout] 335 ~ } => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:342:19 [INFO] [stdout] | [INFO] [stdout] 342 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tree/mbr/map.rs:425:16 [INFO] [stdout] | [INFO] [stdout] 425 | if !leaf_iter.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `leaf_iter.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `leaf_iter` after checking its variant with `is_none` [INFO] [stdout] --> src/tree/mbr/map.rs:426:39 [INFO] [stdout] | [INFO] [stdout] 425 | if !leaf_iter.is_none() { [INFO] [stdout] | ------------------- the check is happening here [INFO] [stdout] 426 | next = self.next_leaf(leaf_iter.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:423:19 [INFO] [stdout] | [INFO] [stdout] 423 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tree/mbr/map.rs:513:16 [INFO] [stdout] | [INFO] [stdout] 513 | if !leaf_iter.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `leaf_iter.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `leaf_iter` after checking its variant with `is_none` [INFO] [stdout] --> src/tree/mbr/map.rs:514:39 [INFO] [stdout] | [INFO] [stdout] 513 | if !leaf_iter.is_none() { [INFO] [stdout] | ------------------- the check is happening here [INFO] [stdout] 514 | next = self.next_leaf(leaf_iter.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/tree/mbr/map.rs:511:19 [INFO] [stdout] | [INFO] [stdout] 511 | while let None = next { [INFO] [stdout] | ----------^^^^------- help: try: `while next.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/tree/mbr/mod.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | ) -> MbrMap, RInsert, RRemove> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/tree/mbr/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | / pub fn new() -> RStarTree { [INFO] [stdout] 110 | | RStar::map_from_insert(RStarInsert::new()) [INFO] [stdout] 111 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/vecext.rs:70:38 [INFO] [stdout] | [INFO] [stdout] 70 | fn contains_all(&self, that: &Vec) -> bool; [INFO] [stdout] | ^^^^^^^ help: change this to: `&[T]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> benches/rtree.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter(&self) -> Iter<'_, P, DIM, LG, T, MbrRectQuery> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn iter_mut(&mut self) -> IterMut> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 103 | pub fn iter_mut(&mut self) -> IterMut<'_, P, DIM, LG, T, MbrRectQuery> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 110 | query: Q, [INFO] [stdout] 111 | ) -> Iter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 111 | ) -> Iter<'_, P, DIM, LG, T, Q> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tree/mbr/map.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | &mut self, [INFO] [stdout] | ^^^^^^^^^ the lifetime is elided here [INFO] [stdout] 118 | query: Q, [INFO] [stdout] 119 | ) -> IterMut { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 119 | ) -> IterMut<'_, P, DIM, LG, T, Q> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.55s [INFO] running `Command { std: "docker" "inspect" "5261f5d4c310dc618a7513d1b75acb5a1737980a1c7a29fb67d2a7a8d9c5d0c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5261f5d4c310dc618a7513d1b75acb5a1737980a1c7a29fb67d2a7a8d9c5d0c2", kill_on_drop: false }` [INFO] [stdout] 5261f5d4c310dc618a7513d1b75acb5a1737980a1c7a29fb67d2a7a8d9c5d0c2