It does not answer your question, but possibly provides more clues: https://play.golang.org/p/s9Xnpcx8Mys
package main func main() { var a = "b" x := a + a // does not escape x = a + a // does not escape for i := 0; i < 1; i++ { x = a + a // a + a escapes to heap y := a + a // does not escape println(y) println(x) } } Only when a variable outside the loop is set inside the loop does it escape. On Wednesday, June 23, 2021 at 12:39:17 AM UTC-4 tapi...@gmail.com wrote: > > package main > > import "testing" > > var s33 = []byte{32: 'b'} > > var a = string(s33) > > func main() { > x := a + a // a + a does not escape > println(x) > } > > func Benchmark_e_33(b *testing.B) { > var x string > for i := 0; i < b.N; i++ { > x = a + a // a + a escapes to heap > } > println(x) > } > -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/897cf5d5-ff37-4aa7-964c-b12958a59742n%40googlegroups.com.