Now that untyped expressions are done in two phases, the
identity of operand.expr is used as a map key; when reusing
operand values we now must be careful to update the
expr field.
R=gri
CC=golang-dev
https://golang.org/cl/
7444049
x.mode = value
if s.Key != nil {
x.typ = key
+ x.expr = s.Key
check.assign1to1(s.Key, nil, &x, decl, -1)
} else {
check.invalidAST(s.Pos(), "range clause requires index iteration variable")
}
if s.Value != nil {
x.typ = val
+ x.expr = s.Value
check.assign1to1(s.Value, nil, &x, decl, -1)
}