[INFO] fetching crate hyprsession 0.2.1-1... [INFO] linting hyprsession-0.2.1-1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate hyprsession 0.2.1-1 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate hyprsession 0.2.1-1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate hyprsession 0.2.1-1 [INFO] tweaked toml for crates.io crate hyprsession 0.2.1-1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate hyprsession 0.2.1-1 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 hyprsession 0.2.1-1 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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hyprland-macros v0.4.0-beta.3 [INFO] [stderr] Downloaded hyprland v0.4.0-beta.3 [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] 3e0f61833e2aa471537ea7033bc1a6c399bd4ad29be4041ca74f8bda403e97b3 [INFO] running `Command { std: "docker" "start" "-a" "3e0f61833e2aa471537ea7033bc1a6c399bd4ad29be4041ca74f8bda403e97b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e0f61833e2aa471537ea7033bc1a6c399bd4ad29be4041ca74f8bda403e97b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e0f61833e2aa471537ea7033bc1a6c399bd4ad29be4041ca74f8bda403e97b3", kill_on_drop: false }` [INFO] [stdout] 3e0f61833e2aa471537ea7033bc1a6c399bd4ad29be4041ca74f8bda403e97b3 [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] 80dc54a3e27cec935adcac4975243f2aff56a286400ea813ca50b58f5cbac1a9 [INFO] running `Command { std: "docker" "start" "-a" "80dc54a3e27cec935adcac4975243f2aff56a286400ea813ca50b58f5cbac1a9", kill_on_drop: false }` [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking itoa v1.0.16 [INFO] [stderr] Checking ryu v1.0.21 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling pastey v0.1.1 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking clap_builder v4.5.53 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rustix v1.1.2 [INFO] [stderr] Checking serde_json v1.0.145 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking tempfile v3.23.0 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling hyprland-macros v0.4.0-beta.3 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking clap v4.5.53 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking hyprland v0.4.0-beta.3 [INFO] [stderr] Checking hyprsession v0.2.1-1 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | real_client: real_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `real_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | session_client: session_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Clients` [INFO] [stdout] --> src/command_detection.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use hyprland::data::{Client, Clients}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | real_client: real_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `real_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | session_client: session_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Clients` [INFO] [stdout] --> src/command_detection.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use hyprland::data::{Client, Clients}; [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: `hyprland::shared::HyprData` [INFO] [stdout] --> src/command_detection.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use hyprland::shared::HyprData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hyprland::shared::HyprData` [INFO] [stdout] --> src/command_detection.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use hyprland::shared::HyprData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `session_file` after checking its variant with `is_ok` [INFO] [stdout] --> src/session.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 189 | if session_file.is_ok() { [INFO] [stdout] | ----------------------- help: try: `if let Ok() = session_file` [INFO] [stdout] 190 | for line in read_to_string(session_file.unwrap()).unwrap().lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` 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/session.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [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] 186 - fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] 186 + fn load_programs(base_path: &Path, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/session.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if !cmd.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `cmd.is_err()` [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: useless use of `format!` [INFO] [stdout] --> src/session.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | |info: &Client| format!("{}", iif!(info.floating, "float")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.floating, "float").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: useless use of `format!` [INFO] [stdout] --> src/session.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 215 | |info: &Client| format!("{}", iif!(info.pinned, "pin")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.pinned, "pin").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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/command_detection.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | let binary = parts [INFO] [stdout] | __________________^ [INFO] [stdout] 25 | | .clone() [INFO] [stdout] 26 | | .next() [INFO] [stdout] 27 | | .unwrap_or("") [INFO] [stdout] 28 | | .split('/') [INFO] [stdout] 29 | | .last() [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] 29 - .last() [INFO] [stdout] 29 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `session_file` after checking its variant with `is_ok` [INFO] [stdout] --> src/session.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 189 | if session_file.is_ok() { [INFO] [stdout] | ----------------------- help: try: `if let Ok() = session_file` [INFO] [stdout] 190 | for line in read_to_string(session_file.unwrap()).unwrap().lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` 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/session.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [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] 186 - fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] 186 + fn load_programs(base_path: &Path, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/session.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if !cmd.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `cmd.is_err()` [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: useless use of `format!` [INFO] [stdout] --> src/session.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | |info: &Client| format!("{}", iif!(info.floating, "float")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.floating, "float").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: useless use of `format!` [INFO] [stdout] --> src/session.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 215 | |info: &Client| format!("{}", iif!(info.pinned, "pin")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.pinned, "pin").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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/command_detection.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | let binary = parts [INFO] [stdout] | __________________^ [INFO] [stdout] 25 | | .clone() [INFO] [stdout] 26 | | .next() [INFO] [stdout] 27 | | .unwrap_or("") [INFO] [stdout] 28 | | .split('/') [INFO] [stdout] 29 | | .last() [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] 29 - .last() [INFO] [stdout] 29 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/legacy.rs:70:35 [INFO] [stdout] | [INFO] [stdout] 70 | create_dir_all(&session_path).expect(&format!("Failed to create session dir: {session_path}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to create session dir: {session_path}"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/legacy.rs:70:35 [INFO] [stdout] | [INFO] [stdout] 70 | create_dir_all(&session_path).expect(&format!("Failed to create session dir: {session_path}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to create session dir: {session_path}"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> tests/doc_tests.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | let version = version_line [INFO] [stdout] | _______________________^ [INFO] [stdout] 19 | | .split('"') [INFO] [stdout] 20 | | .nth(1) [INFO] [stdout] 21 | | .expect("Could not extract version from Cargo.toml") [INFO] [stdout] 22 | | .split('-') [INFO] [stdout] 23 | | .nth(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] help: try calling `.next()` instead of `.nth(0)` [INFO] [stdout] | [INFO] [stdout] 18 ~ let version = version_line [INFO] [stdout] 19 + .split('"') [INFO] [stdout] 20 + .nth(1) [INFO] [stdout] 21 + .expect("Could not extract version from Cargo.toml") [INFO] [stdout] 22 + .split('-').next() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> tests/doc_tests.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | .expect(&format!("Version section {} not found in README.md", version_section)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("Version section {} not found in README.md", version_section))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Clients` [INFO] [stdout] --> src/command_detection.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use hyprland::data::{Client, Clients}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | real_client: real_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `real_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | session_client: session_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/integration_tests.rs:231:5 [INFO] [stdout] | [INFO] [stdout] 231 | assert_eq!(session1.simulate, 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] 231 - assert_eq!(session1.simulate, false); [INFO] [stdout] 231 + assert!(!session1.simulate); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/integration_tests.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | assert_eq!(session1.save_duplicate_pids, 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] 233 - assert_eq!(session1.save_duplicate_pids, true); [INFO] [stdout] 233 + assert!(session1.save_duplicate_pids); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/integration_tests.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | assert_eq!(session2.simulate, 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] 235 - assert_eq!(session2.simulate, true); [INFO] [stdout] 235 + assert!(session2.simulate); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> tests/integration_tests.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | assert_eq!(session2.adjust_clients_only, 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] 237 - assert_eq!(session2.adjust_clients_only, true); [INFO] [stdout] 237 + assert!(session2.adjust_clients_only); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_tests.rs:249:19 [INFO] [stdout] | [INFO] [stdout] 249 | .args(&["run", "--", "--help"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["run", "--", "--help"]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_tests.rs:263:19 [INFO] [stdout] | [INFO] [stdout] 263 | .args(&["run", "--", "--version"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["run", "--", "--version"]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_tests.rs:275:19 [INFO] [stdout] | [INFO] [stdout] 275 | .args(&["run", "--", "save-and-exit", "--simulate"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["run", "--", "save-and-exit", "--simulate"]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_tests.rs:294:19 [INFO] [stdout] | [INFO] [stdout] 294 | .args(&["run", "--", "list"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["run", "--", "list"]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_tests.rs:314:19 [INFO] [stdout] | [INFO] [stdout] 314 | .args(&["run", "--", "list"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["run", "--", "list"]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_tests.rs:333:19 [INFO] [stdout] | [INFO] [stdout] 333 | .args(&["run", "--", "--save-interval", "0"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["run", "--", "--save-interval", "0"]` [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: unused import: `Clients` [INFO] [stdout] --> src/command_detection.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use hyprland::data::{Client, Clients}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | real_client: real_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `real_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/session.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | session_client: session_client, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hyprland::shared::HyprData` [INFO] [stdout] --> src/command_detection.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use hyprland::shared::HyprData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hyprland::shared::HyprData` [INFO] [stdout] --> src/command_detection.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use hyprland::shared::HyprData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/command_detection.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | let binary = parts [INFO] [stdout] | __________________^ [INFO] [stdout] 25 | | .clone() [INFO] [stdout] 26 | | .next() [INFO] [stdout] 27 | | .unwrap_or("") [INFO] [stdout] 28 | | .split('/') [INFO] [stdout] 29 | | .last() [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] 29 - .last() [INFO] [stdout] 29 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/command_detection.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | let binary = parts [INFO] [stdout] | __________________^ [INFO] [stdout] 25 | | .clone() [INFO] [stdout] 26 | | .next() [INFO] [stdout] 27 | | .unwrap_or("") [INFO] [stdout] 28 | | .split('/') [INFO] [stdout] 29 | | .last() [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] 29 - .last() [INFO] [stdout] 29 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/legacy.rs:70:35 [INFO] [stdout] | [INFO] [stdout] 70 | create_dir_all(&session_path).expect(&format!("Failed to create session dir: {session_path}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to create session dir: {session_path}"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `session_file` after checking its variant with `is_ok` [INFO] [stdout] --> src/session.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 189 | if session_file.is_ok() { [INFO] [stdout] | ----------------------- help: try: `if let Ok() = session_file` [INFO] [stdout] 190 | for line in read_to_string(session_file.unwrap()).unwrap().lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` 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/session.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [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] 186 - fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] 186 + fn load_programs(base_path: &Path, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/session.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if !cmd.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `cmd.is_err()` [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: useless use of `format!` [INFO] [stdout] --> src/session.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | |info: &Client| format!("{}", iif!(info.floating, "float")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.floating, "float").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: useless use of `format!` [INFO] [stdout] --> src/session.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 215 | |info: &Client| format!("{}", iif!(info.pinned, "pin")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.pinned, "pin").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: function call inside of `expect` [INFO] [stdout] --> src/legacy.rs:70:35 [INFO] [stdout] | [INFO] [stdout] 70 | create_dir_all(&session_path).expect(&format!("Failed to create session dir: {session_path}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to create session dir: {session_path}"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `session_file` after checking its variant with `is_ok` [INFO] [stdout] --> src/session.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 189 | if session_file.is_ok() { [INFO] [stdout] | ----------------------- help: try: `if let Ok() = session_file` [INFO] [stdout] 190 | for line in read_to_string(session_file.unwrap()).unwrap().lines() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` 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/session.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [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] 186 - fn load_programs(base_path: &PathBuf, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] 186 + fn load_programs(base_path: &Path, simulate: bool) -> hyprland::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/session.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if !cmd.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `cmd.is_err()` [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: useless use of `format!` [INFO] [stdout] --> src/session.rs:212:29 [INFO] [stdout] | [INFO] [stdout] 212 | |info: &Client| format!("{}", iif!(info.floating, "float")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.floating, "float").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: useless use of `format!` [INFO] [stdout] --> src/session.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 215 | |info: &Client| format!("{}", iif!(info.pinned, "pin")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `iif!(info.pinned, "pin").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: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | / if old_session.exists() { [INFO] [stdout] 76 | | if std::path::Path::new(session_path).join("exec.conf").exists() && !new_session.join("exec.conf").exists() { [INFO] [stdout] 77 | | println!("Migrating session data from {} to {}", old_session.display(), new_session.display()); [INFO] [stdout] 78 | | std::fs::create_dir_all(&new_session).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 82 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 75 ~ if old_session.exists() [INFO] [stdout] 76 ~ && std::path::Path::new(session_path).join("exec.conf").exists() && !new_session.join("exec.conf").exists() { [INFO] [stdout] 77 | println!("Migrating session data from {} to {}", old_session.display(), new_session.display()); [INFO] [stdout] ... [INFO] [stdout] 80 | std::fs::write(new_session.join("clients.json"), "[]").unwrap(); [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/main.rs:100:35 [INFO] [stdout] | [INFO] [stdout] 100 | create_dir_all(&session_path).expect(&format!("Failed to create session dir: {session_path}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to create session dir: {session_path}"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | / if old_session.exists() { [INFO] [stdout] 76 | | if std::path::Path::new(session_path).join("exec.conf").exists() && !new_session.join("exec.conf").exists() { [INFO] [stdout] 77 | | println!("Migrating session data from {} to {}", old_session.display(), new_session.display()); [INFO] [stdout] 78 | | std::fs::create_dir_all(&new_session).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 82 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 75 ~ if old_session.exists() [INFO] [stdout] 76 ~ && std::path::Path::new(session_path).join("exec.conf").exists() && !new_session.join("exec.conf").exists() { [INFO] [stdout] 77 | println!("Migrating session data from {} to {}", old_session.display(), new_session.display()); [INFO] [stdout] ... [INFO] [stdout] 80 | std::fs::write(new_session.join("clients.json"), "[]").unwrap(); [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/main.rs:100:35 [INFO] [stdout] | [INFO] [stdout] 100 | create_dir_all(&session_path).expect(&format!("Failed to create session dir: {session_path}")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Failed to create session dir: {session_path}"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.45s [INFO] running `Command { std: "docker" "inspect" "80dc54a3e27cec935adcac4975243f2aff56a286400ea813ca50b58f5cbac1a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80dc54a3e27cec935adcac4975243f2aff56a286400ea813ca50b58f5cbac1a9", kill_on_drop: false }` [INFO] [stdout] 80dc54a3e27cec935adcac4975243f2aff56a286400ea813ca50b58f5cbac1a9