From aee04cd8fe549337699e995defa4e5c7a60dc515 Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Mon, 28 Oct 2024 09:39:20 -0400 Subject: [PATCH] unique_append now returns the number of unique elements appended --- misc.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/misc.go b/misc.go index 5b89537..cf56708 100644 --- a/misc.go +++ b/misc.go @@ -16,12 +16,14 @@ func assert(cond bool) { } // Ensure that the given elements are only appended to the given slice if they -// don't already exist. -func unique_append[T comparable](slc []T, items ...T) []T { +// don't already exist. Returns the new slice, and the number of unique items appended. +func unique_append[T comparable](slc []T, items ...T) ([]T, int) { + num_appended := 0 for _, item := range items { if !slices.Contains(slc, item) { slc = append(slc, item) + num_appended++ } } - return slc + return slc, num_appended }