mirror of
https://github.com/golang/go
synced 2024-10-14 11:53:56 +00:00
iter: expose fundamental types to Go 1.23
These were previously only available with GOEXPERIMENT=rangefunc. For #61897. Change-Id: I86aea5ae8be1f7a2975b623325811221ed40d384 Reviewed-on: https://go-review.googlesource.com/c/go/+/557836 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Alan Donovan <adonovan@google.com>
This commit is contained in:
parent
5122a6796e
commit
5a181c5042
4
api/next/61897.txt
Normal file
4
api/next/61897.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
pkg iter, func Pull2[$0 interface{}, $1 interface{}](Seq2[$0, $1]) (func() ($0, $1, bool), func()) #61897
|
||||
pkg iter, func Pull[$0 interface{}](Seq[$0]) (func() ($0, bool), func()) #61897
|
||||
pkg iter, type Seq2[$0 interface{}, $1 interface{}] func(func($0, $1) bool) #61897
|
||||
pkg iter, type Seq[$0 interface{}] func(func($0) bool) #61897
|
4
doc/next/6-stdlib/3-iter.md
Normal file
4
doc/next/6-stdlib/3-iter.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
### Iterators
|
||||
|
||||
The new [`iter` package](/pkg/iter/) provides the basic definitions for
|
||||
working with user-defined iterators.
|
1
doc/next/6-stdlib/99-minor/iter/61897.md
Normal file
1
doc/next/6-stdlib/99-minor/iter/61897.md
Normal file
|
@ -0,0 +1 @@
|
|||
<!-- see ../../3-iter.md -->
|
|
@ -85,11 +85,9 @@ var depsRules = `
|
|||
< internal/reflectlite
|
||||
< errors
|
||||
< internal/oserror, math/bits
|
||||
< iter
|
||||
< RUNTIME;
|
||||
|
||||
internal/race
|
||||
< iter;
|
||||
|
||||
# slices depends on unsafe for overlapping check, cmp for comparison
|
||||
# semantics, and math/bits for # calculating bitlength of numbers.
|
||||
unsafe, cmp, math/bits
|
||||
|
@ -389,7 +387,6 @@ var depsRules = `
|
|||
internal/nettrace,
|
||||
internal/poll,
|
||||
internal/singleflight,
|
||||
internal/race,
|
||||
net/netip,
|
||||
os
|
||||
< net;
|
||||
|
|
|
@ -23,6 +23,7 @@ var stdPkgs = []string{
|
|||
"html",
|
||||
"image",
|
||||
"io",
|
||||
"iter",
|
||||
"log",
|
||||
"maps",
|
||||
"math",
|
||||
|
|
|
@ -2,13 +2,8 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build goexperiment.rangefunc
|
||||
|
||||
// Package iter provides basic definitions and operations
|
||||
// related to iteration in Go.
|
||||
//
|
||||
// This package is experimental and can only be imported
|
||||
// when building with GOEXPERIMENT=rangefunc.
|
||||
package iter
|
||||
|
||||
import (
|
||||
|
|
|
@ -2,12 +2,11 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build goexperiment.rangefunc
|
||||
|
||||
package iter
|
||||
package iter_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
. "iter"
|
||||
"runtime"
|
||||
"testing"
|
||||
)
|
||||
|
@ -33,7 +32,6 @@ func squares(n int) Seq2[int, int64] {
|
|||
}
|
||||
|
||||
func TestPull(t *testing.T) {
|
||||
|
||||
for end := 0; end <= 3; end++ {
|
||||
t.Run(fmt.Sprint(end), func(t *testing.T) {
|
||||
ng := runtime.NumGoroutine()
|
||||
|
|
Loading…
Reference in a new issue