]> Cypherpunks repositories - gostls13.git/commitdiff
go/types: avoid "declared but not used errors" for invalid variable initializations
authorRobert Griesemer <gri@golang.org>
Thu, 23 Sep 2021 00:28:36 +0000 (17:28 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 23 Sep 2021 19:41:44 +0000 (19:41 +0000)
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>
src/go/types/assignments.go

index c46a97f2e219b858b3e320cdff618820b0f85a39..2810133a1f93bcc53b7641069b30ab4206eac548 100644 (file)
@@ -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]
                        }