Currently, when we create an OPTRLIT node, it defaults to the
OCOMPLIT's final element's position. But it improves error messages to
use the OCOMPLIT's own position instead.
Change-Id: Ibb031f543c7248d88d99fd0737685e01d86e2500
Reviewed-on: https://go-review.googlesource.com/c/go/+/197119
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
n.Orig = norig
if n.Type.IsPtr() {
- n = nod(OPTRLIT, n, nil)
+ n = nodl(n.Pos, OPTRLIT, n, nil)
n.SetTypecheck(1)
n.Type = n.Left.Type
n.Left.Type = t
func dotTypeEscape() *T2 { // #11931
var x interface{}
x = &T1{p: new(int)} // ERROR "new\(int\) escapes to heap" "&T1 literal does not escape"
- return &T2{
- T1: *(x.(*T1)), // ERROR "&T2 literal escapes to heap"
+ return &T2{ // ERROR "&T2 literal escapes to heap"
+ T1: *(x.(*T1)),
}
}