func field13() {
i := 0 // ERROR "moved to heap: i$"
- x := &X{p1: &i} // ERROR "field13 &X literal does not escape$"
+ x := &X{p1: &i} // ERROR "&X{...} does not escape$"
sink = x.p1
}
func field14() {
i := 0 // ERROR "moved to heap: i$"
// BAD: &i should not escape
- x := &X{p1: &i} // ERROR "field14 &X literal does not escape$"
+ x := &X{p1: &i} // ERROR "&X{...} does not escape$"
sink = x.p2
}
func field15() {
i := 0 // ERROR "moved to heap: i$"
- x := &X{p1: &i} // ERROR "&X literal escapes to heap$"
+ x := &X{p1: &i} // ERROR "&X{...} escapes to heap$"
sink = x
}
var x X
// BAD: &i should not escape
x.p1 = &i
- var iface interface{} = x // ERROR "field16 x does not escape"
+ var iface interface{} = x // ERROR "x does not escape"
x1 := iface.(X)
sink = x1.p2
}
i := 0 // ERROR "moved to heap: i$"
var x X
x.p1 = &i
- var iface interface{} = x // ERROR "field17 x does not escape"
+ var iface interface{} = x // ERROR "x does not escape"
x1 := iface.(X)
sink = x1.p1
}
var x X
// BAD: &i should not escape
x.p1 = &i
- var iface interface{} = x // ERROR "field18 x does not escape"
+ var iface interface{} = x // ERROR "x does not escape"
y, _ := iface.(Y) // Put X, but extracted Y. The cast will fail, so y is zero initialized.
sink = y // ERROR "y escapes to heap"
}