changeset 6694:a6eef829a2fe

perf: use `next_back` on `DoubleEndedIterator`
author Rolo <roloedits@gmail.com>
date Thu, 03 Apr 2025 14:37:20 -0700
parents bceab2105f9e
children 616d5982bd12
files helix-core/src/test.rs helix-lsp/src/client.rs helix-view/src/register.rs
diffstat 3 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/helix-core/src/test.rs	Thu Apr 03 14:36:17 2025 -0700
+++ b/helix-core/src/test.rs	Thu Apr 03 14:37:20 2025 -0700
@@ -65,7 +65,7 @@
         let head_at_beg = iter.next_if_eq(&"|").is_some();
         let last_grapheme = |s: &str| {
             UnicodeSegmentation::graphemes(s, true)
-                .last()
+                .next_back()
                 .map(String::from)
         };
 
--- a/helix-lsp/src/client.rs	Thu Apr 03 14:36:17 2025 -0700
+++ b/helix-lsp/src/client.rs	Thu Apr 03 14:37:20 2025 -0700
@@ -39,7 +39,7 @@
     lsp::WorkspaceFolder {
         name: uri
             .path_segments()
-            .and_then(|segments| segments.last())
+            .and_then(|mut segments| segments.next_back())
             .map(|basename| basename.to_string())
             .unwrap_or_default(),
         uri,
--- a/helix-view/src/register.rs	Thu Apr 03 14:36:17 2025 -0700
+++ b/helix-view/src/register.rs	Thu Apr 03 14:37:20 2025 -0700
@@ -145,7 +145,8 @@
     }
 
     pub fn last<'a>(&'a self, name: char, editor: &'a Editor) -> Option<Cow<'a, str>> {
-        self.read(name, editor).and_then(|values| values.last())
+        self.read(name, editor)
+            .and_then(|mut values| values.next_back())
     }
 
     pub fn iter_preview(&self) -> impl Iterator<Item = (char, &str)> {