on main help sign in
fix: unused slice methods
commitcdb311d7cad4e5b79bcc329cc7cdaa05c315850d authorCarlos Alexandro Becker <caarlos0@users.noreply.github.com> dateMon 28 Jul 2025, 15:46 (1 year ago) parent88141b5
2 files changed+6−29
internal/csync/slices.go−16 internal/csync/slices_test.go+6−13
internal/csync/slices.go−16
@@ -112,15 +112,6 @@ func (s *Slice[T]) Len() int {
112112 return len(s.inner)
113113}
114114
115−// Slice returns a copy of the underlying slice.
116−func (s *Slice[T]) Slice() []T {
117− s.mu.RLock()
118− defer s.mu.RUnlock()
119− result := make([]T, len(s.inner))
120− copy(result, s.inner)
121− return result
122−}
123−
124115// SetSlice replaces the entire slice with a new one.
125116func (s *Slice[T]) SetSlice(items []T) {
126117 s.mu.Lock()
@@ -129,13 +120,6 @@ func (s *Slice[T]) SetSlice(items []T) {
129120 copy(s.inner, items)
130121}
131122
132−// Clear removes all elements from the slice.
133−func (s *Slice[T]) Clear() {
134− s.mu.Lock()
135− defer s.mu.Unlock()
136− s.inner = s.inner[:0]
137−}
138−
139123// Seq returns an iterator that yields elements from the slice.
140124func (s *Slice[T]) Seq() iter.Seq[T] {
141125 return func(yield func(T) bool) {
internal/csync/slices_test.go+6−13
@@ -1,6 +1,7 @@
11package csync
22
33import (
4+ "slices"
45 "sync"
56 "sync/atomic"
67 "testing"
@@ -145,7 +146,7 @@ func TestSlice(t *testing.T) {
145146 assert.Equal(t, 4, s.Len())
146147
147148 expected := []int{1, 2, 4, 5}
148− actual := s.Slice()
149+ actual := slices.Collect(s.Seq())
149150 assert.Equal(t, expected, actual)
150151
151152 // Delete out of bounds
@@ -203,7 +204,7 @@ func TestSlice(t *testing.T) {
203204 s.SetSlice(newItems)
204205
205206 assert.Equal(t, 3, s.Len())
206− assert.Equal(t, newItems, s.Slice())
207+ assert.Equal(t, newItems, slices.Collect(s.Seq()))
207208
208209 // Verify it's a copy
209210 newItems[0] = 999
@@ -212,23 +213,15 @@ func TestSlice(t *testing.T) {
212213 assert.Equal(t, 10, val)
213214 })
214215
215− t.Run("Clear", func(t *testing.T) {
216− s := NewSliceFrom([]int{1, 2, 3})
217− assert.Equal(t, 3, s.Len())
218−
219− s.Clear()
220− assert.Equal(t, 0, s.Len())
221− })
222−
223216 t.Run("Slice", func(t *testing.T) {
224217 original := []int{1, 2, 3}
225218 s := NewSliceFrom(original)
226219
227− copy := s.Slice()
228− assert.Equal(t, original, copy)
220+ copied := slices.Collect(s.Seq())
221+ assert.Equal(t, original, copied)
229222
230223 // Verify it's a copy
231− copy[0] = 999
224+ copied[0] = 999
232225 val, ok := s.Get(0)
233226 require.True(t, ok)
234227 assert.Equal(t, 1, val)