[INFO] fetching crate advanced_collections 0.1.0... [INFO] linting advanced_collections-0.1.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate advanced_collections 0.1.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate advanced_collections 0.1.0 [INFO] finished tweaking crates.io crate advanced_collections 0.1.0 [INFO] tweaked toml for crates.io crate advanced_collections 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate advanced_collections 0.1.0 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] Updating crates.io index [INFO] [stderr] Locking 1 package to latest compatible version [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-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 32abc57bf2eeb5569d8b56a8cb9cdf0096a0dc5fd3f85fcf0f1d01a7880a502b [INFO] running `Command { std: "docker" "start" "-a" "32abc57bf2eeb5569d8b56a8cb9cdf0096a0dc5fd3f85fcf0f1d01a7880a502b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "32abc57bf2eeb5569d8b56a8cb9cdf0096a0dc5fd3f85fcf0f1d01a7880a502b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32abc57bf2eeb5569d8b56a8cb9cdf0096a0dc5fd3f85fcf0f1d01a7880a502b", kill_on_drop: false }` [INFO] [stdout] 32abc57bf2eeb5569d8b56a8cb9cdf0096a0dc5fd3f85fcf0f1d01a7880a502b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 353fea29f476cd7354dfe39e1daa3605cac77df35da3df758151afa605d0f89d [INFO] running `Command { std: "docker" "start" "-a" "353fea29f476cd7354dfe39e1daa3605cac77df35da3df758151afa605d0f89d", kill_on_drop: false }` [INFO] [stderr] Checking advanced_collections v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:1:30 [INFO] [stdout] | [INFO] [stdout] 1 | use std::mem::{ManuallyDrop, uninitialized, swap, drop, transmute}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:93:50 [INFO] [stdout] | [INFO] [stdout] 93 | buffer.push(ManuallyDrop::new(unsafe{uninitialized()})); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:175:51 [INFO] [stdout] | [INFO] [stdout] 175 | new_buf.push(ManuallyDrop::new(unsafe{uninitialized()})); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:745:48 [INFO] [stdout] | [INFO] [stdout] 745 | let mut tmp = ManuallyDrop::new(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:785:25 [INFO] [stdout] | [INFO] [stdout] 785 | buf.push(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:800:25 [INFO] [stdout] | [INFO] [stdout] 800 | buf.push(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:814:23 [INFO] [stdout] | [INFO] [stdout] 814 | v.push(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/counter/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | mod counter; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/counter/counter.rs:166:55 [INFO] [stdout] | [INFO] [stdout] 166 | let mut res: Vec<(T, usize)> = Vec::from_iter(self.counter.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 166 - let mut res: Vec<(T, usize)> = Vec::from_iter(self.counter.into_iter()); [INFO] [stdout] 166 + let mut res: Vec<(T, usize)> = Vec::from_iter(self.counter); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/counter/counter.rs:167:53 [INFO] [stdout] | [INFO] [stdout] 167 | res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 167 - res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] 167 + res.sort_unstable_by_key(|&(ref _key, val)| usize::MAX - val); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/counter/counter.rs:198:53 [INFO] [stdout] | [INFO] [stdout] 198 | res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 198 - res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] 198 + res.sort_unstable_by_key(|&(ref _key, val)| usize::MAX - val); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:261:30 [INFO] [stdout] | [INFO] [stdout] 261 | for key in iter.map(|ref key| (*key).clone()) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 261 - for key in iter.map(|ref key| (*key).clone()) { [INFO] [stdout] 261 + for key in iter.map(|key| key.clone()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/counter/counter.rs:331:20 [INFO] [stdout] | [INFO] [stdout] 331 | for key in iter.map(|&key| key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `iter.copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:379:14 [INFO] [stdout] | [INFO] [stdout] 379 | for (ref key, &val) in rhs.iter() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 379 ~ for (key, &val) in rhs.iter() { [INFO] [stdout] 380 ~ *self.counter.entry(key.clone()).or_insert(0) += val; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:406:14 [INFO] [stdout] | [INFO] [stdout] 406 | for (ref key, val) in rhs.iter() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 406 ~ for (key, val) in rhs.iter() { [INFO] [stdout] 407 ~ *self.entry(key.clone()).or_insert(0) += *val; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/counter/counter.rs:448:24 [INFO] [stdout] | [INFO] [stdout] 448 | if entry.get() <= &val { [INFO] [stdout] | ^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:1:30 [INFO] [stdout] | [INFO] [stdout] 1 | use std::mem::{ManuallyDrop, uninitialized, swap, drop, transmute}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/counter/counter.rs:448:39 [INFO] [stdout] | [INFO] [stdout] 448 | if entry.get() <= &val { [INFO] [stdout] | ^^^^ help: change this to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:93:50 [INFO] [stdout] | [INFO] [stdout] 93 | buffer.push(ManuallyDrop::new(unsafe{uninitialized()})); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:175:51 [INFO] [stdout] | [INFO] [stdout] 175 | new_buf.push(ManuallyDrop::new(unsafe{uninitialized()})); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:745:48 [INFO] [stdout] | [INFO] [stdout] 745 | let mut tmp = ManuallyDrop::new(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:785:25 [INFO] [stdout] | [INFO] [stdout] 785 | buf.push(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:800:25 [INFO] [stdout] | [INFO] [stdout] 800 | buf.push(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/circular_buffer/circular.rs:814:23 [INFO] [stdout] | [INFO] [stdout] 814 | v.push(unsafe{uninitialized()}); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/counter/counter.rs:487:24 [INFO] [stdout] | [INFO] [stdout] 487 | if entry.get() <= &val { [INFO] [stdout] | ^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/counter/counter.rs:487:39 [INFO] [stdout] | [INFO] [stdout] 487 | if entry.get() <= &val { [INFO] [stdout] | ^^^^ help: change this to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:484:14 [INFO] [stdout] | [INFO] [stdout] 484 | for (ref key, val) in rhs.iter() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 484 ~ for (key, val) in rhs.iter() { [INFO] [stdout] 485 ~ match self.counter.entry(key.clone()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/counter/counter.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | counter: HashMap::from_iter(rhs.into_iter()), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 518 - counter: HashMap::from_iter(rhs.into_iter()), [INFO] [stdout] 518 + counter: HashMap::from_iter(rhs), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:531:58 [INFO] [stdout] | [INFO] [stdout] 531 | counter: HashMap::from_iter(rhs.iter().map(|(ref key, &val)| ((*key).clone(), val))), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 531 - counter: HashMap::from_iter(rhs.iter().map(|(ref key, &val)| ((*key).clone(), val))), [INFO] [stdout] 531 + counter: HashMap::from_iter(rhs.iter().map(|(key, &val)| (key.clone(), val))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/disjoint_set/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | mod disjoint_set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | fn next<'b>(&'b mut self) -> Option<::Item> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 42 - fn next<'b>(&'b mut self) -> Option<::Item> { [INFO] [stdout] 42 + fn next(&mut self) -> Option<::Item> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | / match self.sets.next() { [INFO] [stdout] 44 | | Option::None => None, [INFO] [stdout] 45 | | Option::Some((_key, vect)) => Some(vect.into_iter()) [INFO] [stdout] 46 | | } [INFO] [stdout] | |_________^ help: try: `self.sets.next().map(|(_key, vect)| vect.into_iter())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this looks like you are swapping `a_root` and `b_root` manually [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | / let tmp = a_root; [INFO] [stdout] 185 | | a_root = b_root; [INFO] [stdout] 186 | | b_root = tmp; [INFO] [stdout] | |_________________________^ help: try: `std::mem::swap(&mut a_root, &mut b_root);` [INFO] [stdout] | [INFO] [stdout] = note: or maybe you should use `std::mem::replace`? [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stdout] = note: `#[warn(clippy::manual_swap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:269:44 [INFO] [stdout] | [INFO] [stdout] 269 | map.entry(root).or_insert_with(|| Vec::new()).push(key); [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Vec::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:267:14 [INFO] [stdout] | [INFO] [stdout] 267 | for (ref key, ref val) in self.ids.iter(){ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 267 - for (ref key, ref val) in self.ids.iter(){ [INFO] [stdout] 267 + for (key, ref val) in self.ids.iter(){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:267:23 [INFO] [stdout] | [INFO] [stdout] 267 | for (ref key, ref val) in self.ids.iter(){ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 267 ~ for (ref key, val) in self.ids.iter(){ [INFO] [stdout] 268 ~ let root = Self::find_with_path_compression(&mut self.data_by_id, *val); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:320:42 [INFO] [stdout] | [INFO] [stdout] 320 | for val in iter.into_iter().map(|ref val| (*val).clone()) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 320 - for val in iter.into_iter().map(|ref val| (*val).clone()) { [INFO] [stdout] 320 + for val in iter.into_iter().map(|val| val.clone()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `T` which implements the `Copy` trait [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:362:36 [INFO] [stdout] | [INFO] [stdout] 362 | for val in iter.map(|&val| val.clone()) { [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `val` [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: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:587:17 [INFO] [stdout] | [INFO] [stdout] 587 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&[std::mem::ManuallyDrop], &[T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:587:31 [INFO] [stdout] | [INFO] [stdout] 587 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&[std::mem::ManuallyDrop], &[T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:624:17 [INFO] [stdout] | [INFO] [stdout] 624 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&mut [std::mem::ManuallyDrop], &mut [T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:624:31 [INFO] [stdout] | [INFO] [stdout] 624 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&mut [std::mem::ManuallyDrop], &mut [T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/circular_buffer/circular.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | &*self.buffer[self.internal_index(index)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&self.buffer[self.internal_index(index)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/circular_buffer/circular.rs:772:9 [INFO] [stdout] | [INFO] [stdout] 772 | &mut *self.buffer[self.internal_index(index)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut self.buffer[self.internal_index(index)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:817:28 [INFO] [stdout] | [INFO] [stdout] 817 | buffer: unsafe{transmute(v.into_boxed_slice())}, [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::, std::boxed::Box<[std::mem::ManuallyDrop]>>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | &self.bound.val() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `self.bound.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/interval/bounds.rs:286:1 [INFO] [stdout] | [INFO] [stdout] 286 | / impl PartialOrd for LowerBound where T: Ord { [INFO] [stdout] 287 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 288 | | match self.val().cmp(other.val()) { [INFO] [stdout] 289 | | Greater => Some(Greater), [INFO] [stdout] ... | [INFO] [stdout] 304 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 287 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 288 - match self.val().cmp(other.val()) { [INFO] [stdout] 289 - Greater => Some(Greater), [INFO] [stdout] 290 - Less => Some(Less), [INFO] [stdout] 291 - Equal => { [INFO] [stdout] 292 - if self.is_closed() == other.is_closed() { [INFO] [stdout] 293 - Some(Equal) [INFO] [stdout] 294 - } else { [INFO] [stdout] 295 - if self.is_closed() { [INFO] [stdout] 296 - Some(Less) [INFO] [stdout] 297 - } else { [INFO] [stdout] 298 - Some(Greater) [INFO] [stdout] 299 - } [INFO] [stdout] 300 - } [INFO] [stdout] 301 - } [INFO] [stdout] 302 - } [INFO] [stdout] 303 - } [INFO] [stdout] 287 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:318:30 [INFO] [stdout] | [INFO] [stdout] 318 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:330:30 [INFO] [stdout] | [INFO] [stdout] 330 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stdout] --> src/interval/bounds.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | fn ne(&self, _other: &UpperBound) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stdout] = note: `#[warn(clippy::partialeq_ne_impl)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | &self.bound.val() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `self.bound.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:583:30 [INFO] [stdout] | [INFO] [stdout] 583 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/interval/bounds.rs:607:1 [INFO] [stdout] | [INFO] [stdout] 607 | / impl PartialOrd for UpperBound where T: Ord { [INFO] [stdout] 608 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 609 | | match self.val().cmp(&other.val()) { [INFO] [stdout] 610 | | Greater => Some(Greater), [INFO] [stdout] ... | [INFO] [stdout] 625 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 608 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 609 - match self.val().cmp(&other.val()) { [INFO] [stdout] 610 - Greater => Some(Greater), [INFO] [stdout] 611 - Less => Some(Less), [INFO] [stdout] 612 - Equal => { [INFO] [stdout] 613 - if self.is_closed() == other.is_closed() { [INFO] [stdout] 614 - Some(Equal) [INFO] [stdout] 615 - } else { [INFO] [stdout] 616 - if self.is_closed() { [INFO] [stdout] 617 - Some(Greater) [INFO] [stdout] 618 - } else { [INFO] [stdout] 619 - Some(Less) [INFO] [stdout] 620 - } [INFO] [stdout] 621 - } [INFO] [stdout] 622 - } [INFO] [stdout] 623 - } [INFO] [stdout] 624 - } [INFO] [stdout] 608 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:609:30 [INFO] [stdout] | [INFO] [stdout] 609 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:639:30 [INFO] [stdout] | [INFO] [stdout] 639 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stdout] --> src/interval/bounds.rs:668:5 [INFO] [stdout] | [INFO] [stdout] 668 | fn ne(&self, _other: &LowerBound) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/interval/mod.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | mod interval; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/interval/interval.rs:467:9 [INFO] [stdout] | [INFO] [stdout] 467 | / match &self.imp{ [INFO] [stdout] 468 | | None => None, [INFO] [stdout] 469 | | Some(a) => Some(a.lo.is_closed()) [INFO] [stdout] 470 | | } [INFO] [stdout] | |_________^ help: try: `self.imp.as_ref().map(|a| a.lo.is_closed())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/interval/interval.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | / match &self.imp{ [INFO] [stdout] 490 | | None => None, [INFO] [stdout] 491 | | Some(a) => Some(a.up.is_closed()) [INFO] [stdout] 492 | | } [INFO] [stdout] | |_________^ help: try: `self.imp.as_ref().map(|a| a.up.is_closed())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this binary expression can be simplified [INFO] [stdout] --> src/interval/interval.rs:512:10 [INFO] [stdout] | [INFO] [stdout] 512 | !(self > val || self < val) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self != val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stdout] = note: `#[warn(clippy::double_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/interval.rs:568:32 [INFO] [stdout] | [INFO] [stdout] 568 | !(up.is_separated_from(&olo) || oup.is_separated_from(&lo)) [INFO] [stdout] | ^^^^ help: change this to: `olo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/interval.rs:568:63 [INFO] [stdout] | [INFO] [stdout] 568 | !(up.is_separated_from(&olo) || oup.is_separated_from(&lo)) [INFO] [stdout] | ^^^ help: change this to: `lo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this binary expression can be simplified [INFO] [stdout] --> src/interval/interval.rs:661:10 [INFO] [stdout] | [INFO] [stdout] 661 | !(self > other || self < other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self != other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/circular_buffer/circular.rs:388:17 [INFO] [stdout] | [INFO] [stdout] 388 | 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] 388 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/circular_buffer/circular.rs:411:21 [INFO] [stdout] | [INFO] [stdout] 411 | 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] 411 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/circular_buffer/circular.rs:457:18 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn drain(&mut self) -> Drain{ [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] 457 | pub fn drain(&mut self) -> Drain<'_, T>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/counter/mod.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | mod counter; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/counter/counter.rs:166:55 [INFO] [stdout] | [INFO] [stdout] 166 | let mut res: Vec<(T, usize)> = Vec::from_iter(self.counter.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 166 - let mut res: Vec<(T, usize)> = Vec::from_iter(self.counter.into_iter()); [INFO] [stdout] 166 + let mut res: Vec<(T, usize)> = Vec::from_iter(self.counter); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/counter/counter.rs:167:53 [INFO] [stdout] | [INFO] [stdout] 167 | res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 167 - res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] 167 + res.sort_unstable_by_key(|&(ref _key, val)| usize::MAX - val); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/counter/counter.rs:198:53 [INFO] [stdout] | [INFO] [stdout] 198 | res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 198 - res.sort_unstable_by_key(|&(ref _key, val)| ::std::usize::MAX - val); [INFO] [stdout] 198 + res.sort_unstable_by_key(|&(ref _key, val)| usize::MAX - val); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:261:30 [INFO] [stdout] | [INFO] [stdout] 261 | for key in iter.map(|ref key| (*key).clone()) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 261 - for key in iter.map(|ref key| (*key).clone()) { [INFO] [stdout] 261 + for key in iter.map(|key| key.clone()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/counter/counter.rs:331:20 [INFO] [stdout] | [INFO] [stdout] 331 | for key in iter.map(|&key| key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `iter.copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:379:14 [INFO] [stdout] | [INFO] [stdout] 379 | for (ref key, &val) in rhs.iter() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 379 ~ for (key, &val) in rhs.iter() { [INFO] [stdout] 380 ~ *self.counter.entry(key.clone()).or_insert(0) += val; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:406:14 [INFO] [stdout] | [INFO] [stdout] 406 | for (ref key, val) in rhs.iter() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 406 ~ for (key, val) in rhs.iter() { [INFO] [stdout] 407 ~ *self.entry(key.clone()).or_insert(0) += *val; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/counter/counter.rs:448:24 [INFO] [stdout] | [INFO] [stdout] 448 | if entry.get() <= &val { [INFO] [stdout] | ^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/counter/counter.rs:448:39 [INFO] [stdout] | [INFO] [stdout] 448 | if entry.get() <= &val { [INFO] [stdout] | ^^^^ help: change this to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/counter/counter.rs:487:24 [INFO] [stdout] | [INFO] [stdout] 487 | if entry.get() <= &val { [INFO] [stdout] | ^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/counter/counter.rs:487:39 [INFO] [stdout] | [INFO] [stdout] 487 | if entry.get() <= &val { [INFO] [stdout] | ^^^^ help: change this to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:484:14 [INFO] [stdout] | [INFO] [stdout] 484 | for (ref key, val) in rhs.iter() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 484 ~ for (key, val) in rhs.iter() { [INFO] [stdout] 485 ~ match self.counter.entry(key.clone()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/counter/counter.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | counter: HashMap::from_iter(rhs.into_iter()), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 518 - counter: HashMap::from_iter(rhs.into_iter()), [INFO] [stdout] 518 + counter: HashMap::from_iter(rhs), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/counter/counter.rs:531:58 [INFO] [stdout] | [INFO] [stdout] 531 | counter: HashMap::from_iter(rhs.iter().map(|(ref key, &val)| ((*key).clone(), val))), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 531 - counter: HashMap::from_iter(rhs.iter().map(|(ref key, &val)| ((*key).clone(), val))), [INFO] [stdout] 531 + counter: HashMap::from_iter(rhs.iter().map(|(key, &val)| (key.clone(), val))), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/disjoint_set/mod.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | mod disjoint_set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | fn next<'b>(&'b mut self) -> Option<::Item> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 42 - fn next<'b>(&'b mut self) -> Option<::Item> { [INFO] [stdout] 42 + fn next(&mut self) -> Option<::Item> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | / match self.sets.next() { [INFO] [stdout] 44 | | Option::None => None, [INFO] [stdout] 45 | | Option::Some((_key, vect)) => Some(vect.into_iter()) [INFO] [stdout] 46 | | } [INFO] [stdout] | |_________^ help: try: `self.sets.next().map(|(_key, vect)| vect.into_iter())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this looks like you are swapping `a_root` and `b_root` manually [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | / let tmp = a_root; [INFO] [stdout] 185 | | a_root = b_root; [INFO] [stdout] 186 | | b_root = tmp; [INFO] [stdout] | |_________________________^ help: try: `std::mem::swap(&mut a_root, &mut b_root);` [INFO] [stdout] | [INFO] [stdout] = note: or maybe you should use `std::mem::replace`? [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stdout] = note: `#[warn(clippy::manual_swap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:269:44 [INFO] [stdout] | [INFO] [stdout] 269 | map.entry(root).or_insert_with(|| Vec::new()).push(key); [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Vec::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:267:14 [INFO] [stdout] | [INFO] [stdout] 267 | for (ref key, ref val) in self.ids.iter(){ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 267 - for (ref key, ref val) in self.ids.iter(){ [INFO] [stdout] 267 + for (key, ref val) in self.ids.iter(){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:267:23 [INFO] [stdout] | [INFO] [stdout] 267 | for (ref key, ref val) in self.ids.iter(){ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 267 ~ for (ref key, val) in self.ids.iter(){ [INFO] [stdout] 268 ~ let root = Self::find_with_path_compression(&mut self.data_by_id, *val); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:320:42 [INFO] [stdout] | [INFO] [stdout] 320 | for val in iter.into_iter().map(|ref val| (*val).clone()) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 320 - for val in iter.into_iter().map(|ref val| (*val).clone()) { [INFO] [stdout] 320 + for val in iter.into_iter().map(|val| val.clone()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `T` which implements the `Copy` trait [INFO] [stdout] --> src/disjoint_set/disjoint_set.rs:362:36 [INFO] [stdout] | [INFO] [stdout] 362 | for val in iter.map(|&val| val.clone()) { [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `val` [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: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:587:17 [INFO] [stdout] | [INFO] [stdout] 587 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&[std::mem::ManuallyDrop], &[T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:587:31 [INFO] [stdout] | [INFO] [stdout] 587 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&[std::mem::ManuallyDrop], &[T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:624:17 [INFO] [stdout] | [INFO] [stdout] 624 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&mut [std::mem::ManuallyDrop], &mut [T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:624:31 [INFO] [stdout] | [INFO] [stdout] 624 | unsafe{(transmute(a), transmute(b))} [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&mut [std::mem::ManuallyDrop], &mut [T]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/circular_buffer/circular.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | &*self.buffer[self.internal_index(index)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&self.buffer[self.internal_index(index)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/circular_buffer/circular.rs:772:9 [INFO] [stdout] | [INFO] [stdout] 772 | &mut *self.buffer[self.internal_index(index)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut self.buffer[self.internal_index(index)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> src/circular_buffer/circular.rs:817:28 [INFO] [stdout] | [INFO] [stdout] 817 | buffer: unsafe{transmute(v.into_boxed_slice())}, [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::, std::boxed::Box<[std::mem::ManuallyDrop]>>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/circular_buffer/circular.rs:1184:32 [INFO] [stdout] | [INFO] [stdout] 1184 | let v = Vec::from_iter(cb.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 1184 - let v = Vec::from_iter(cb.into_iter()); [INFO] [stdout] 1184 + let v = Vec::from_iter(cb); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | &self.bound.val() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `self.bound.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/interval/bounds.rs:286:1 [INFO] [stdout] | [INFO] [stdout] 286 | / impl PartialOrd for LowerBound where T: Ord { [INFO] [stdout] 287 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 288 | | match self.val().cmp(other.val()) { [INFO] [stdout] 289 | | Greater => Some(Greater), [INFO] [stdout] ... | [INFO] [stdout] 304 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 287 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 288 - match self.val().cmp(other.val()) { [INFO] [stdout] 289 - Greater => Some(Greater), [INFO] [stdout] 290 - Less => Some(Less), [INFO] [stdout] 291 - Equal => { [INFO] [stdout] 292 - if self.is_closed() == other.is_closed() { [INFO] [stdout] 293 - Some(Equal) [INFO] [stdout] 294 - } else { [INFO] [stdout] 295 - if self.is_closed() { [INFO] [stdout] 296 - Some(Less) [INFO] [stdout] 297 - } else { [INFO] [stdout] 298 - Some(Greater) [INFO] [stdout] 299 - } [INFO] [stdout] 300 - } [INFO] [stdout] 301 - } [INFO] [stdout] 302 - } [INFO] [stdout] 303 - } [INFO] [stdout] 287 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:318:30 [INFO] [stdout] | [INFO] [stdout] 318 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:330:30 [INFO] [stdout] | [INFO] [stdout] 330 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stdout] --> src/interval/bounds.rs:347:5 [INFO] [stdout] | [INFO] [stdout] 347 | fn ne(&self, _other: &UpperBound) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stdout] = note: `#[warn(clippy::partialeq_ne_impl)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | &self.bound.val() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `self.bound.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:583:30 [INFO] [stdout] | [INFO] [stdout] 583 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/interval/bounds.rs:607:1 [INFO] [stdout] | [INFO] [stdout] 607 | / impl PartialOrd for UpperBound where T: Ord { [INFO] [stdout] 608 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 609 | | match self.val().cmp(&other.val()) { [INFO] [stdout] 610 | | Greater => Some(Greater), [INFO] [stdout] ... | [INFO] [stdout] 625 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 608 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 609 - match self.val().cmp(&other.val()) { [INFO] [stdout] 610 - Greater => Some(Greater), [INFO] [stdout] 611 - Less => Some(Less), [INFO] [stdout] 612 - Equal => { [INFO] [stdout] 613 - if self.is_closed() == other.is_closed() { [INFO] [stdout] 614 - Some(Equal) [INFO] [stdout] 615 - } else { [INFO] [stdout] 616 - if self.is_closed() { [INFO] [stdout] 617 - Some(Greater) [INFO] [stdout] 618 - } else { [INFO] [stdout] 619 - Some(Less) [INFO] [stdout] 620 - } [INFO] [stdout] 621 - } [INFO] [stdout] 622 - } [INFO] [stdout] 623 - } [INFO] [stdout] 624 - } [INFO] [stdout] 608 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:609:30 [INFO] [stdout] | [INFO] [stdout] 609 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/bounds.rs:639:30 [INFO] [stdout] | [INFO] [stdout] 639 | match self.val().cmp(&other.val()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `other.val()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stdout] --> src/interval/bounds.rs:668:5 [INFO] [stdout] | [INFO] [stdout] 668 | fn ne(&self, _other: &LowerBound) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/interval/bounds.rs:794:9 [INFO] [stdout] | [INFO] [stdout] 794 | assert_eq!(b.is_closed(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 794 - assert_eq!(b.is_closed(), true); [INFO] [stdout] 794 + assert!(b.is_closed()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/interval/bounds.rs:802:9 [INFO] [stdout] | [INFO] [stdout] 802 | assert_eq!(b.is_closed(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 802 - assert_eq!(b.is_closed(), true); [INFO] [stdout] 802 + assert!(b.is_closed()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:914:17 [INFO] [stdout] | [INFO] [stdout] 914 | assert!(!(o>6)); [INFO] [stdout] | ^^^^^^ help: try: `(o <= 6)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:918:17 [INFO] [stdout] | [INFO] [stdout] 918 | assert!(!(o>=6)); [INFO] [stdout] | ^^^^^^^ help: try: `(o < 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:920:17 [INFO] [stdout] | [INFO] [stdout] 920 | assert!(!(o<4)); [INFO] [stdout] | ^^^^^^ help: try: `(o >= 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:921:17 [INFO] [stdout] | [INFO] [stdout] 921 | assert!(!(o<5)); [INFO] [stdout] | ^^^^^^ help: try: `(o >= 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:924:17 [INFO] [stdout] | [INFO] [stdout] 924 | assert!(!(o<=4)); [INFO] [stdout] | ^^^^^^^ help: try: `(o > 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:925:17 [INFO] [stdout] | [INFO] [stdout] 925 | assert!(!(o<=5)); [INFO] [stdout] | ^^^^^^^ help: try: `(o > 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:932:17 [INFO] [stdout] | [INFO] [stdout] 932 | assert!(!(c>5)); [INFO] [stdout] | ^^^^^^ help: try: `(c <= 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:933:17 [INFO] [stdout] | [INFO] [stdout] 933 | assert!(!(c>6)); [INFO] [stdout] | ^^^^^^ help: try: `(c <= 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:937:17 [INFO] [stdout] | [INFO] [stdout] 937 | assert!(!(c>=6)); [INFO] [stdout] | ^^^^^^^ help: try: `(c < 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:939:17 [INFO] [stdout] | [INFO] [stdout] 939 | assert!(!(c<4)); [INFO] [stdout] | ^^^^^^ help: try: `(c >= 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:940:17 [INFO] [stdout] | [INFO] [stdout] 940 | assert!(!(c<5)); [INFO] [stdout] | ^^^^^^ help: try: `(c >= 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:943:17 [INFO] [stdout] | [INFO] [stdout] 943 | assert!(!(c<=4)); [INFO] [stdout] | ^^^^^^^ help: try: `(c > 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:955:17 [INFO] [stdout] | [INFO] [stdout] 955 | assert!(!(o>5)); [INFO] [stdout] | ^^^^^^ help: try: `(o <= 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:956:17 [INFO] [stdout] | [INFO] [stdout] 956 | assert!(!(o>6)); [INFO] [stdout] | ^^^^^^ help: try: `(o <= 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:959:17 [INFO] [stdout] | [INFO] [stdout] 959 | assert!(!(o>=5)); [INFO] [stdout] | ^^^^^^^ help: try: `(o < 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:960:17 [INFO] [stdout] | [INFO] [stdout] 960 | assert!(!(o>=6)); [INFO] [stdout] | ^^^^^^^ help: try: `(o < 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:962:17 [INFO] [stdout] | [INFO] [stdout] 962 | assert!(!(o<4)); [INFO] [stdout] | ^^^^^^ help: try: `(o >= 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:966:17 [INFO] [stdout] | [INFO] [stdout] 966 | assert!(!(o<=4)); [INFO] [stdout] | ^^^^^^^ help: try: `(o > 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:974:17 [INFO] [stdout] | [INFO] [stdout] 974 | assert!(!(c>5)); [INFO] [stdout] | ^^^^^^ help: try: `(c <= 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:975:17 [INFO] [stdout] | [INFO] [stdout] 975 | assert!(!(c>6)); [INFO] [stdout] | ^^^^^^ help: try: `(c <= 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:979:17 [INFO] [stdout] | [INFO] [stdout] 979 | assert!(!(c>=6)); [INFO] [stdout] | ^^^^^^^ help: try: `(c < 6)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:981:17 [INFO] [stdout] | [INFO] [stdout] 981 | assert!(!(c<4)); [INFO] [stdout] | ^^^^^^ help: try: `(c >= 4)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:982:17 [INFO] [stdout] | [INFO] [stdout] 982 | assert!(!(c<5)); [INFO] [stdout] | ^^^^^^ help: try: `(c >= 5)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/interval/bounds.rs:985:17 [INFO] [stdout] | [INFO] [stdout] 985 | assert!(!(c<=4)); [INFO] [stdout] | ^^^^^^^ help: try: `(c > 4)` [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: module has the same name as its containing module [INFO] [stdout] --> src/interval/mod.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | mod interval; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/interval/interval.rs:467:9 [INFO] [stdout] | [INFO] [stdout] 467 | / match &self.imp{ [INFO] [stdout] 468 | | None => None, [INFO] [stdout] 469 | | Some(a) => Some(a.lo.is_closed()) [INFO] [stdout] 470 | | } [INFO] [stdout] | |_________^ help: try: `self.imp.as_ref().map(|a| a.lo.is_closed())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/interval/interval.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | / match &self.imp{ [INFO] [stdout] 490 | | None => None, [INFO] [stdout] 491 | | Some(a) => Some(a.up.is_closed()) [INFO] [stdout] 492 | | } [INFO] [stdout] | |_________^ help: try: `self.imp.as_ref().map(|a| a.up.is_closed())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this binary expression can be simplified [INFO] [stdout] --> src/interval/interval.rs:512:10 [INFO] [stdout] | [INFO] [stdout] 512 | !(self > val || self < val) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self != val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stdout] = note: `#[warn(clippy::double_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/interval.rs:568:32 [INFO] [stdout] | [INFO] [stdout] 568 | !(up.is_separated_from(&olo) || oup.is_separated_from(&lo)) [INFO] [stdout] | ^^^^ help: change this to: `olo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/interval/interval.rs:568:63 [INFO] [stdout] | [INFO] [stdout] 568 | !(up.is_separated_from(&olo) || oup.is_separated_from(&lo)) [INFO] [stdout] | ^^^ help: change this to: `lo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this binary expression can be simplified [INFO] [stdout] --> src/interval/interval.rs:661:10 [INFO] [stdout] | [INFO] [stdout] 661 | !(self > other || self < other) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self != other` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Interval` which implements the `Copy` trait [INFO] [stdout] --> src/interval/interval.rs:996:24 [INFO] [stdout] | [INFO] [stdout] 996 | i.intersection(i.clone()); [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `i` [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: 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/interval/interval_cmp.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | assert!(!(o> 4)); [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/interval/interval_cmp.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | assert!(!(o < 4)); [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: 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/interval/interval_cmp.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | assert!(!(c> 3)); [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: 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/interval/interval_cmp.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | assert!(!(c> 4)); [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: 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/interval/interval_cmp.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | assert!(!(c < 5)); [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: 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/interval/interval_cmp.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | assert!(!(c < 4)); [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: 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/interval/interval_cmp.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | assert!(!(o>= 4)); [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: 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/interval/interval_cmp.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | assert!(!(o <= 4)); [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: 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/interval/interval_cmp.rs:164:17 [INFO] [stdout] | [INFO] [stdout] 164 | assert!(!(c>= 4)); [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: 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/interval/interval_cmp.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | assert!(!(c <= 4)); [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: 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/interval/interval_cmp.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | assert!(!(o>Interval::open(1,4))); [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: 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/interval/interval_cmp.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(!(c>Interval::open(1,4))); [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: 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/interval/interval_cmp.rs:186:17 [INFO] [stdout] | [INFO] [stdout] 186 | assert!(!(o>Interval::closed(1,4))); [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: 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/interval/interval_cmp.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | assert!(!(c>Interval::closed(1,3))); [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: 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/interval/interval_cmp.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | assert!(!(c>Interval::closed(1,4))); [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: 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/interval/interval_cmp.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | assert!(!(o src/interval/interval_cmp.rs:199:17 [INFO] [stdout] | [INFO] [stdout] 199 | assert!(!(c src/interval/interval_cmp.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | assert!(!(o src/interval/interval_cmp.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | assert!(!(c src/interval/interval_cmp.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | assert!(!(c src/interval/interval_cmp.rs:228:17 [INFO] [stdout] | [INFO] [stdout] 228 | assert!(!(!(c>=Interval::closed(1,3)))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(c>=Interval::closed(1,3))` [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: 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/interval/interval_cmp.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | assert!(!(o>=Interval::open(1,4))); [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: 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/interval/interval_cmp.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | assert!(!(c>=Interval::open(1,4))); [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: 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/interval/interval_cmp.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | assert!(!(o>=Interval::closed(1,4))); [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: 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/interval/interval_cmp.rs:228:18 [INFO] [stdout] | [INFO] [stdout] 228 | assert!(!(!(c>=Interval::closed(1,3)))); [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: 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/interval/interval_cmp.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | assert!(!(c>=Interval::closed(1,4))); [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: 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/interval/interval_cmp.rs:234:17 [INFO] [stdout] | [INFO] [stdout] 234 | assert!(!(o<=Interval::open(4,7))); [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: 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/interval/interval_cmp.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | assert!(!(c<=Interval::open(4,7))); [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: 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/interval/interval_cmp.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | assert!(!(o<=Interval::closed(4,7))); [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: 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/interval/interval_cmp.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | assert!(!(c<=Interval::closed(4,7))); [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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/circular_buffer/circular.rs:388:17 [INFO] [stdout] | [INFO] [stdout] 388 | 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] 388 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.95s [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/circular_buffer/circular.rs:411:21 [INFO] [stdout] | [INFO] [stdout] 411 | 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] 411 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/circular_buffer/circular.rs:457:18 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn drain(&mut self) -> Drain{ [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] 457 | pub fn drain(&mut self) -> Drain<'_, T>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "353fea29f476cd7354dfe39e1daa3605cac77df35da3df758151afa605d0f89d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "353fea29f476cd7354dfe39e1daa3605cac77df35da3df758151afa605d0f89d", kill_on_drop: false }` [INFO] [stdout] 353fea29f476cd7354dfe39e1daa3605cac77df35da3df758151afa605d0f89d