aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-09-22 17:28:36 -0700
committerRobert Griesemer <gri@golang.org>2021-09-23 19:41:44 +0000
commitc0766d2cd0453b33da74407bcb0d32bbc5392c9b (patch)
treea90c3eb002a9bfe00048a01781de7d6a65b35a37
parent0626ac064d9300d16e1e5878777efc0430088569 (diff)
downloadgo-c0766d2cd0453b33da74407bcb0d32bbc5392c9b.tar.xz
go/types: avoid "declared but not used errors" for invalid variable initializations
This is a partial port of CL 351669 from types2 to go/types; it only copies the fix for variable usage. Eventually we may want to use the compiler error messages for assignment errors everywhere, but that doesn't need to happen now. Change-Id: I62b024b1b29cc27c29d919de3de44f944f6e2b4d Reviewed-on: https://go-review.googlesource.com/c/go/+/351670 Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
-rw-r--r--src/go/types/assignments.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/go/types/assignments.go b/src/go/types/assignments.go
index c46a97f2e2..2810133a1f 100644
--- a/src/go/types/assignments.go
+++ b/src/go/types/assignments.go
@@ -237,6 +237,7 @@ func (check *Checker) initVars(lhs []*Var, origRHS []ast.Expr, returnPos token.P
if len(lhs) != len(rhs) {
// invalidate lhs
for _, obj := range lhs {
+ obj.used = true // avoid declared but not used errors
if obj.typ == nil {
obj.typ = Typ[Invalid]
}