diff --git a/internal/slice/slice.go b/internal/slice/slice.go index bdafd379..309f883b 100644 --- a/internal/slice/slice.go +++ b/internal/slice/slice.go @@ -33,11 +33,19 @@ func DeepEqual[A any](a, b []A) bool { return false } - for _, va := range a { + ma := make(map[int]any) + mb := make(map[int]any) + + for i := 0; i < len(a); i++ { + ma[i] = a[i] + mb[i] = b[i] + } + + for _, va := range ma { found := false - for ib, vb := range b { + for kb, vb := range mb { if cmp.Equal(va, vb) { - b = RemoveFromSlice(b, ib) + delete(mb, kb) found = true break }