mirror of
https://github.com/golang/go
synced 2024-09-04 23:44:16 +00:00
cmd/compile: use underlying OCOMPLIT's position for OPTRLIT
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>
This commit is contained in:
parent
3e428363c4
commit
efb9739203
|
@ -3026,7 +3026,7 @@ func typecheckcomplit(n *Node) (res *Node) {
|
|||
|
||||
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
|
||||
|
|
|
@ -220,8 +220,8 @@ type T2 struct {
|
|||
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)),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue