[INFO] fetching crate wolfram-app-discovery 0.4.9... [INFO] linting wolfram-app-discovery-0.4.9 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate wolfram-app-discovery 0.4.9 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate wolfram-app-discovery 0.4.9 [INFO] finished tweaking crates.io crate wolfram-app-discovery 0.4.9 [INFO] tweaked toml for crates.io crate wolfram-app-discovery 0.4.9 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate wolfram-app-discovery 0.4.9 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 crates.io crate wolfram-app-discovery 0.4.9 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] Downloading crates ... [INFO] [stderr] Downloaded clap-markdown v0.1.3 [INFO] [stderr] Downloaded clap v4.1.4 [INFO] [stderr] Downloaded clap_lex v0.3.1 [INFO] [stderr] Downloaded once_cell v1.13.0 [INFO] [stderr] Downloaded rustix v0.36.7 [INFO] [stderr] Downloaded is-terminal v0.4.2 [INFO] [stderr] Downloaded clap_derive v4.1.0 [INFO] [stderr] Downloaded io-lifetimes v1.0.4 [INFO] [stderr] Downloaded windows v0.32.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] d2d5afd05335b41e87e0365cf5f2d61d3d1e102f8c6871dab800eb806d0cced0 [INFO] running `Command { std: "docker" "start" "-a" "d2d5afd05335b41e87e0365cf5f2d61d3d1e102f8c6871dab800eb806d0cced0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d2d5afd05335b41e87e0365cf5f2d61d3d1e102f8c6871dab800eb806d0cced0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2d5afd05335b41e87e0365cf5f2d61d3d1e102f8c6871dab800eb806d0cced0", kill_on_drop: false }` [INFO] [stdout] d2d5afd05335b41e87e0365cf5f2d61d3d1e102f8c6871dab800eb806d0cced0 [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] b09c056be5395335399771378521e58434dc70a6f2babcacd7f3f21879f1ab2c [INFO] running `Command { std: "docker" "start" "-a" "b09c056be5395335399771378521e58434dc70a6f2babcacd7f3f21879f1ab2c", kill_on_drop: false }` [INFO] [stderr] Compiling wolfram-app-discovery v0.4.9 (/opt/rustwide/workdir) [INFO] [stdout] warning: item has both inner and outer attributes [INFO] [stdout] --> src/lib.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | / #[doc(hidden)] [INFO] [stdout] 62 | | mod test_readme { [INFO] [stdout] 63 | | // Ensure that doc tests in the README.md file get run. [INFO] [stdout] 64 | | #![doc = include_str!("../README.md")] [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mixed_attributes_style [INFO] [stdout] = note: `#[warn(clippy::mixed_attributes_style)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: item has both inner and outer attributes [INFO] [stdout] --> src/lib.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | / #[doc(hidden)] [INFO] [stdout] 62 | | mod test_readme { [INFO] [stdout] 63 | | // Ensure that doc tests in the README.md file get run. [INFO] [stdout] 64 | | #![doc = include_str!("../README.md")] [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mixed_attributes_style [INFO] [stdout] = note: `#[warn(clippy::mixed_attributes_style)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | return Ok(Discovery::App(path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 207 - return Ok(Discovery::App(path)); [INFO] [stdout] 207 + Ok(Discovery::App(path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | return Ok(discovery); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 228 - return Ok(discovery); [INFO] [stdout] 228 + Ok(discovery) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | return Ok(Discovery::App(path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 256 - return Ok(Discovery::App(path)); [INFO] [stdout] 256 + Ok(Discovery::App(path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | return Ok(discovery); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 278 - return Ok(discovery); [INFO] [stdout] 278 + Ok(discovery) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `Error` [INFO] [stdout] --> src/build_scripts.rs:262:27 [INFO] [stdout] | [INFO] [stdout] 262 | let err = Error::unexpected_env_layout( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 263 | | "WSTP static library file", [INFO] [stdout] 264 | | variable, [INFO] [stdout] 265 | | path, [INFO] [stdout] ... | [INFO] [stdout] 268 | | .into(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [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 `.into()` [INFO] [stdout] | [INFO] [stdout] 262 ~ let err = Error::unexpected_env_layout( [INFO] [stdout] 263 + "WSTP static library file", [INFO] [stdout] 264 + variable, [INFO] [stdout] 265 + path, [INFO] [stdout] 266 + static_lib_path, [INFO] [stdout] 267 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/os/linux.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | for app_type_dir in fs::read_dir(&apps_dir)? { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `apps_dir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/os/linux.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | app_directory: &PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 128 ~ app_directory: &Path, [INFO] [stdout] 129 | ) -> Result<(WolframAppType, AppVersion), Error> { [INFO] [stdout] ... [INFO] [stdout] 138 | "LICENSE.txt file", [INFO] [stdout] 139 ~ app_directory.to_path_buf(), [INFO] [stdout] 140 | license_txt, [INFO] [stdout] ... [INFO] [stdout] 168 | "WolframKernel executable", [INFO] [stdout] 169 ~ app_directory.to_path_buf(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/os/linux.rs:181:37 [INFO] [stdout] | [INFO] [stdout] 181 | return Err(Error::other(format!( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 182 | | "Unable to parse app version from WolframKernel: unexpected file contents" [INFO] [stdout] 183 | | ))) [INFO] [stdout] | |_____________^ help: consider using `.to_string()`: `"Unable to parse app version from WolframKernel: unexpected file contents".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | return Ok(Discovery::App(path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 207 - return Ok(Discovery::App(path)); [INFO] [stdout] 207 + Ok(Discovery::App(path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | return Ok(discovery); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 228 - return Ok(discovery); [INFO] [stdout] 228 + Ok(discovery) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | return Ok(Discovery::App(path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 256 - return Ok(Discovery::App(path)); [INFO] [stdout] 256 + Ok(Discovery::App(path)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build_scripts.rs:278:13 [INFO] [stdout] | [INFO] [stdout] 278 | return Ok(discovery); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 278 - return Ok(discovery); [INFO] [stdout] 278 + Ok(discovery) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `Error` [INFO] [stdout] --> src/build_scripts.rs:262:27 [INFO] [stdout] | [INFO] [stdout] 262 | let err = Error::unexpected_env_layout( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 263 | | "WSTP static library file", [INFO] [stdout] 264 | | variable, [INFO] [stdout] 265 | | path, [INFO] [stdout] ... | [INFO] [stdout] 268 | | .into(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [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 `.into()` [INFO] [stdout] | [INFO] [stdout] 262 ~ let err = Error::unexpected_env_layout( [INFO] [stdout] 263 + "WSTP static library file", [INFO] [stdout] 264 + variable, [INFO] [stdout] 265 + path, [INFO] [stdout] 266 + static_lib_path, [INFO] [stdout] 267 ~ ); [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:417:40 [INFO] [stdout] | [INFO] [stdout] 417 | apps.retain(|app| filter.check_app(&app).is_ok()); [INFO] [stdout] | ^^^^ help: change this to: `app` [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: useless conversion to the same type: `&str` [INFO] [stdout] --> src/build_scripts.rs:339:40 [INFO] [stdout] | [INFO] [stdout] 339 | environment_variable: Some("WSTP_COMPILER_ADDITIONS_DIRECTORY".into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"WSTP_COMPILER_ADDITIONS_DIRECTORY"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `&str` [INFO] [stdout] --> src/build_scripts.rs:350:28 [INFO] [stdout] | [INFO] [stdout] 350 | resource_name: "wstp.h C header file".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"wstp.h C header file"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `&str` [INFO] [stdout] --> src/build_scripts.rs:351:22 [INFO] [stdout] | [INFO] [stdout] 351 | env_var: "WSTP_COMPILER_ADDITIONS_DIRECTORY".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `"WSTP_COMPILER_ADDITIONS_DIRECTORY"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/os/linux.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | for app_type_dir in fs::read_dir(&apps_dir)? { [INFO] [stdout] | ^^^^^^^^^ help: change this to: `apps_dir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/os/linux.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | app_directory: &PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 128 ~ app_directory: &Path, [INFO] [stdout] 129 | ) -> Result<(WolframAppType, AppVersion), Error> { [INFO] [stdout] ... [INFO] [stdout] 138 | "LICENSE.txt file", [INFO] [stdout] 139 ~ app_directory.to_path_buf(), [INFO] [stdout] 140 | license_txt, [INFO] [stdout] ... [INFO] [stdout] 168 | "WolframKernel executable", [INFO] [stdout] 169 ~ app_directory.to_path_buf(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/os/linux.rs:181:37 [INFO] [stdout] | [INFO] [stdout] 181 | return Err(Error::other(format!( [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 182 | | "Unable to parse app version from WolframKernel: unexpected file contents" [INFO] [stdout] 183 | | ))) [INFO] [stdout] | |_____________^ help: consider using `.to_string()`: `"Unable to parse app version from WolframKernel: unexpected file contents".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1061:16 [INFO] [stdout] | [INFO] [stdout] 1061 | if !filter.check_app(&app).is_err() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `filter.check_app(&app).is_ok()` [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 `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/lib.rs:1127:20 [INFO] [stdout] | [INFO] [stdout] 1127 | if location.iter().last().unwrap() != "Contents" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1127 - if location.iter().last().unwrap() != "Contents" { [INFO] [stdout] 1127 + if location.iter().next_back().unwrap() != "Contents" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/lib.rs:1398:30 [INFO] [stdout] | [INFO] [stdout] 1398 | Error::other(format!("unable to locate WSTP SDK for current target")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"unable to locate WSTP SDK for current target".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:1627:57 [INFO] [stdout] | [INFO] [stdout] 1627 | if let Err(err) = Command::new(&wolframscript).args(&["-h"]).output() { [INFO] [stdout] | ^^^^^^^ help: change this to: `["-h"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:417:40 [INFO] [stdout] | [INFO] [stdout] 417 | apps.retain(|app| filter.check_app(&app).is_ok()); [INFO] [stdout] | ^^^^ help: change this to: `app` [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/lib.rs:1061:16 [INFO] [stdout] | [INFO] [stdout] 1061 | if !filter.check_app(&app).is_err() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `filter.check_app(&app).is_ok()` [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 `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/lib.rs:1127:20 [INFO] [stdout] | [INFO] [stdout] 1127 | if location.iter().last().unwrap() != "Contents" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1127 - if location.iter().last().unwrap() != "Contents" { [INFO] [stdout] 1127 + if location.iter().next_back().unwrap() != "Contents" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/lib.rs:1398:30 [INFO] [stdout] | [INFO] [stdout] 1398 | Error::other(format!("unable to locate WSTP SDK for current target")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"unable to locate WSTP SDK for current target".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:1627:57 [INFO] [stdout] | [INFO] [stdout] 1627 | if let Err(err) = Command::new(&wolframscript).args(&["-h"]).output() { [INFO] [stdout] | ^^^^^^^ help: change this to: `["-h"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> tests/main.rs:32:30 [INFO] [stdout] | [INFO] [stdout] 32 | let engine: WolframApp = discover() [INFO] [stdout] | ______________________________^ [INFO] [stdout] 33 | | .into_iter() [INFO] [stdout] 34 | | .filter(|app: &WolframApp| app.app_type() == WolframAppType::Engine) [INFO] [stdout] 35 | | .next() [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] = note: `#[warn(clippy::filter_next)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 32 ~ let engine: WolframApp = discover() [INFO] [stdout] 33 + .into_iter().find(|app: &WolframApp| app.app_type() == WolframAppType::Engine) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead [INFO] [stdout] --> tests/main.rs:49:30 [INFO] [stdout] | [INFO] [stdout] 49 | let engine: WolframApp = discover() [INFO] [stdout] | ______________________________^ [INFO] [stdout] 50 | | .into_iter() [INFO] [stdout] 51 | | .filter(|app: &WolframApp| app.app_type() == WolframAppType::Engine) [INFO] [stdout] 52 | | .next() [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 49 ~ let engine: WolframApp = discover() [INFO] [stdout] 50 + .into_iter().find(|app: &WolframApp| app.app_type() == WolframAppType::Engine) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.78s [INFO] running `Command { std: "docker" "inspect" "b09c056be5395335399771378521e58434dc70a6f2babcacd7f3f21879f1ab2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b09c056be5395335399771378521e58434dc70a6f2babcacd7f3f21879f1ab2c", kill_on_drop: false }` [INFO] [stdout] b09c056be5395335399771378521e58434dc70a6f2babcacd7f3f21879f1ab2c