cmd/compile/internal/syntax: remove AllowTypeSets mode
The respective issue has been accepted, so we can always
accept constraint literals with omitted interfaces.
For #48424.
Change-Id: Ia3d325401252a5a22d5ffa98d2ae6af73178dec0
Reviewed-on: https://go-review.googlesource.com/c/go/+/355709
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
diff --git a/src/cmd/compile/internal/noder/noder.go b/src/cmd/compile/internal/noder/noder.go
index 2e7b636..7c14fcf 100644
--- a/src/cmd/compile/internal/noder/noder.go
+++ b/src/cmd/compile/internal/noder/noder.go
@@ -36,7 +36,7 @@
mode := syntax.CheckBranches
if supportsGenerics {
- mode |= syntax.AllowGenerics | syntax.AllowTypeSets
+ mode |= syntax.AllowGenerics
}
// Limit the number of simultaneously open files.
diff --git a/src/cmd/compile/internal/syntax/error_test.go b/src/cmd/compile/internal/syntax/error_test.go
index 0ab3c20..d87e8ea 100644
--- a/src/cmd/compile/internal/syntax/error_test.go
+++ b/src/cmd/compile/internal/syntax/error_test.go
@@ -130,7 +130,7 @@
var mode Mode
if strings.HasSuffix(filename, ".go2") {
- mode = AllowGenerics | AllowTypeSets
+ mode = AllowGenerics
}
ParseFile(filename, func(err error) {
e, ok := err.(Error)
diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go
index a669c54..e78e775 100644
--- a/src/cmd/compile/internal/syntax/parser.go
+++ b/src/cmd/compile/internal/syntax/parser.go
@@ -1820,7 +1820,7 @@
}
// type set notation is ok in type parameter lists
- typeSetsOk := p.mode&AllowTypeSets != 0 && follow == _Rbrack
+ typeSetsOk := follow == _Rbrack
pos := p.pos()
if name != nil {
diff --git a/src/cmd/compile/internal/syntax/parser_test.go b/src/cmd/compile/internal/syntax/parser_test.go
index 2968201..68f3c37 100644
--- a/src/cmd/compile/internal/syntax/parser_test.go
+++ b/src/cmd/compile/internal/syntax/parser_test.go
@@ -26,11 +26,11 @@
)
func TestParse(t *testing.T) {
- ParseFile(*src_, func(err error) { t.Error(err) }, nil, AllowGenerics|AllowTypeSets)
+ ParseFile(*src_, func(err error) { t.Error(err) }, nil, AllowGenerics)
}
func TestVerify(t *testing.T) {
- ast, err := ParseFile(*src_, func(err error) { t.Error(err) }, nil, AllowGenerics|AllowTypeSets)
+ ast, err := ParseFile(*src_, func(err error) { t.Error(err) }, nil, AllowGenerics)
if err != nil {
return // error already reported
}
@@ -46,7 +46,7 @@
for _, fi := range list {
name := fi.Name()
if !fi.IsDir() && !strings.HasPrefix(name, ".") {
- ParseFile(filepath.Join(dir, name), func(err error) { t.Error(err) }, nil, AllowGenerics|AllowTypeSets)
+ ParseFile(filepath.Join(dir, name), func(err error) { t.Error(err) }, nil, AllowGenerics)
}
}
}
diff --git a/src/cmd/compile/internal/syntax/printer_test.go b/src/cmd/compile/internal/syntax/printer_test.go
index 9b5331b..604f1fc 100644
--- a/src/cmd/compile/internal/syntax/printer_test.go
+++ b/src/cmd/compile/internal/syntax/printer_test.go
@@ -72,7 +72,7 @@
"package p; func (*R[A, B, C]) _()",
"package p; func (_ *R[A, B, C]) _()",
- // type constraint literals with elided interfaces (only if AllowTypeSets is set)
+ // type constraint literals with elided interfaces
"package p; func _[P ~int, Q int | string]() {}",
"package p; func _[P struct{f int}, Q *P]() {}",
@@ -94,7 +94,7 @@
func TestPrintString(t *testing.T) {
for _, want := range stringTests {
- ast, err := Parse(nil, strings.NewReader(want), nil, nil, AllowGenerics|AllowTypeSets)
+ ast, err := Parse(nil, strings.NewReader(want), nil, nil, AllowGenerics)
if err != nil {
t.Error(err)
continue
diff --git a/src/cmd/compile/internal/syntax/syntax.go b/src/cmd/compile/internal/syntax/syntax.go
index 49ba877..f3d4c09 100644
--- a/src/cmd/compile/internal/syntax/syntax.go
+++ b/src/cmd/compile/internal/syntax/syntax.go
@@ -17,7 +17,6 @@
const (
CheckBranches Mode = 1 << iota // check correct use of labels, break, continue, and goto statements
AllowGenerics
- AllowTypeSets // requires AllowGenerics; remove once #48424 is decided
)
// Error describes a syntax error. Error implements the error interface.
diff --git a/src/cmd/compile/internal/types2/check_test.go b/src/cmd/compile/internal/types2/check_test.go
index 5b2f094..bc68e76 100644
--- a/src/cmd/compile/internal/types2/check_test.go
+++ b/src/cmd/compile/internal/types2/check_test.go
@@ -100,7 +100,7 @@
var mode syntax.Mode
if strings.HasSuffix(filenames[0], ".go2") {
- mode |= syntax.AllowGenerics | syntax.AllowTypeSets
+ mode |= syntax.AllowGenerics
}
// parse files and collect parser errors
files, errlist := parseFiles(t, filenames, mode)