[INFO] fetching crate git-plumber 0.1.3... [INFO] linting git-plumber-0.1.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate git-plumber 0.1.3 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate git-plumber 0.1.3 [INFO] finished tweaking crates.io crate git-plumber 0.1.3 [INFO] tweaked toml for crates.io crate git-plumber 0.1.3 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate git-plumber 0.1.3 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 git-plumber 0.1.3 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 libgit2-sys v0.18.2+1.9.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] c63f9b47754038ce5a24f4386db6881138650a6915554ed23383261da193f250 [INFO] running `Command { std: "docker" "start" "-a" "c63f9b47754038ce5a24f4386db6881138650a6915554ed23383261da193f250", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c63f9b47754038ce5a24f4386db6881138650a6915554ed23383261da193f250", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c63f9b47754038ce5a24f4386db6881138650a6915554ed23383261da193f250", kill_on_drop: false }` [INFO] [stdout] c63f9b47754038ce5a24f4386db6881138650a6915554ed23383261da193f250 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 4218cc640526e436202eb091c5cf00065d174cb0dca4b888e08b4884483894f5 [INFO] running `Command { std: "docker" "start" "-a" "4218cc640526e436202eb091c5cf00065d174cb0dca4b888e08b4884483894f5", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Checking bitflags v2.9.2 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling instability v0.3.9 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking clap_builder v4.5.44 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking inotify v0.11.0 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Compiling cc v1.2.33 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking notify-types v2.0.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking nom v8.0.0 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking notify v8.2.0 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling libz-sys v1.1.22 [INFO] [stderr] Compiling libgit2-sys v0.18.2+1.9.1 [INFO] [stderr] Checking tempfile v3.21.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking crossterm v0.29.0 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Checking thiserror v2.0.16 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking clap v4.5.45 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling git2 v0.20.2 [INFO] [stderr] Compiling built v0.8.0 [INFO] [stderr] Compiling git-plumber v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/tui/helpers.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn render_list_with_scrollbar( [INFO] [stdout] 74 | | f: &mut ratatui::Frame, [INFO] [stdout] 75 | | area: Rect, [INFO] [stdout] 76 | | items: &[T], [INFO] [stdout] ... | [INFO] [stdout] 81 | | mut item_renderer: impl FnMut(usize, &T, bool) -> ListItem, [INFO] [stdout] 82 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Scroll` [INFO] [stdout] --> src/tui/message.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub enum PackNavigation { [INFO] [stdout] 77 | | ScrollUp, [INFO] [stdout] 78 | | ScrollDown, [INFO] [stdout] 79 | | ScrollToTop, [INFO] [stdout] 80 | | ScrollToBottom, [INFO] [stdout] 81 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Scroll` [INFO] [stdout] --> src/tui/message.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | / pub enum LooseObjectNavigation { [INFO] [stdout] 85 | | ScrollUp, [INFO] [stdout] 86 | | ScrollDown, [INFO] [stdout] 87 | | ScrollToTop, [INFO] [stdout] 88 | | ScrollToBottom, [INFO] [stdout] 89 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/model.rs:386:1 [INFO] [stdout] | [INFO] [stdout] 386 | / pub enum AppView { [INFO] [stdout] 387 | | Main { state: MainViewState }, [INFO] [stdout] | | ----------------------------- the largest variant contains at least 1616 bytes [INFO] [stdout] 388 | | PackObjectDetail { state: PackViewState }, [INFO] [stdout] 389 | | LooseObjectDetail { state: LooseObjectViewState }, [INFO] [stdout] | | ------------------------------------------------- the second-largest variant contains at least 296 bytes [INFO] [stdout] 390 | | } [INFO] [stdout] | |_^ the entire enum is at least 1616 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 387 - Main { state: MainViewState }, [INFO] [stdout] 387 + Main { state: Box }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/tui/model.rs:446:44 [INFO] [stdout] | [INFO] [stdout] 446 | let project_name = if repo_path == PathBuf::from(".") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `*"."` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/main_view/model.rs:119:1 [INFO] [stdout] | [INFO] [stdout] 119 | / pub enum PreviewState { [INFO] [stdout] 120 | | Pack(PackPreViewState), [INFO] [stdout] | | ---------------------- the second-largest variant contains at least 352 bytes [INFO] [stdout] 121 | | Regular(RegularPreViewState), [INFO] [stdout] | | ---------------------------- the largest variant contains at least 1272 bytes [INFO] [stdout] 122 | | } [INFO] [stdout] | |_^ the entire enum is at least 1272 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 121 - Regular(RegularPreViewState), [INFO] [stdout] 121 + Regular(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/model.rs:450:21 [INFO] [stdout] | [INFO] [stdout] 450 | / if name != "objects" && name != "Loose Objects" { [INFO] [stdout] 451 | | MainViewState::sort_tree_for_display(&mut node.children); [INFO] [stdout] 452 | | } [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)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 448 ~ GitObjectType::Category(name) [INFO] [stdout] 449 | // Don't sort children of "objects" category (loose objects should keep their natural order) [INFO] [stdout] 450 ~ if name != "objects" && name != "Loose Objects" => { [INFO] [stdout] 451 | MainViewState::sort_tree_for_display(&mut node.children); [INFO] [stdout] 452 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:88:29 [INFO] [stdout] | [INFO] [stdout] 88 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 89 | | ... let new_index = [INFO] [stdout] 90 | | ... (git_objects.selected_index + 1) % git_objects.flat_view.len(); [INFO] [stdout] 91 | | ... git_objects.selected_index = new_index; [INFO] [stdout] ... | [INFO] [stdout] 106 | | ... (false, 0, false) [INFO] [stdout] 107 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 87 ~ } [INFO] [stdout] 88 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 89 | let new_index = [INFO] [stdout] ... [INFO] [stdout] 104 | (true, new_index, is_pack) [INFO] [stdout] 105 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:122:29 [INFO] [stdout] | [INFO] [stdout] 122 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 123 | | ... let new_index = if git_objects.selected_index > 0 { [INFO] [stdout] 124 | | ... git_objects.selected_index - 1 [INFO] [stdout] 125 | | ... } else { [INFO] [stdout] ... | [INFO] [stdout] 143 | | ... (false, 0, false) [INFO] [stdout] 144 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 121 ~ } [INFO] [stdout] 122 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 123 | let new_index = if git_objects.selected_index > 0 { [INFO] [stdout] ... [INFO] [stdout] 141 | (true, new_index, is_pack) [INFO] [stdout] 142 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:159:29 [INFO] [stdout] | [INFO] [stdout] 159 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 160 | | ... git_objects.selected_index = 0; [INFO] [stdout] 161 | | ... [INFO] [stdout] 162 | | ... let is_pack = git_objects [INFO] [stdout] ... | [INFO] [stdout] 175 | | ... (false, 0, false) [INFO] [stdout] 176 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 158 ~ } [INFO] [stdout] 159 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 160 | git_objects.selected_index = 0; [INFO] [stdout] ... [INFO] [stdout] 173 | (true, 0, is_pack) [INFO] [stdout] 174 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:191:29 [INFO] [stdout] | [INFO] [stdout] 191 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 192 | | ... let new_index = git_objects.flat_view.len() - 1; [INFO] [stdout] 193 | | ... git_objects.selected_index = new_index; [INFO] [stdout] ... | [INFO] [stdout] 208 | | ... (false, 0, false) [INFO] [stdout] 209 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 190 ~ } [INFO] [stdout] 191 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 192 | let new_index = git_objects.flat_view.len() - 1; [INFO] [stdout] ... [INFO] [stdout] 206 | (true, new_index, is_pack) [INFO] [stdout] 207 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tui/main_view/view.rs:360:28 [INFO] [stdout] | [INFO] [stdout] 360 | if is_selected && matches!(preview_state.focus, PackFocus::PackObjectsList) [INFO] [stdout] | ____________________________^ [INFO] [stdout] 361 | | || is_selected && is_widescreen [INFO] [stdout] | |___________________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 360 - if is_selected && matches!(preview_state.focus, PackFocus::PackObjectsList) [INFO] [stdout] 361 - || is_selected && is_widescreen [INFO] [stdout] 360 + if !(!is_selected || !matches!(preview_state.focus, PackFocus::PackObjectsList) && !is_widescreen) [INFO] [stdout] | [INFO] [stdout] 360 - if is_selected && matches!(preview_state.focus, PackFocus::PackObjectsList) [INFO] [stdout] 361 - || is_selected && is_widescreen [INFO] [stdout] 360 + if (is_widescreen || matches!(preview_state.focus, PackFocus::PackObjectsList)) && is_selected [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/widget/pack_idx_details/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub enum PackIndexWidget { [INFO] [stdout] 11 | | Uninitialized, [INFO] [stdout] | | ------------- the second-largest variant carries no data at all [INFO] [stdout] 12 | |/ Initialized { [INFO] [stdout] 13 | || pack_index: PackIndex, [INFO] [stdout] 14 | || scrollable_widget: ScrollableTextWidget, [INFO] [stdout] 15 | || }, [INFO] [stdout] | ||_____- the largest variant contains at least 1256 bytes [INFO] [stdout] 16 | | } [INFO] [stdout] | |__^ the entire enum is at least 1256 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 13 - pack_index: PackIndex, [INFO] [stdout] 13 + pack_index: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/widget/pack_obj_details/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pub enum PackObjectWidget { [INFO] [stdout] 12 | | Uninitiolized, [INFO] [stdout] | | ------------- the second-largest variant carries no data at all [INFO] [stdout] 13 | |/ Initiolized { [INFO] [stdout] 14 | || pack_obj: PackObject, [INFO] [stdout] 15 | || scroll_position: usize, [INFO] [stdout] 16 | || max_scroll: usize, [INFO] [stdout] 17 | || text_cache: Option>, [INFO] [stdout] 18 | || }, [INFO] [stdout] | ||_____- the largest variant contains at least 272 bytes [INFO] [stdout] 19 | | } [INFO] [stdout] | |__^ the entire enum is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 14 - pack_obj: PackObject, [INFO] [stdout] 14 + pack_obj: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `fan_out` [INFO] [stdout] --> src/git/pack/index.rs:285:18 [INFO] [stdout] | [INFO] [stdout] 285 | for i in 1..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 285 - for i in 1..256 { [INFO] [stdout] 285 + for in fan_out.iter_mut().skip(1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `fan_out` [INFO] [stdout] --> src/git/pack/index.rs:320:18 [INFO] [stdout] | [INFO] [stdout] 320 | for i in 2..0xaa { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 320 - for i in 2..0xaa { [INFO] [stdout] 320 + for in fan_out.iter_mut().take(0xaa).skip(2) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `fan_out` [INFO] [stdout] --> src/git/pack/index.rs:324:18 [INFO] [stdout] | [INFO] [stdout] 324 | for i in 0xab..0xff { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 324 - for i in 0xab..0xff { [INFO] [stdout] 324 + for in fan_out.iter_mut().take(0xff).skip(0xab) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `fan_out` [INFO] [stdout] --> src/git/pack/index.rs:381:18 [INFO] [stdout] | [INFO] [stdout] 381 | for i in 1..256 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 381 - for i in 1..256 { [INFO] [stdout] 381 + for in fan_out.iter_mut().skip(1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/tui/helpers.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn render_list_with_scrollbar( [INFO] [stdout] 74 | | f: &mut ratatui::Frame, [INFO] [stdout] 75 | | area: Rect, [INFO] [stdout] 76 | | items: &[T], [INFO] [stdout] ... | [INFO] [stdout] 81 | | mut item_renderer: impl FnMut(usize, &T, bool) -> ListItem, [INFO] [stdout] 82 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Scroll` [INFO] [stdout] --> src/tui/message.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub enum PackNavigation { [INFO] [stdout] 77 | | ScrollUp, [INFO] [stdout] 78 | | ScrollDown, [INFO] [stdout] 79 | | ScrollToTop, [INFO] [stdout] 80 | | ScrollToBottom, [INFO] [stdout] 81 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same prefix: `Scroll` [INFO] [stdout] --> src/tui/message.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | / pub enum LooseObjectNavigation { [INFO] [stdout] 85 | | ScrollUp, [INFO] [stdout] 86 | | ScrollDown, [INFO] [stdout] 87 | | ScrollToTop, [INFO] [stdout] 88 | | ScrollToBottom, [INFO] [stdout] 89 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/model.rs:386:1 [INFO] [stdout] | [INFO] [stdout] 386 | / pub enum AppView { [INFO] [stdout] 387 | | Main { state: MainViewState }, [INFO] [stdout] | | ----------------------------- the largest variant contains at least 1616 bytes [INFO] [stdout] 388 | | PackObjectDetail { state: PackViewState }, [INFO] [stdout] 389 | | LooseObjectDetail { state: LooseObjectViewState }, [INFO] [stdout] | | ------------------------------------------------- the second-largest variant contains at least 296 bytes [INFO] [stdout] 390 | | } [INFO] [stdout] | |_^ the entire enum is at least 1616 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 387 - Main { state: MainViewState }, [INFO] [stdout] 387 + Main { state: Box }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/tui/model.rs:446:44 [INFO] [stdout] | [INFO] [stdout] 446 | let project_name = if repo_path == PathBuf::from(".") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `*"."` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/main_view/model.rs:119:1 [INFO] [stdout] | [INFO] [stdout] 119 | / pub enum PreviewState { [INFO] [stdout] 120 | | Pack(PackPreViewState), [INFO] [stdout] | | ---------------------- the second-largest variant contains at least 352 bytes [INFO] [stdout] 121 | | Regular(RegularPreViewState), [INFO] [stdout] | | ---------------------------- the largest variant contains at least 1272 bytes [INFO] [stdout] 122 | | } [INFO] [stdout] | |_^ the entire enum is at least 1272 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 121 - Regular(RegularPreViewState), [INFO] [stdout] 121 + Regular(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/model.rs:450:21 [INFO] [stdout] | [INFO] [stdout] 450 | / if name != "objects" && name != "Loose Objects" { [INFO] [stdout] 451 | | MainViewState::sort_tree_for_display(&mut node.children); [INFO] [stdout] 452 | | } [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)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 448 ~ GitObjectType::Category(name) [INFO] [stdout] 449 | // Don't sort children of "objects" category (loose objects should keep their natural order) [INFO] [stdout] 450 ~ if name != "objects" && name != "Loose Objects" => { [INFO] [stdout] 451 | MainViewState::sort_tree_for_display(&mut node.children); [INFO] [stdout] 452 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:88:29 [INFO] [stdout] | [INFO] [stdout] 88 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 89 | | ... let new_index = [INFO] [stdout] 90 | | ... (git_objects.selected_index + 1) % git_objects.flat_view.len(); [INFO] [stdout] 91 | | ... git_objects.selected_index = new_index; [INFO] [stdout] ... | [INFO] [stdout] 106 | | ... (false, 0, false) [INFO] [stdout] 107 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 87 ~ } [INFO] [stdout] 88 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 89 | let new_index = [INFO] [stdout] ... [INFO] [stdout] 104 | (true, new_index, is_pack) [INFO] [stdout] 105 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:122:29 [INFO] [stdout] | [INFO] [stdout] 122 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 123 | | ... let new_index = if git_objects.selected_index > 0 { [INFO] [stdout] 124 | | ... git_objects.selected_index - 1 [INFO] [stdout] 125 | | ... } else { [INFO] [stdout] ... | [INFO] [stdout] 143 | | ... (false, 0, false) [INFO] [stdout] 144 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 121 ~ } [INFO] [stdout] 122 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 123 | let new_index = if git_objects.selected_index > 0 { [INFO] [stdout] ... [INFO] [stdout] 141 | (true, new_index, is_pack) [INFO] [stdout] 142 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:159:29 [INFO] [stdout] | [INFO] [stdout] 159 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 160 | | ... git_objects.selected_index = 0; [INFO] [stdout] 161 | | ... [INFO] [stdout] 162 | | ... let is_pack = git_objects [INFO] [stdout] ... | [INFO] [stdout] 175 | | ... (false, 0, false) [INFO] [stdout] 176 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 158 ~ } [INFO] [stdout] 159 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 160 | git_objects.selected_index = 0; [INFO] [stdout] ... [INFO] [stdout] 173 | (true, 0, is_pack) [INFO] [stdout] 174 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/tui/main_view/update.rs:191:29 [INFO] [stdout] | [INFO] [stdout] 191 | / ... if !git_objects.flat_view.is_empty() { [INFO] [stdout] 192 | | ... let new_index = git_objects.flat_view.len() - 1; [INFO] [stdout] 193 | | ... git_objects.selected_index = new_index; [INFO] [stdout] ... | [INFO] [stdout] 208 | | ... (false, 0, false) [INFO] [stdout] 209 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 190 ~ } [INFO] [stdout] 191 ~ if !git_objects.flat_view.is_empty() => { [INFO] [stdout] 192 | let new_index = git_objects.flat_view.len() - 1; [INFO] [stdout] ... [INFO] [stdout] 206 | (true, new_index, is_pack) [INFO] [stdout] 207 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/tui/main_view/view.rs:360:28 [INFO] [stdout] | [INFO] [stdout] 360 | if is_selected && matches!(preview_state.focus, PackFocus::PackObjectsList) [INFO] [stdout] | ____________________________^ [INFO] [stdout] 361 | | || is_selected && is_widescreen [INFO] [stdout] | |___________________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 360 - if is_selected && matches!(preview_state.focus, PackFocus::PackObjectsList) [INFO] [stdout] 361 - || is_selected && is_widescreen [INFO] [stdout] 360 + if !(!is_selected || !matches!(preview_state.focus, PackFocus::PackObjectsList) && !is_widescreen) [INFO] [stdout] | [INFO] [stdout] 360 - if is_selected && matches!(preview_state.focus, PackFocus::PackObjectsList) [INFO] [stdout] 361 - || is_selected && is_widescreen [INFO] [stdout] 360 + if (is_widescreen || matches!(preview_state.focus, PackFocus::PackObjectsList)) && is_selected [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/widget/pack_idx_details/mod.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub enum PackIndexWidget { [INFO] [stdout] 11 | | Uninitialized, [INFO] [stdout] | | ------------- the second-largest variant carries no data at all [INFO] [stdout] 12 | |/ Initialized { [INFO] [stdout] 13 | || pack_index: PackIndex, [INFO] [stdout] 14 | || scrollable_widget: ScrollableTextWidget, [INFO] [stdout] 15 | || }, [INFO] [stdout] | ||_____- the largest variant contains at least 1256 bytes [INFO] [stdout] 16 | | } [INFO] [stdout] | |__^ the entire enum is at least 1256 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 13 - pack_index: PackIndex, [INFO] [stdout] 13 + pack_index: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/tui/widget/pack_obj_details/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pub enum PackObjectWidget { [INFO] [stdout] 12 | | Uninitiolized, [INFO] [stdout] | | ------------- the second-largest variant carries no data at all [INFO] [stdout] 13 | |/ Initiolized { [INFO] [stdout] 14 | || pack_obj: PackObject, [INFO] [stdout] 15 | || scroll_position: usize, [INFO] [stdout] 16 | || max_scroll: usize, [INFO] [stdout] 17 | || text_cache: Option>, [INFO] [stdout] 18 | || }, [INFO] [stdout] | ||_____- the largest variant contains at least 272 bytes [INFO] [stdout] 19 | | } [INFO] [stdout] | |__^ the entire enum is at least 272 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 14 - pack_obj: PackObject, [INFO] [stdout] 14 + pack_obj: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s [INFO] running `Command { std: "docker" "inspect" "4218cc640526e436202eb091c5cf00065d174cb0dca4b888e08b4884483894f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4218cc640526e436202eb091c5cf00065d174cb0dca4b888e08b4884483894f5", kill_on_drop: false }` [INFO] [stdout] 4218cc640526e436202eb091c5cf00065d174cb0dca4b888e08b4884483894f5