Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR revamps the go-generics API for Go 1.23, which notably adds the "range over func" language feature and the
iter.Seq
anditer.Seq2
types, plus some associated functions in theslices
andmaps
stdlib packages.As such there is no longer a need for this module's earlier
iter.Of
type. Nor can this module'siter
package work as a drop-in replacement for the stdlibiter
, because Go does not yet support generic type aliases. (The stdlibiter
defines the genericSeq
andSeq2
types, and a drop-in replacement could work only by creating aliases for those types. Duplicating those type definitions would create new, distinct types that wouldn't work with the rest of the standard library.)Therefore the
iter
package is replaced with a newseqs
package providing many of the same features, all reimplemented in terms of Go's new iterators.After adapting to changes in Go 1.23, this module's
maps
package added even less than it did before, so it has been removed.