blob: 6a34b54a0721a4d3bc749939b3f1596ce0eaa0a5 [file] [log] [blame] [edit]
// Copyright 2023 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package test
import (
"testing"
)
var output int
type Object struct {
Val int
}
func (o *Object) Initialize() *Object {
o.Val = 5
return o
}
func (o *Object) Update() *Object {
o.Val = o.Val + 1
return o
}
func TestAutotmpLoopDepth(t *testing.T) {
f := func() {
for i := 0; i < 10; i++ {
var obj Object
obj.Initialize().Update()
output = obj.Val
}
}
if n := testing.AllocsPerRun(10, f); n > 0 {
t.Error("obj moved to heap")
}
}