[INFO] cloning repository https://github.com/SuccessfullyFailed/lib_export_generator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SuccessfullyFailed/lib_export_generator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSuccessfullyFailed%2Flib_export_generator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSuccessfullyFailed%2Flib_export_generator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e471239e66cb3d6ccc42ff3e152d08e375dee394 [INFO] linting SuccessfullyFailed/lib_export_generator against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSuccessfullyFailed%2Flib_export_generator" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/SuccessfullyFailed/lib_export_generator [INFO] finished tweaking git repo https://github.com/SuccessfullyFailed/lib_export_generator [INFO] tweaked toml for git repo https://github.com/SuccessfullyFailed/lib_export_generator written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/SuccessfullyFailed/lib_export_generator on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/SuccessfullyFailed/lib_export_generator already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/SuccessfullyFailed/glyph_kit.git` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 26de0fa0e8075544267ed30a034504da69b4f9ab797e30d37727ecd6b7e03f29 [INFO] running `Command { std: "docker" "start" "-a" "26de0fa0e8075544267ed30a034504da69b4f9ab797e30d37727ecd6b7e03f29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "26de0fa0e8075544267ed30a034504da69b4f9ab797e30d37727ecd6b7e03f29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26de0fa0e8075544267ed30a034504da69b4f9ab797e30d37727ecd6b7e03f29", kill_on_drop: false }` [INFO] [stdout] 26de0fa0e8075544267ed30a034504da69b4f9ab797e30d37727ecd6b7e03f29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] cb76ac9c4890ac5a2c60f01d3c5ad0734c9241284fa029ed59971af12f2304ab [INFO] running `Command { std: "docker" "start" "-a" "cb76ac9c4890ac5a2c60f01d3c5ad0734c9241284fa029ed59971af12f2304ab", kill_on_drop: false }` [INFO] [stderr] Checking cachew v0.1.0 (https://github.com/SuccessfullyFailed/cachew.git#03854d37) [INFO] [stderr] Checking glyph_kit v0.1.0 (https://github.com/SuccessfullyFailed/glyph_kit.git#ad8a33ac) [INFO] [stderr] Checking file_ref v0.1.0 (https://github.com/SuccessfullyFailed/file_ref.git#96dce720) [INFO] [stderr] Checking crate_manager v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: method `recursive_imports` is never used [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:114:16 [INFO] [stdout] | [INFO] [stdout] 15 | impl ItemImportExportUpdater { [INFO] [stdout] | ---------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub(crate) fn recursive_imports(&self) -> Vec<&Import> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | self.sub_finders.iter().map(|finder| finder.recursive_exports()).flatten().collect::)>>() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|finder| finder.recursive_exports())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:117:28 [INFO] [stdout] | [INFO] [stdout] 117 | self.sub_finders.iter().map(|finder| finder.recursive_imports()).flatten().collect::>() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|finder| finder.recursive_imports())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | let mut item_exports:Vec<(String, [(PubType, Vec); 3])> = Vec::new(); [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: consider using `sort_by_key` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:146:3 [INFO] [stdout] | [INFO] [stdout] 146 | item_exports.sort_by(|a, b| b.0.len().cmp(&a.0.len())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 146 - item_exports.sort_by(|a, b| b.0.len().cmp(&a.0.len())); [INFO] [stdout] 146 + item_exports.sort_by_key(|b| std::cmp::Reverse(b.0.len())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:163:35 [INFO] [stdout] | [INFO] [stdout] 163 | .filter(|(pub_type, items)| !items.is_empty() && !(pub_type == &PubType::Super && self.is_mod_file)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(items.is_empty() || pub_type == &PubType::Super && self.is_mod_file)` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:164:98 [INFO] [stdout] | [INFO] [stdout] 164 | ...; // {}", pub_type.to_str(), mod_name, items.into_iter().map(|export| export.identifier.clone()).collect::>().join("... [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_parser.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | if (first_char >= 'A' as u8 && first_char < 'z' as u8) || first_char == '_' as u8 { [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_parser.rs:25:50 [INFO] [stdout] | [INFO] [stdout] 25 | if (first_char >= 'A' as u8 && first_char < 'z' as u8) || first_char == '_' as u8 { [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'z'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_parser.rs:25:78 [INFO] [stdout] | [INFO] [stdout] 25 | if (first_char >= 'A' as u8 && first_char < 'z' as u8) || first_char == '_' as u8 { [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'_'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/library_imports/library_imports_updater.rs:50:74 [INFO] [stdout] | [INFO] [stdout] 50 | ...ames.iter().filter(|name| *name != &own_crate_name && !INVALID_LIB_NAMES.contains(name) && !existing_imports.iter().any(|existing... [INFO] [stdout] | ^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `own_crate_name` [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/library_imports/library_imports_updater.rs:53:65 [INFO] [stdout] | [INFO] [stdout] 53 | ...rary> = missing_imports.iter().map(|name| available_libraries.find(name)).flatten().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `filter_map` and remove the `.flatten()`: `filter_map(|name| available_libraries.find(name))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | self.sub_finders.iter().map(|finder| finder.recursive_exports()).flatten().collect::)>>() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|finder| finder.recursive_exports())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:117:28 [INFO] [stdout] | [INFO] [stdout] 117 | self.sub_finders.iter().map(|finder| finder.recursive_imports()).flatten().collect::>() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|finder| finder.recursive_imports())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | let mut item_exports:Vec<(String, [(PubType, Vec); 3])> = Vec::new(); [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: consider using `sort_by_key` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:146:3 [INFO] [stdout] | [INFO] [stdout] 146 | item_exports.sort_by(|a, b| b.0.len().cmp(&a.0.len())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 146 - item_exports.sort_by(|a, b| b.0.len().cmp(&a.0.len())); [INFO] [stdout] 146 + item_exports.sort_by_key(|b| std::cmp::Reverse(b.0.len())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:163:35 [INFO] [stdout] | [INFO] [stdout] 163 | .filter(|(pub_type, items)| !items.is_empty() && !(pub_type == &PubType::Super && self.is_mod_file)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(items.is_empty() || pub_type == &PubType::Super && self.is_mod_file)` [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 `.into_iter()` call is equivalent to `.iter()` and will not consume the `Vec` [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_updater.rs:164:98 [INFO] [stdout] | [INFO] [stdout] 164 | ...; // {}", pub_type.to_str(), mod_name, items.into_iter().map(|export| export.identifier.clone()).collect::>().join("... [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_parser.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | if (first_char >= 'A' as u8 && first_char < 'z' as u8) || first_char == '_' as u8 { [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_parser.rs:25:50 [INFO] [stdout] | [INFO] [stdout] 25 | if (first_char >= 'A' as u8 && first_char < 'z' as u8) || first_char == '_' as u8 { [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'z'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/item_imports_and_exports/item_import_export_parser.rs:25:78 [INFO] [stdout] | [INFO] [stdout] 25 | if (first_char >= 'A' as u8 && first_char < 'z' as u8) || first_char == '_' as u8 { [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'_'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/library_imports/library_imports_updater.rs:50:74 [INFO] [stdout] | [INFO] [stdout] 50 | ...ames.iter().filter(|name| *name != &own_crate_name && !INVALID_LIB_NAMES.contains(name) && !existing_imports.iter().any(|existing... [INFO] [stdout] | ^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `own_crate_name` [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/library_imports/library_imports_updater.rs:53:65 [INFO] [stdout] | [INFO] [stdout] 53 | ...rary> = missing_imports.iter().map(|name| available_libraries.find(name)).flatten().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `filter_map` and remove the `.flatten()`: `filter_map(|name| available_libraries.find(name))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.95s [INFO] running `Command { std: "docker" "inspect" "cb76ac9c4890ac5a2c60f01d3c5ad0734c9241284fa029ed59971af12f2304ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cb76ac9c4890ac5a2c60f01d3c5ad0734c9241284fa029ed59971af12f2304ab", kill_on_drop: false }` [INFO] [stdout] cb76ac9c4890ac5a2c60f01d3c5ad0734c9241284fa029ed59971af12f2304ab