]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/syntax: remove AllowTypeSets mode
authorRobert Griesemer <gri@golang.org>
Wed, 13 Oct 2021 18:50:46 +0000 (11:50 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 14 Oct 2021 01:51:22 +0000 (01:51 +0000)
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>
src/cmd/compile/internal/noder/noder.go
src/cmd/compile/internal/syntax/error_test.go
src/cmd/compile/internal/syntax/parser.go
src/cmd/compile/internal/syntax/parser_test.go
src/cmd/compile/internal/syntax/printer_test.go
src/cmd/compile/internal/syntax/syntax.go
src/cmd/compile/internal/types2/check_test.go

index 2e7b6366816e7345f16fad647af460b3152e73eb..7c14fcf04163bb557faaab267c95af89de979efb 100644 (file)
@@ -36,7 +36,7 @@ func LoadPackage(filenames []string) {
 
        mode := syntax.CheckBranches
        if supportsGenerics {
-               mode |= syntax.AllowGenerics | syntax.AllowTypeSets
+               mode |= syntax.AllowGenerics
        }
 
        // Limit the number of simultaneously open files.
index 0ab3c20ce53a12dcd39b89433a2baee66972b96b..d87e8eaee3213e8b31f6f19c1d8e61a4a306e1ab 100644 (file)
@@ -130,7 +130,7 @@ func testSyntaxErrors(t *testing.T, filename string) {
 
        var mode Mode
        if strings.HasSuffix(filename, ".go2") {
-               mode = AllowGenerics | AllowTypeSets
+               mode = AllowGenerics
        }
        ParseFile(filename, func(err error) {
                e, ok := err.(Error)
index a669c5471267d2bb113f709302aacb7a0988f42f..e78e77561df6a14dd806a8e59e485c2c71d54f6f 100644 (file)
@@ -1820,7 +1820,7 @@ func (p *parser) paramDeclOrNil(name *Name, follow token) *Field {
        }
 
        // 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 {
index 29682012e5d263df23acac63b9db9c1d15738e9a..68f3c376c929216693493d99894f0273c8f86e67 100644 (file)
@@ -26,11 +26,11 @@ var (
 )
 
 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 @@ func TestParseGo2(t *testing.T) {
        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)
                }
        }
 }
index 9b5331b148813a734305420c3fe5cc7f1ace875a..604f1fc1ca71a296ed449126a4e685a47145aeb4 100644 (file)
@@ -72,7 +72,7 @@ var stringTests = []string{
        "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 @@ var stringTests = []string{
 
 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
index 49ba87786ee113c995baa8b0ad3a02ce956f148b..f3d4c09ed5e045fad13d469def95cb386b73cd6a 100644 (file)
@@ -17,7 +17,6 @@ type Mode uint
 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.
index 5b2f09425bb55a9efbfec8206f3322850e7b26fd..bc68e76407193b493899d35abfaa9ac00211fca3 100644 (file)
@@ -100,7 +100,7 @@ func testFiles(t *testing.T, filenames []string, colDelta uint, manual bool) {
 
        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)