From 4ea82a9ed2e52b67169e5edb1c8f367976593672 Mon Sep 17 00:00:00 2001 From: William Dillon Date: Fri, 28 Nov 2025 13:29:27 -0500 Subject: [PATCH] making set more generic --- set.go | 15 ++------------- set_test.go | 12 ------------ 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/set.go b/set.go index 3618287..d952640 100644 --- a/set.go +++ b/set.go @@ -2,14 +2,11 @@ package set import ( "maps" - "sort" - - "golang.org/x/exp/constraints" ) -type Set[T constraints.Ordered] map[T]struct{} +type Set[T comparable] map[T]struct{} -func New[T constraints.Ordered](elements ...T) Set[T] { +func New[T comparable](elements ...T) Set[T] { s := Set[T]{} for _, e := range elements { s.Add(e) @@ -46,14 +43,6 @@ func (s Set[T]) ToSlice() []T { return elements } -func (s Set[T]) ToSortedSlice() []T { - elements := s.ToSlice() - sort.Slice(elements, func(i, j int) bool { - return elements[i] < elements[j] - }) - return elements -} - func (s Set[T]) Union(other Set[T]) Set[T] { result := New[T]() for e := range s { diff --git a/set_test.go b/set_test.go index 6cf2ed3..7002351 100644 --- a/set_test.go +++ b/set_test.go @@ -194,15 +194,3 @@ func TestToSlice(t *testing.T) { } } } - -func TestToSortedSlice(t *testing.T) { - s := New[int](3, 1, 2) - want := []int{1, 2, 3} - got := s.ToSortedSlice() - for i := range want { - if got[i] != want[i] { - t.Errorf("ToSortedSlice() = %v; want %v", got, want) - break - } - } -}