[INFO] fetching crate linear_collections 0.3.0... [INFO] linting linear_collections-0.3.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate linear_collections 0.3.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate linear_collections 0.3.0 [INFO] finished tweaking crates.io crate linear_collections 0.3.0 [INFO] tweaked toml for crates.io crate linear_collections 0.3.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate linear_collections 0.3.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 29 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] Downloading crates ... [INFO] [stderr] Downloaded linear_collections_macros v0.1.0 [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] bff8d9ddce0082b8687dc89a791e20dfce3c16849c31a3d4c84a510e069d15ff [INFO] running `Command { std: "docker" "start" "-a" "bff8d9ddce0082b8687dc89a791e20dfce3c16849c31a3d4c84a510e069d15ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bff8d9ddce0082b8687dc89a791e20dfce3c16849c31a3d4c84a510e069d15ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bff8d9ddce0082b8687dc89a791e20dfce3c16849c31a3d4c84a510e069d15ff", kill_on_drop: false }` [INFO] [stdout] bff8d9ddce0082b8687dc89a791e20dfce3c16849c31a3d4c84a510e069d15ff [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] 8d4cc4bba690c14179de391eed5c25d93130dd4799769f07b15f44d378512a1c [INFO] running `Command { std: "docker" "start" "-a" "8d4cc4bba690c14179de391eed5c25d93130dd4799769f07b15f44d378512a1c", kill_on_drop: false }` [INFO] [stderr] Checking winnow v1.0.0 [INFO] [stderr] Compiling target-triple v1.0.0 [INFO] [stderr] Checking toml_writer v1.0.7+spec-1.1.0 [INFO] [stderr] Checking linear_collections v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking toml_datetime v1.0.1+spec-1.1.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stdout] warning: unused imports: `ArrayMap` and `LinearMap` [INFO] [stdout] --> src/array/test.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{ArrayMap, LinearMap}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::LinearMap` [INFO] [stdout] --> src/test/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::LinearMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::VecMap` [INFO] [stdout] --> src/test/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::VecMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/lib.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | mod test; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/array/map.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub const unsafe fn from_array_unchecked(array: [(K, V); LENGTH]) -> ArrayMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/vec/map.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub const unsafe fn from_vec_unchecked(vector: Vec<(K, V)>) -> VecMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/vec/set.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub const unsafe fn from_map_unchecked(map: VecMap) -> VecSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/vec/set.rs:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | self.map.remove_entry(&value).map(|(t, _)| t) [INFO] [stdout] | ^^^^^^ help: change this to: `value` [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] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lib.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | / self.as_mut_slice() [INFO] [stdout] 122 | | .iter_mut() [INFO] [stdout] 123 | | .find(|(k, _)| k == key) [INFO] [stdout] 124 | | .map(|(_, v)| *v = value); [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 121 ~ if let Some((_, v)) = self.as_mut_slice() [INFO] [stdout] 122 + .iter_mut() [INFO] [stdout] 123 + .find(|(k, _)| k == key) { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:139:45 [INFO] [stdout] | [INFO] [stdout] 139 | iter.for_each(|(k, v)| self.replace(&k, v.clone().to_owned())) [INFO] [stdout] | ^^ help: change this to: `k` [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] [stderr] Checking toml_parser v1.0.10+spec-1.1.0 [INFO] [stderr] Checking toml v1.0.7+spec-1.1.0 [INFO] [stderr] Checking trybuild v1.0.116 [INFO] [stdout] warning: unused import: `LinearMap` [INFO] [stdout] --> src/array/test.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{ArrayMap, LinearMap}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/array/map.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub const unsafe fn from_array_unchecked(array: [(K, V); LENGTH]) -> ArrayMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/array/test.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | assert_eq!(foo(), false); [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] 27 - assert_eq!(foo(), false); [INFO] [stdout] 27 + assert!(!foo()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/vec/map.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub const unsafe fn from_vec_unchecked(vector: Vec<(K, V)>) -> VecMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/vec/set.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub const unsafe fn from_map_unchecked(map: VecMap) -> VecSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/vec/set.rs:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | self.map.remove_entry(&value).map(|(t, _)| t) [INFO] [stdout] | ^^^^^^ help: change this to: `value` [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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/test/mod.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | assert!(!m.insert(1, 3).is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `m.insert(1, 3).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/lib.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | / self.as_mut_slice() [INFO] [stdout] 122 | | .iter_mut() [INFO] [stdout] 123 | | .find(|(k, _)| k == key) [INFO] [stdout] 124 | | .map(|(_, v)| *v = value); [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 121 ~ if let Some((_, v)) = self.as_mut_slice() [INFO] [stdout] 122 + .iter_mut() [INFO] [stdout] 123 + .find(|(k, _)| k == key) { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:139:45 [INFO] [stdout] | [INFO] [stdout] 139 | iter.for_each(|(k, v)| self.replace(&k, v.clone().to_owned())) [INFO] [stdout] | ^^ help: change this to: `k` [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: useless use of `vec!` [INFO] [stdout] --> src/test/mod.rs:224:13 [INFO] [stdout] | [INFO] [stdout] 224 | let v = vec![(0, "A"), (1, "B'"), (2, "C"), (3, "D")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[(0, "A"), (1, "B'"), (2, "C"), (3, "D")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.26s [INFO] running `Command { std: "docker" "inspect" "8d4cc4bba690c14179de391eed5c25d93130dd4799769f07b15f44d378512a1c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d4cc4bba690c14179de391eed5c25d93130dd4799769f07b15f44d378512a1c", kill_on_drop: false }` [INFO] [stdout] 8d4cc4bba690c14179de391eed5c25d93130dd4799769f07b15f44d378512a1c