From 36c171763e4bb5acab9dd9c987e41acbffd143b1 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Thu, 19 Aug 2021 21:35:57 -0700 Subject: [PATCH] [release-branch.go1.17] go/types: don't override x.mode before using it Changing the mode of x before using the old value is clearly wrong. And x is not needed anymore afterward so besides being misplaced, the assignment is not needed in the first place. Tested manually as it's a bit complicated to set up a test. Fixes #47854. Change-Id: I06f1fa9443eb98009b4276f566d557fd52f1d6d3 Reviewed-on: https://go-review.googlesource.com/c/go/+/343809 Trust: Robert Griesemer Reviewed-by: Matthew Dempsky (cherry picked from commit e17439e0877d6ddb6881d9eb59758c27cc62f930) Reviewed-on: https://go-review.googlesource.com/c/go/+/347149 Run-TryBot: Robert Griesemer Run-TryBot: Robert Findley Reviewed-by: Robert Findley Trust: Robert Findley Trust: Cherry Mui TryBot-Result: Go Bot --- src/go/types/call.go | 1 - 1 file changed, 1 deletion(-) diff --git a/src/go/types/call.go b/src/go/types/call.go index 631ea426c6..336b526a28 100644 --- a/src/go/types/call.go +++ b/src/go/types/call.go @@ -224,7 +224,6 @@ func (check *Checker) exprList(elist []ast.Expr, allowCommaOk bool) (xlist []*op // exactly one (possibly invalid or comma-ok) value xlist = []*operand{&x} if allowCommaOk && (x.mode == mapindex || x.mode == commaok || x.mode == commaerr) { - x.mode = value x2 := &operand{mode: value, expr: e, typ: Typ[UntypedBool]} if x.mode == commaerr { x2.typ = universeError -- 2.48.1