Skip to content

Commit 25816d4

Browse files
committed
internal/goexperiment: delete RangeFunc goexperiment
It is now always enabeld. The GOEXPERIMENT doesn't control anything. Remove. Change-Id: I50eb09f4537f90ec28152eb59a5a689127843fce Reviewed-on: https://go-review.googlesource.com/c/go/+/684838 Reviewed-by: Michael Knyszek <mknyszek@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
1 parent 7961bf7 commit 25816d4

File tree

15 files changed

+6
-59
lines changed

15 files changed

+6
-59
lines changed

‎src/cmd/compile/internal/types2/check_test.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,6 @@ func TestIssue47243_TypedRHS(t *testing.T) {
399399
}
400400

401401
func TestCheck(t *testing.T) {
402-
old := buildcfg.Experiment.RangeFunc
403-
defer func() {
404-
buildcfg.Experiment.RangeFunc = old
405-
}()
406-
buildcfg.Experiment.RangeFunc = true
407-
408402
DefPredeclaredTestFuncs()
409403
testDirFiles(t, "../../../../internal/types/testdata/check", 50, false) // TODO(gri) narrow column tolerance
410404
}

‎src/cmd/compile/internal/types2/range.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ package types2
99
import (
1010
"cmd/compile/internal/syntax"
1111
"go/constant"
12-
"internal/buildcfg"
1312
. "internal/types/errors"
1413
)
1514

@@ -237,7 +236,7 @@ func rangeKeyVal(check *Checker, orig Type, allowVersion func(goVersion) bool) (
237236
assert(typ.dir != SendOnly)
238237
return typ.elem, nil, "", true
239238
case *Signature:
240-
if !buildcfg.Experiment.RangeFunc && allowVersion != nil && !allowVersion(go1_23) {
239+
if allowVersion != nil && !allowVersion(go1_23) {
241240
return bad("requires go1.23 or later")
242241
}
243242
// check iterator arity

‎src/go/types/check_test.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -426,12 +426,6 @@ func TestIssue47243_TypedRHS(t *testing.T) {
426426
}
427427

428428
func TestCheck(t *testing.T) {
429-
old := buildcfg.Experiment.RangeFunc
430-
defer func() {
431-
buildcfg.Experiment.RangeFunc = old
432-
}()
433-
buildcfg.Experiment.RangeFunc = true
434-
435429
DefPredeclaredTestFuncs()
436430
testDirFiles(t, "../../internal/types/testdata/check", false)
437431
}

‎src/go/types/range.go

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/internal/goexperiment/exp_rangefunc_off.go

Lines changed: 0 additions & 8 deletions
This file was deleted.

‎src/internal/goexperiment/exp_rangefunc_on.go

Lines changed: 0 additions & 8 deletions
This file was deleted.

‎src/internal/goexperiment/flags.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,6 @@ type Flags struct {
100100
// inlining phase within the Go compiler.
101101
NewInliner bool
102102

103-
// RangeFunc enables range over func.
104-
RangeFunc bool
105-
106103
// AliasTypeParams enables type parameters for alias types.
107104
// Requires that gotypesalias=1 is set with GODEBUG.
108105
// This flag will be removed with Go 1.25.

‎src/internal/trace/trace_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,6 @@ func testTraceProg(t *testing.T, progName string, extra func(t *testing.T, trace
610610
buildCmd.Args = append(buildCmd.Args, "-race")
611611
}
612612
buildCmd.Args = append(buildCmd.Args, testPath)
613-
buildCmd.Env = append(os.Environ(), "GOEXPERIMENT=rangefunc")
614613
buildOutput, err := buildCmd.CombinedOutput()
615614
if err != nil {
616615
t.Fatalf("failed to build %s: %v: output:\n%s", testPath, err, buildOutput)

‎src/runtime/crash_test.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -186,21 +186,6 @@ func buildTestProg(t *testing.T, binary string, flags ...string) (string, error)
186186
t.Logf("running %v", cmd)
187187
cmd.Dir = "testdata/" + binary
188188
cmd = testenv.CleanCmdEnv(cmd)
189-
190-
// Add the rangefunc GOEXPERIMENT unconditionally since some tests depend on it.
191-
// TODO(61405): Remove this once it's enabled by default.
192-
edited := false
193-
for i := range cmd.Env {
194-
e := cmd.Env[i]
195-
if _, vars, ok := strings.Cut(e, "GOEXPERIMENT="); ok {
196-
cmd.Env[i] = "GOEXPERIMENT=" + vars + ",rangefunc"
197-
edited = true
198-
}
199-
}
200-
if !edited {
201-
cmd.Env = append(cmd.Env, "GOEXPERIMENT=rangefunc")
202-
}
203-
204189
out, err := cmd.CombinedOutput()
205190
if err != nil {
206191
target.err = fmt.Errorf("building %s %v: %v\n%s", binary, flags, err, out)

‎src/runtime/race/testdata/rangefunc_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// Use of this source code is governed by a BSD-style
33
// license that can be found in the LICENSE file.
44

5-
//go:build goexperiment.rangefunc
6-
75
package race_test
86

97
import (

0 commit comments

Comments
 (0)