Hi, this has come up on the issue as well. Robert Griesemer provided an explanation <https://github.com/golang/go/issues/56351#issuecomment-1601751291>:
If the argument type (the type of the argument provided to clear) is a type > parameter (is of type parameter type), all types in its type set (in the > type set of the constraint corresponding to the type parameter) must be > maps or slices, and clear performs the operation corresponding to the > actual type argument (corresponding to the type of the actual type argument > with which the type parameter was instantiated). That is, the sentence is about this situation: func Clear[T, any, S ~[]T](s S) { clear(s) } func main() { Clear(make([]int, 42)) } In this case, the type of s is S, which is a type parameter. So `clear` performs the operation corresponding to the type argument - in this example []int. The sentence is a bit confusing (I've seen this question come up four times now), so it probably should be clarified a bit. On Wed, Jul 5, 2023 at 9:06 AM Tharaneedharan Vilwanathan < vdhar...@gmail.com> wrote: > Hi All, > > Go 1.21 introduces a new clear() builtin function. I see this text in > https://tip.golang.org/ref/spec#Clear: > > clear(t) type parameter see below > > If the argument type is a type parameter > <https://tip.golang.org/ref/spec#Type_parameter_declarations>, all types > in its type set must be maps or slices, and clear performs the operation > corresponding to the actual type argument. > > I am not able to make sense of it. What does this mean? Any examples on > the usage? > > Appreciate your help. > > Thanks > dharani > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/CAN-HoCn99D-m71aJr3DRzCJvk_c7h8OhG2O4wPC-1Wd2ruEYNg%40mail.gmail.com > <https://groups.google.com/d/msgid/golang-nuts/CAN-HoCn99D-m71aJr3DRzCJvk_c7h8OhG2O4wPC-1Wd2ruEYNg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAEkBMfFPof4VYTQWoAGN-B3FtvZJ%3D%3Dxs5s%3D-P%2BEwc%3DO%2BafFjYw%40mail.gmail.com.