/util/slices can be replaced by the official slices library added in go 1.21. This library is also the official version of golang.org/x/exp/slices.
Replace all uses of these libraries with slices
Modifications
Replace slice.ContainsString() with slices.Contains(). This is very simple.
Replace slice.RemoveString() with slices.DeleteFunc(), which involves a small inline boolean comparison function. RemoveString returned a copy of the slice, DeleteFunc modifies the slice in place. In the one case where we're using RemoveString to clone the slice (getPodCleanupPatch), slices.Clone() it before modifying.
Motivation
/util/slices
can be replaced by the official slices library added in go 1.21. This library is also the official version ofgolang.org/x/exp/slices
.Replace all uses of these libraries with slices
Modifications
Replace
slice.ContainsString()
withslices.Contains()
. This is very simple.Replace
slice.RemoveString()
withslices.DeleteFunc()
, which involves a small inline boolean comparison function.RemoveString
returned a copy of the slice,DeleteFunc
modifies the slice in place. In the one case where we're using RemoveString to clone the slice (getPodCleanupPatch
),slices.Clone()
it before modifying.Also fix a test name with a spelling mistake.
Verification
Test suite to catch the problems