]> Cypherpunks repositories - gostls13.git/commitdiff
go/types: use singular in version error messages
authorRobert Griesemer <gri@golang.org>
Mon, 29 Aug 2022 23:10:03 +0000 (16:10 -0700)
committerGopher Robot <gobot@golang.org>
Fri, 2 Sep 2022 01:40:02 +0000 (01:40 +0000)
This matches the majority use case as well as types2.

For #54511.

Change-Id: If800afc35db8d32cca8329ed9d6a80b4a15c4878
Reviewed-on: https://go-review.googlesource.com/c/go/+/426477
Reviewed-by: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>

src/go/types/resolver.go
src/go/types/testdata/fixedbugs/issue47818.go

index ae0289ad830d190e9966a6096b2fd289cb1b617b..09fb7b45ad370724f8e1df71b18ea2e078ff237b 100644 (file)
@@ -383,7 +383,7 @@ func (check *Checker) collectObjects() {
                                }
                        case typeDecl:
                                if d.spec.TypeParams.NumFields() != 0 && !check.allowVersion(pkg, 1, 18) {
-                                       check.softErrorf(d.spec.TypeParams.List[0], _UnsupportedFeature, "type parameters require go1.18 or later")
+                                       check.softErrorf(d.spec.TypeParams.List[0], _UnsupportedFeature, "type parameter requires go1.18 or later")
                                }
                                obj := NewTypeName(d.spec.Name.Pos(), pkg, d.spec.Name.Name, nil)
                                check.declarePkgObj(d.spec.Name, obj, &declInfo{file: fileScope, tdecl: d.spec})
@@ -441,7 +441,7 @@ func (check *Checker) collectObjects() {
                                        check.recordDef(d.decl.Name, obj)
                                }
                                if d.decl.Type.TypeParams.NumFields() != 0 && !check.allowVersion(pkg, 1, 18) && !hasTParamError {
-                                       check.softErrorf(d.decl.Type.TypeParams.List[0], _UnsupportedFeature, "type parameters require go1.18 or later")
+                                       check.softErrorf(d.decl.Type.TypeParams.List[0], _UnsupportedFeature, "type parameter requires go1.18 or later")
                                }
                                info := &declInfo{file: fileScope, fdecl: d.decl}
                                // Methods are not package-level objects but we still track them in the
index 2db095c243ecbacfad8e7badaa87acc4c521dffd..5aa3b82a8d8e447d0cd31448a0f11d5e1f1ec8d6 100644 (file)
 
 package p
 
-type T[P /* ERROR type parameters require go1\.18 or later */ any /* ERROR predeclared any requires go1\.18 or later */ ] struct{}
+type T[P /* ERROR type parameter requires go1\.18 or later */ any /* ERROR predeclared any requires go1\.18 or later */] struct{}
 
 // for init (and main, but we're not in package main) we should only get one error
-func init[P /* ERROR func init must have no type parameters */ any /* ERROR predeclared any requires go1\.18 or later */ ]()   {}
-func main[P /* ERROR type parameters require go1\.18 or later */ any /* ERROR predeclared any requires go1\.18 or later */ ]() {}
+func init[P /* ERROR func init must have no type parameters */ any /* ERROR predeclared any requires go1\.18 or later */]() {
+}
+func main[P /* ERROR type parameter requires go1\.18 or later */ any /* ERROR predeclared any requires go1\.18 or later */]() {
+}
 
-func f[P /* ERROR type parameters require go1\.18 or later */ any /* ERROR predeclared any requires go1\.18 or later */ ](x P) {
+func f[P /* ERROR type parameter requires go1\.18 or later */ any /* ERROR predeclared any requires go1\.18 or later */](x P) {
        var _ T[ /* ERROR type instantiation requires go1\.18 or later */ int]
        var _ (T[ /* ERROR type instantiation requires go1\.18 or later */ int])
        _ = T[ /* ERROR type instantiation requires go1\.18 or later */ int]{}