aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/types2/assignments.go3
-rw-r--r--src/go/types/assignments.go3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/types2/assignments.go b/src/cmd/compile/internal/types2/assignments.go
index 59f29b8f62..15d2a89934 100644
--- a/src/cmd/compile/internal/types2/assignments.go
+++ b/src/cmd/compile/internal/types2/assignments.go
@@ -235,9 +235,10 @@ func (check *Checker) lhsVar(lhs syntax.Expr) Type {
func (check *Checker) assignVar(lhs, rhs syntax.Expr, x *operand) {
T := check.lhsVar(lhs) // nil if lhs is _
if T == Typ[Invalid] {
- check.use(rhs)
if x != nil {
x.mode = invalid
+ } else {
+ check.use(rhs)
}
return
}
diff --git a/src/go/types/assignments.go b/src/go/types/assignments.go
index f036142caa..b0d11dfb82 100644
--- a/src/go/types/assignments.go
+++ b/src/go/types/assignments.go
@@ -234,9 +234,10 @@ func (check *Checker) lhsVar(lhs ast.Expr) Type {
func (check *Checker) assignVar(lhs, rhs ast.Expr, x *operand) {
T := check.lhsVar(lhs) // nil if lhs is _
if T == Typ[Invalid] {
- check.use(rhs)
if x != nil {
x.mode = invalid
+ } else {
+ check.use(rhs)
}
return
}