[INFO] fetching crate vec_map 0.8.2... [INFO] linting vec_map-0.8.2 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate vec_map 0.8.2 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate vec_map 0.8.2 [INFO] finished tweaking crates.io crate vec_map 0.8.2 [INFO] tweaked toml for crates.io crate vec_map 0.8.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate vec_map 0.8.2 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 7 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 06fc5e66121f691282f28e7d43324a511068c3eb18f596b5843608f54ba65f4f [INFO] running `Command { std: "docker" "start" "-a" "06fc5e66121f691282f28e7d43324a511068c3eb18f596b5843608f54ba65f4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "06fc5e66121f691282f28e7d43324a511068c3eb18f596b5843608f54ba65f4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06fc5e66121f691282f28e7d43324a511068c3eb18f596b5843608f54ba65f4f", kill_on_drop: false }` [INFO] [stdout] 06fc5e66121f691282f28e7d43324a511068c3eb18f596b5843608f54ba65f4f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9134e9a5ff7891b6a698acad72df74dbf46d8ea28e085ae2e8d51352a76c50fe [INFO] running `Command { std: "docker" "start" "-a" "9134e9a5ff7891b6a698acad72df74dbf46d8ea28e085ae2e8d51352a76c50fe", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Checking vec_map v0.8.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:1010:34 [INFO] [stdout] | [INFO] [stdout] 1010 | fn next(&mut self) -> Option<(&'a V)> { self.iter.next().map(|e| e.1) } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1010 - fn next(&mut self) -> Option<(&'a V)> { self.iter.next().map(|e| e.1) } [INFO] [stdout] 1010 + fn next(&mut self) -> Option<&'a V> { self.iter.next().map(|e| e.1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:1017:39 [INFO] [stdout] | [INFO] [stdout] 1017 | fn next_back(&mut self) -> Option<(&'a V)> { self.iter.next_back().map(|e| e.1) } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1017 - fn next_back(&mut self) -> Option<(&'a V)> { self.iter.next_back().map(|e| e.1) } [INFO] [stdout] 1017 + fn next_back(&mut self) -> Option<&'a V> { self.iter.next_back().map(|e| e.1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:1023:34 [INFO] [stdout] | [INFO] [stdout] 1023 | fn next(&mut self) -> Option<(&'a mut V)> { self.iter_mut.next().map(|e| e.1) } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1023 - fn next(&mut self) -> Option<(&'a mut V)> { self.iter_mut.next().map(|e| e.1) } [INFO] [stdout] 1023 + fn next(&mut self) -> Option<&'a mut V> { self.iter_mut.next().map(|e| e.1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:1010:34 [INFO] [stdout] | [INFO] [stdout] 1010 | fn next(&mut self) -> Option<(&'a V)> { self.iter.next().map(|e| e.1) } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1010 - fn next(&mut self) -> Option<(&'a V)> { self.iter.next().map(|e| e.1) } [INFO] [stdout] 1010 + fn next(&mut self) -> Option<&'a V> { self.iter.next().map(|e| e.1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:1017:39 [INFO] [stdout] | [INFO] [stdout] 1017 | fn next_back(&mut self) -> Option<(&'a V)> { self.iter.next_back().map(|e| e.1) } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1017 - fn next_back(&mut self) -> Option<(&'a V)> { self.iter.next_back().map(|e| e.1) } [INFO] [stdout] 1017 + fn next_back(&mut self) -> Option<&'a V> { self.iter.next_back().map(|e| e.1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/lib.rs:1023:34 [INFO] [stdout] | [INFO] [stdout] 1023 | fn next(&mut self) -> Option<(&'a mut V)> { self.iter_mut.next().map(|e| e.1) } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1023 - fn next(&mut self) -> Option<(&'a mut V)> { self.iter_mut.next().map(|e| e.1) } [INFO] [stdout] 1023 + fn next(&mut self) -> Option<&'a mut V> { self.iter_mut.next().map(|e| e.1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:410:21 [INFO] [stdout] | [INFO] [stdout] 410 | let filter: fn((usize, Option)) -> Option<(usize, V)> = filter; // coerce to fn ptr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing an `Option` with `Some(..)` [INFO] [stdout] --> src/lib.rs:542:19 [INFO] [stdout] | [INFO] [stdout] 542 | let was = replace(&mut self.v[key], Some(value)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Option::replace()` instead: `self.v[key].replace(value)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_some [INFO] [stdout] = note: `#[warn(clippy::mem_replace_option_with_some)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:822:6 [INFO] [stdout] | [INFO] [stdout] 822 | impl<'a, V> Index<&'a usize> for VecMap { [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] 822 - impl<'a, V> Index<&'a usize> for VecMap { [INFO] [stdout] 822 + impl Index<&usize> for VecMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:838:6 [INFO] [stdout] | [INFO] [stdout] 838 | impl<'a, V> IndexMut<&'a usize> for VecMap { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 838 - impl<'a, V> IndexMut<&'a usize> for VecMap { [INFO] [stdout] 838 + impl IndexMut<&usize> for VecMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:976:11 [INFO] [stdout] | [INFO] [stdout] 976 | iter: FilterMap< [INFO] [stdout] | ___________^ [INFO] [stdout] 977 | | Enumerate>>, [INFO] [stdout] 978 | | fn((usize, Option)) -> Option<(usize, V)>> [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn keys(&self) -> Keys { [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] 217 | pub fn keys(&self) -> Keys<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn values(&self) -> Values { [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] 223 | pub fn values(&self) -> Values<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:229:23 [INFO] [stdout] | [INFO] [stdout] 229 | pub fn values_mut(&mut self) -> ValuesMut { [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] 229 | pub fn values_mut(&mut self) -> ValuesMut<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | 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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 251 | pub fn iter(&self) -> Iter<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:283:21 [INFO] [stdout] | [INFO] [stdout] 283 | 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] 283 | pub fn iter_mut(&mut self) -> IterMut<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:406:18 [INFO] [stdout] | [INFO] [stdout] 406 | 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] 406 | pub fn drain(&mut self) -> Drain<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:590:18 [INFO] [stdout] | [INFO] [stdout] 590 | pub fn entry(&mut self, key: usize) -> Entry { [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] 590 | pub fn entry(&mut self, key: usize) -> Entry<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:410:21 [INFO] [stdout] | [INFO] [stdout] 410 | let filter: fn((usize, Option)) -> Option<(usize, V)> = filter; // coerce to fn ptr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing an `Option` with `Some(..)` [INFO] [stdout] --> src/lib.rs:542:19 [INFO] [stdout] | [INFO] [stdout] 542 | let was = replace(&mut self.v[key], Some(value)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Option::replace()` instead: `self.v[key].replace(value)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_some [INFO] [stdout] = note: `#[warn(clippy::mem_replace_option_with_some)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:822:6 [INFO] [stdout] | [INFO] [stdout] 822 | impl<'a, V> Index<&'a usize> for VecMap { [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] 822 - impl<'a, V> Index<&'a usize> for VecMap { [INFO] [stdout] 822 + impl Index<&usize> for VecMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/lib.rs:838:6 [INFO] [stdout] | [INFO] [stdout] 838 | impl<'a, V> IndexMut<&'a usize> for VecMap { [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] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 838 - impl<'a, V> IndexMut<&'a usize> for VecMap { [INFO] [stdout] 838 + impl IndexMut<&usize> for VecMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:976:11 [INFO] [stdout] | [INFO] [stdout] 976 | iter: FilterMap< [INFO] [stdout] | ___________^ [INFO] [stdout] 977 | | Enumerate>>, [INFO] [stdout] 978 | | fn((usize, Option)) -> Option<(usize, V)>> [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1420:17 [INFO] [stdout] | [INFO] [stdout] 1420 | assert!(!b.insert(0, 5).is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b.insert(0, 5).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1435:17 [INFO] [stdout] | [INFO] [stdout] 1435 | assert!(!(a < b) && !(b < a)); [INFO] [stdout] | ^^^^^^^^ help: try: `(a >= b)` [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/lib.rs:1435:29 [INFO] [stdout] | [INFO] [stdout] 1435 | assert!(!(a < b) && !(b < a)); [INFO] [stdout] | ^^^^^^^^ help: try: `(b >= a)` [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/lib.rs:1439:17 [INFO] [stdout] | [INFO] [stdout] 1439 | assert!(!(a < b) && b < a); [INFO] [stdout] | ^^^^^^^^ help: try: `(a >= b)` [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/lib.rs:1445:26 [INFO] [stdout] | [INFO] [stdout] 1445 | assert!(a < b && !(b < a)); [INFO] [stdout] | ^^^^^^^^ help: try: `(b >= a)` [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 binary expression can be simplified [INFO] [stdout] --> src/lib.rs:1453:17 [INFO] [stdout] | [INFO] [stdout] 1453 | assert!(a <= b && a >= b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `a == b` [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: statement with no effect [INFO] [stdout] --> src/lib.rs:1521:9 [INFO] [stdout] | [INFO] [stdout] 1521 | map[4]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect [INFO] [stdout] = note: `#[warn(clippy::no_effect)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn keys(&self) -> Keys { [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] 217 | pub fn keys(&self) -> Keys<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn values(&self) -> Values { [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] 223 | pub fn values(&self) -> Values<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:229:23 [INFO] [stdout] | [INFO] [stdout] 229 | pub fn values_mut(&mut self) -> ValuesMut { [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] 229 | pub fn values_mut(&mut self) -> ValuesMut<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | 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] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 251 | pub fn iter(&self) -> Iter<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:283:21 [INFO] [stdout] | [INFO] [stdout] 283 | 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] 283 | pub fn iter_mut(&mut self) -> IterMut<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:406:18 [INFO] [stdout] | [INFO] [stdout] 406 | 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] 406 | pub fn drain(&mut self) -> Drain<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:590:18 [INFO] [stdout] | [INFO] [stdout] 590 | pub fn entry(&mut self, key: usize) -> Entry { [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] 590 | pub fn entry(&mut self, key: usize) -> Entry<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.50s [INFO] running `Command { std: "docker" "inspect" "9134e9a5ff7891b6a698acad72df74dbf46d8ea28e085ae2e8d51352a76c50fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9134e9a5ff7891b6a698acad72df74dbf46d8ea28e085ae2e8d51352a76c50fe", kill_on_drop: false }` [INFO] [stdout] 9134e9a5ff7891b6a698acad72df74dbf46d8ea28e085ae2e8d51352a76c50fe