From dea3d25bcc1cb4018a9ab7214b7419fcbaf89e27 Mon Sep 17 00:00:00 2001 From: Peer Sommerlund Date: Thu, 29 May 2025 14:12:12 +0200 Subject: [PATCH] Avoid exposing internal tuple in CommitList.marked (#2638) * Document tuple used in CommitList.marked * Remove CommitList::marked() to avoid exposing internal structure --- src/components/commitlist.rs | 12 +++--------- src/tabs/revlog.rs | 8 ++++---- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/components/commitlist.rs b/src/components/commitlist.rs index dde38ba0..06c48e75 100644 --- a/src/components/commitlist.rs +++ b/src/components/commitlist.rs @@ -45,6 +45,9 @@ pub struct CommitList { items: ItemBatch, highlights: Option>>, commits: IndexSet, + /// The marked commits. + /// `self.marked[].0` holds the commit index into `self.items.items` - used for ordering the list. + /// `self.marked[].1` is the commit id of the marked commit. marked: Vec<(usize, CommitId)>, scroll_state: (Instant, f32), tags: Option, @@ -114,15 +117,6 @@ impl CommitList { self.marked.len() } - /// - #[expect( - clippy::missing_const_for_fn, - reason = "as of 1.86.0 clippy wants this to be const even though that breaks" - )] - pub fn marked(&self) -> &[(usize, CommitId)] { - &self.marked - } - /// pub fn clear_marked(&mut self) { self.marked.clear(); diff --git a/src/tabs/revlog.rs b/src/tabs/revlog.rs index ff4f9a0f..74f7d1b0 100644 --- a/src/tabs/revlog.rs +++ b/src/tabs/revlog.rs @@ -586,19 +586,19 @@ impl Component for Revlog { self.queue.push(InternalEvent::OpenPopup( StackablePopupOpen::CompareCommits( InspectCommitOpen::new( - self.list.marked()[0].1, + self.list.marked_commits()[0], ), ), )); return Ok(EventState::Consumed); } else if self.list.marked_count() == 2 { //compare two marked commits - let marked = self.list.marked(); + let marked = self.list.marked_commits(); self.queue.push(InternalEvent::OpenPopup( StackablePopupOpen::CompareCommits( InspectCommitOpen { - commit_id: marked[0].1, - compare_id: Some(marked[1].1), + commit_id: marked[0], + compare_id: Some(marked[1]), tags: None, }, ),