side expression evaluation in assignment operations.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/
7349046
"bufio",
"bytes",
- // "compress/bzip2",
+ "compress/bzip2",
"compress/flate",
"compress/gzip",
// "compress/lzw",
"crypto/elliptic",
"crypto/hmac",
"crypto/md5",
- // "crypto/rand",
+ "crypto/rand",
"crypto/rc4",
"crypto/rsa",
"crypto/sha1",
"go/parser",
"go/printer",
"go/scanner",
- // "go/token",
+ "go/token",
"go/types",
"hash/adler32",
"image/color",
"image/draw",
"image/gif",
- // "image/jpeg",
+ "image/jpeg",
"image/png",
"index/suffixarray",
"log",
"log/syslog",
- // "math",
+ "math",
//"math/big",
"math/cmplx",
"math/rand",
"net/rpc",
"net/rpc/jsonrpc",
"net/smtp",
- // "net/textproto",
+ "net/textproto",
"net/url",
"path",
return
}
var x, y operand
+ // The lhs operand's type doesn't need a hint (from the rhs operand),
+ // because it must be a fully typed variable in this case.
check.expr(&x, s.Lhs[0], nil, -1)
if x.mode == invalid {
return
}
- check.expr(&y, s.Rhs[0], nil, -1)
+ check.expr(&y, s.Rhs[0], x.typ, -1)
if y.mode == invalid {
return
}
s += "bar"
s += 1 /* ERROR "cannot convert.*string" */
+
+ var u64 uint64
+ u64 += 1<<u64
}
func _incdecs() {
var xx rune
xx = x
}
-}
\ No newline at end of file
+}