[INFO] cloning repository https://github.com/ledger/rledger [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ledger/rledger" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fledger%2Frledger", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fledger%2Frledger'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ac66520a680e9b41e3aefe2a50593337aeb46db6 [INFO] linting ledger/rledger against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fledger%2Frledger" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/ledger/rledger [INFO] finished tweaking git repo https://github.com/ledger/rledger [INFO] tweaked toml for git repo https://github.com/ledger/rledger written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ledger/rledger 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/ledger/rledger 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 crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded winapi-util v0.1.10 [INFO] [stderr] Downloaded generator v0.8.7 [INFO] [stderr] Downloaded pyo3-macros v0.20.3 [INFO] [stderr] Downloaded current_platform v0.2.0 [INFO] [stderr] Downloaded clap_complete v4.5.57 [INFO] [stderr] Downloaded pyo3-ffi v0.20.3 [INFO] [stderr] Downloaded pyo3-macros-backend v0.20.3 [INFO] [stderr] Downloaded insta v1.43.2 [INFO] [stderr] Downloaded cargo-fuzz v0.11.4 [INFO] [stderr] Downloaded loom v0.7.2 [INFO] [stderr] Downloaded rust_decimal v1.37.2 [INFO] [stderr] Downloaded proptest v1.7.0 [INFO] [stderr] Downloaded moka v0.12.10 [INFO] [stderr] Downloaded nom_locate v4.2.0 [INFO] [stderr] Downloaded pyo3-build-config v0.20.3 [INFO] [stderr] Downloaded uuid v1.18.0 [INFO] [stderr] Downloaded pyo3 v0.20.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 1a40c3aada73f58d8c057df939338d4b4ef7b465547486eec5a2f5635f949798 [INFO] running `Command { std: "docker" "start" "-a" "1a40c3aada73f58d8c057df939338d4b4ef7b465547486eec5a2f5635f949798", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1a40c3aada73f58d8c057df939338d4b4ef7b465547486eec5a2f5635f949798", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a40c3aada73f58d8c057df939338d4b4ef7b465547486eec5a2f5635f949798", kill_on_drop: false }` [INFO] [stdout] 1a40c3aada73f58d8c057df939338d4b4ef7b465547486eec5a2f5635f949798 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 9660294c5333cbcf7d91173bd3e14071e64ba19f66db0b13b5c7bfc69f967cdd [INFO] running `Command { std: "docker" "start" "-a" "9660294c5333cbcf7d91173bd3e14071e64ba19f66db0b13b5c7bfc69f967cdd", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking bitflags v2.9.3 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Compiling rust_decimal v1.37.2 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking clap_builder v4.5.44 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Checking rayon-core v1.13.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling os_str_bytes v6.6.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling cbindgen v0.26.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Compiling moka v0.12.10 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Checking uuid v1.18.0 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking compact_str v0.7.1 [INFO] [stderr] Checking indexmap v2.11.0 [INFO] [stderr] Checking memmap2 v0.9.8 [INFO] [stderr] Checking wait-timeout v0.2.1 [INFO] [stderr] Checking bumpalo v3.19.0 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking insta v1.43.2 [INFO] [stderr] Checking rand_xorshift v0.4.0 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking float-cmp v0.10.0 [INFO] [stderr] Compiling assert_cmd v2.0.17 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Compiling tempfile v3.21.0 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking nom_locate v4.2.0 [INFO] [stderr] Checking proptest v1.7.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling parse-zoneinfo v0.3.1 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling chrono-tz-build v0.2.1 [INFO] [stderr] Checking bstr v1.12.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling chrono-tz v0.8.6 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking env_logger v0.8.4 [INFO] [stderr] Checking predicates v3.1.3 [INFO] [stderr] Checking quickcheck v1.0.3 [INFO] [stderr] Checking clap v4.5.45 [INFO] [stderr] Checking clap_complete v4.5.57 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking ledger-tests v3.5.0 (/opt/rustwide/workdir/ledger-tests) [INFO] [stderr] Checking ledger-math v3.5.0 (/opt/rustwide/workdir/ledger-math) [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> ledger-math/src/balance.rs:554:1 [INFO] [stdout] | [INFO] [stdout] 554 | mod tests { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 674 | impl serde::Serialize for Balance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 691 | impl<'de> serde::Deserialize<'de> for Balance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> ledger-math/src/lib.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | #![warn(clippy::all)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> ledger-math/tests/formatting_tests.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | assert_eq!(config.thousands_sep, 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] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 161 - assert_eq!(config.thousands_sep, true); [INFO] [stdout] 161 + assert!(config.thousands_sep); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> ledger-math/tests/formatting_tests.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | assert_eq!(config.decimal_comma, 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] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 162 - assert_eq!(config.decimal_comma, false); [INFO] [stdout] 162 + assert!(!config.decimal_comma); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> ledger-math/tests/datetime_tests.rs:457:17 [INFO] [stdout] | [INFO] [stdout] 457 | assert!(!dt_ambiguous.clone().earliest().is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `dt_ambiguous.clone().earliest().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> ledger-math/tests/datetime_tests.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | assert!(!dt_ambiguous.latest().is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `dt_ambiguous.latest().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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `LocalResult>` which implements the `Copy` trait [INFO] [stdout] --> ledger-math/tests/datetime_tests.rs:457:18 [INFO] [stdout] | [INFO] [stdout] 457 | assert!(!dt_ambiguous.clone().earliest().is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `dt_ambiguous` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling ledger-core v3.5.0 (/opt/rustwide/workdir/ledger-core) [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> ledger-math/tests/comprehensive_tests.rs:431:70 [INFO] [stdout] | [INFO] [stdout] 431 | let balance1 = Balance::from_amount(Amount::from_i64(a)).unwrap_or(Balance::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> ledger-math/tests/comprehensive_tests.rs:432:70 [INFO] [stdout] | [INFO] [stdout] 432 | let balance2 = Balance::from_amount(Amount::from_i64(b)).unwrap_or(Balance::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> ledger-math/tests/comprehensive_tests.rs:440:69 [INFO] [stdout] | [INFO] [stdout] 440 | let balance = Balance::from_amount(Amount::from_i64(a)).unwrap_or(Balance::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> ledger-math/tests/comprehensive_tests.rs:448:69 [INFO] [stdout] | [INFO] [stdout] 448 | let balance = Balance::from_amount(Amount::from_i64(a)).unwrap_or(Balance::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> ledger-math/tests/comprehensive_tests.rs:456:69 [INFO] [stdout] | [INFO] [stdout] 456 | let balance = Balance::from_amount(Amount::from_i64(a)).unwrap_or(Balance::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> ledger-core/src/report.rs:390:17 [INFO] [stdout] | [INFO] [stdout] 390 | sorted.sort_by(|a, b| b.1.count.cmp(&a.1.count)); [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: the lint level is defined here [INFO] [stdout] --> ledger-core/src/lib.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | #![warn(clippy::all)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 390 - sorted.sort_by(|a, b| b.1.count.cmp(&a.1.count)); [INFO] [stdout] 390 + sorted.sort_by_key(|b| std::cmp::Reverse(b.1.count)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> ledger-core/src/parser.rs:651:17 [INFO] [stdout] | [INFO] [stdout] 651 | / if self.should_include_conditional(&condition) { [INFO] [stdout] 652 | | self.process_include_file(journal, &path)?; [INFO] [stdout] 653 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 649 ~ Directive::ConditionalInclude { condition, path } [INFO] [stdout] 650 | // TODO: Evaluate condition - for now, always include [INFO] [stdout] 651 ~ if self.should_include_conditional(&condition) => { [INFO] [stdout] 652 | self.process_include_file(journal, &path)?; [INFO] [stdout] 653 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking ledger-cli v3.5.0 (/opt/rustwide/workdir/ledger-cli) [INFO] [stderr] Checking parser-test v3.5.0 (/opt/rustwide/workdir/parser-test) [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> ledger-core/benches/balance_bench.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | black_box(vec![1, 2, 3].iter().sum::()) [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [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] [stdout] warning: length comparison to zero [INFO] [stdout] --> ledger-core/src/account.rs:1740:17 [INFO] [stdout] | [INFO] [stdout] 1740 | assert!(df_visited.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!df_visited.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> ledger-core/src/lib.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | #![warn(clippy::all)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> ledger-core/src/account.rs:1749:17 [INFO] [stdout] | [INFO] [stdout] 1749 | assert!(bf_visited.len() > 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!bf_visited.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> ledger-core/src/account.rs:1800:17 [INFO] [stdout] | [INFO] [stdout] 1800 | assert!(unknown_accounts.len() > 0); // Should include intermediate accounts and root [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!unknown_accounts.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get("nonexistent").is_none()` [INFO] [stdout] --> ledger-core/src/account.rs:2226:32 [INFO] [stdout] | [INFO] [stdout] 2226 | assert!(all_directives.get("nonexistent").is_none()); [INFO] [stdout] | ---------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!all_directives.contains_key("nonexistent")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> ledger-core/src/report.rs:390:17 [INFO] [stdout] | [INFO] [stdout] 390 | sorted.sort_by(|a, b| b.1.count.cmp(&a.1.count)); [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)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 390 - sorted.sort_by(|a, b| b.1.count.cmp(&a.1.count)); [INFO] [stdout] 390 + sorted.sort_by_key(|b| std::cmp::Reverse(b.1.count)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> ledger-core/src/parser.rs:651:17 [INFO] [stdout] | [INFO] [stdout] 651 | / if self.should_include_conditional(&condition) { [INFO] [stdout] 652 | | self.process_include_file(journal, &path)?; [INFO] [stdout] 653 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 649 ~ Directive::ConditionalInclude { condition, path } [INFO] [stdout] 650 | // TODO: Evaluate condition - for now, always include [INFO] [stdout] 651 ~ if self.should_include_conditional(&condition) => { [INFO] [stdout] 652 | self.process_include_file(journal, &path)?; [INFO] [stdout] 653 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `journal.transactions.get(0)` [INFO] [stdout] --> ledger-core/src/parser.rs:3406:39 [INFO] [stdout] | [INFO] [stdout] 3406 | assert_eq!("Foo".to_string(), journal.transactions.get(0).unwrap().payee); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `journal.transactions.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> ledger-core/src/cache.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | options.flat = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `report::ReportOptions { flat: true, depth: Some(3), sort_by: SortCriteria::Amount, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> ledger-core/src/cache.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | let mut options = ReportOptions::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> ledger-core/src/parallel.rs:451:13 [INFO] [stdout] | [INFO] [stdout] 451 | count % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace with: `count.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> ledger-core/src/parallel.rs:474:16 [INFO] [stdout] | [INFO] [stdout] 474 | if let Err(_) = init_parallel_processing(Some(config)) { [INFO] [stdout] | -------^^^^^^----------------------------------------- help: try: `if init_parallel_processing(Some(config)).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> ledger-core/src/data_structures.rs:520:40 [INFO] [stdout] | [INFO] [stdout] 520 | let mut pool = ObjectPool::new(|| Vec::::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Vec::::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> ledger-core/src/advanced_cache.rs:543:74 [INFO] [stdout] | [INFO] [stdout] 543 | let mut total = LazyAccountTotal::new("Assets:Cash".to_string(), || Balance::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Balance::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> ledger-cli/tests/cli_tests.rs:100:14 [INFO] [stdout] | [INFO] [stdout] 100 | cmd.args(&["--verbose", "--debug", "memory", "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--verbose", "--debug", "memory", "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:104:14 [INFO] [stdout] | [INFO] [stdout] 104 | cmd.args(&["--begin", "2023-01-01", "--end", "2023-12-31", "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--begin", "2023-01-01", "--end", "2023-12-31", "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | cmd.args(&["--monthly", "--yearly", "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--monthly", "--yearly", "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | cmd.args(&["-b", "2023-01-01", "-e", "2023-12-31", "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["-b", "2023-01-01", "-e", "2023-12-31", "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 122 | cmd.args(&["--begin=2023-01-01", "--end=2023-12-31", "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--begin=2023-01-01", "--end=2023-12-31", "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | cmd.args(&["-v", "--debug=memory", "--limit", "10", "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["-v", "--debug=memory", "--limit", "10", "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:143:14 [INFO] [stdout] | [INFO] [stdout] 143 | cmd.args(&[ [INFO] [stdout] | ______________^ [INFO] [stdout] 144 | | "-f", [INFO] [stdout] 145 | | ledger_file.to_str().unwrap(), [INFO] [stdout] 146 | | "balance", [INFO] [stdout] ... | [INFO] [stdout] 151 | | "assets", [INFO] [stdout] 152 | | ]); [INFO] [stdout] | |_____^ [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 143 ~ cmd.args([ [INFO] [stdout] 144 + "-f", [INFO] [stdout] 145 + ledger_file.to_str().unwrap(), [INFO] [stdout] 146 + "balance", [INFO] [stdout] 147 + "--empty", [INFO] [stdout] 148 + "--flat", [INFO] [stdout] 149 + "--depth", [INFO] [stdout] 150 + "2", [INFO] [stdout] 151 + "assets", [INFO] [stdout] 152 ~ ]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> ledger-cli/tests/cli_tests.rs:157:14 [INFO] [stdout] | [INFO] [stdout] 157 | cmd.args(&[ [INFO] [stdout] | ______________^ [INFO] [stdout] 158 | | "-f", [INFO] [stdout] 159 | | ledger_file.to_str().unwrap(), [INFO] [stdout] 160 | | "register", [INFO] [stdout] ... | [INFO] [stdout] 163 | | "expenses", [INFO] [stdout] 164 | | ]); [INFO] [stdout] | |_____^ [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 157 ~ cmd.args([ [INFO] [stdout] 158 + "-f", [INFO] [stdout] 159 + ledger_file.to_str().unwrap(), [INFO] [stdout] 160 + "register", [INFO] [stdout] 161 + "--subtotal", [INFO] [stdout] 162 + "--wide", [INFO] [stdout] 163 + "expenses", [INFO] [stdout] 164 ~ ]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> ledger-cli/tests/cli_tests.rs:169:14 [INFO] [stdout] | [INFO] [stdout] 169 | cmd.args(&["-f", ledger_file.to_str().unwrap(), "print", "--raw", "--head", "5"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["-f", ledger_file.to_str().unwrap(), "print", "--raw", "--head", "5"]` [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] --> ledger-cli/tests/cli_tests.rs:194:18 [INFO] [stdout] | [INFO] [stdout] 194 | cmd.args(&["completion", shell]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["completion", shell]` [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] --> ledger-cli/tests/cli_tests.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | cmd.args(&["help-topic", topic]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["help-topic", topic]` [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] --> ledger-cli/tests/cli_tests.rs:220:14 [INFO] [stdout] | [INFO] [stdout] 220 | cmd.args(&["--init-file", config_file.to_str().unwrap(), "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--init-file", config_file.to_str().unwrap(), "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:245:14 [INFO] [stdout] | [INFO] [stdout] 245 | cmd.args(&["-f", ledger_file.to_str().unwrap(), "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["-f", ledger_file.to_str().unwrap(), "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:258:18 [INFO] [stdout] | [INFO] [stdout] 258 | cmd.args(&["--begin", date, "parse", "amount"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--begin", date, "parse", "amount"]` [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] --> ledger-cli/tests/cli_tests.rs:273:14 [INFO] [stdout] | [INFO] [stdout] 273 | cmd.args(&[ [INFO] [stdout] | ______________^ [INFO] [stdout] 274 | | "--init-file", [INFO] [stdout] 275 | | config_file.to_str().unwrap(), // Config file [INFO] [stdout] 276 | | "--yearly", // Command line (should override) [INFO] [stdout] 277 | | "parse", [INFO] [stdout] 278 | | "amount", [INFO] [stdout] 279 | | ]); [INFO] [stdout] | |_____^ [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 273 ~ cmd.args([ [INFO] [stdout] 274 + "--init-file", [INFO] [stdout] 275 + config_file.to_str().unwrap(), // Config file [INFO] [stdout] 276 + "--yearly", // Command line (should override) [INFO] [stdout] 277 + "parse", [INFO] [stdout] 278 + "amount", [INFO] [stdout] 279 ~ ]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> ledger-cli/tests/cli_tests.rs:299:14 [INFO] [stdout] | [INFO] [stdout] 299 | cmd.args(&["-f", ledger_file.to_str().unwrap()]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["-f", ledger_file.to_str().unwrap()]` [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] --> ledger-cli/tests/cli_tests.rs:329:14 [INFO] [stdout] | [INFO] [stdout] 329 | cmd.args(&[ [INFO] [stdout] | ______________^ [INFO] [stdout] 330 | | "-f", [INFO] [stdout] 331 | | "/tmp/nonexistent.ledger", [INFO] [stdout] 332 | | "--begin", [INFO] [stdout] ... | [INFO] [stdout] 347 | | "amount", [INFO] [stdout] 348 | | ]); [INFO] [stdout] | |_____^ [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 329 ~ cmd.args([ [INFO] [stdout] 330 + "-f", [INFO] [stdout] 331 + "/tmp/nonexistent.ledger", [INFO] [stdout] 332 + "--begin", [INFO] [stdout] 333 + "2023-01-01", [INFO] [stdout] 334 + "--end", [INFO] [stdout] 335 + "2023-12-31", [INFO] [stdout] 336 + "--monthly", [INFO] [stdout] 337 + "--cleared", [INFO] [stdout] 338 + "--real", [INFO] [stdout] 339 + "--sort", [INFO] [stdout] 340 + "date", [INFO] [stdout] 341 + "--limit", [INFO] [stdout] 342 + "10", [INFO] [stdout] 343 + "--format", [INFO] [stdout] 344 + "%d %p %l", [INFO] [stdout] 345 + "--verbose", [INFO] [stdout] 346 + "parse", [INFO] [stdout] 347 + "amount", [INFO] [stdout] 348 ~ ]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> ledger-cli/tests/cli_tests.rs:360:18 [INFO] [stdout] | [INFO] [stdout] 360 | cmd.args(&["--help"]); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `["--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] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> ledger-cli/src/test_framework/test_parser.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | writeln!(temp_file, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] = note: `#[warn(clippy::writeln_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `writeln!` [INFO] [stdout] --> ledger-cli/src/test_framework/test_parser.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | writeln!(temp_file, "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stdout] = note: `#[warn(clippy::writeln_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s [INFO] running `Command { std: "docker" "inspect" "9660294c5333cbcf7d91173bd3e14071e64ba19f66db0b13b5c7bfc69f967cdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9660294c5333cbcf7d91173bd3e14071e64ba19f66db0b13b5c7bfc69f967cdd", kill_on_drop: false }` [INFO] [stdout] 9660294c5333cbcf7d91173bd3e14071e64ba19f66db0b13b5c7bfc69f967cdd