mirror of https://github.com/golang/go.git
A composite literal assignment
x = T{field: v}
may be compiled to
x = T{}
x.field = v
We already do not use this form is RHS uses LHS. If LHS is
address-taken, RHS may uses LHS implicitly, e.g.
v = &x.field
x = T{field: *v}
The lowering above would change the value of RHS (*v).
Fixes #52953.
Change-Id: I3f798e00598aaa550b8c17182c7472fef440d483
Reviewed-on: https://go-review.googlesource.com/c/go/+/407014
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
|
||
|---|---|---|
| .. | ||
| addr2line | ||
| api | ||
| asm | ||
| buildid | ||
| cgo | ||
| compile | ||
| cover | ||
| dist | ||
| doc | ||
| fix | ||
| go | ||
| gofmt | ||
| internal | ||
| link | ||
| nm | ||
| objdump | ||
| pack | ||
| pprof | ||
| test2json | ||
| trace | ||
| vendor | ||
| vet | ||
| README.vendor | ||
| go.mod | ||
| go.sum | ||
README.vendor
See src/README.vendor for information on loading vendored packages and updating the vendor directory.