// example.go package main
import "runtime" type S struct{} func main() { var stats runtime.MemStats runtime.ReadMemStats(&stats) println(stats.Mallocs) var x S runtime.ReadMemStats(&stats) println(stats.Mallocs) _ = *ref(x) runtime.ReadMemStats(&stats) println(stats.Mallocs) } func ref(z S) *S { return &z } go build -gcflags '-N -l' example.go && ./example or go run -gcflags '-N -l' example.go results: ./example.go:21: &z escapes to heap ./example.go:20: moved to heap: z ./example.go:10: main &stats does not escape ./example.go:13: main &stats does not escape ./example.go:16: main &stats does not escape 61 61 61 -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.