arena_deep_nest.mx raw
1 // Regression: arena stack management under deep nesting with interface returns.
2
3 package main
4
5 import "fmt"
6
7 func nest0(s string) (r string) { r = s; return }
8
9 func nest1(s string) (r string) {
10 var v fmt.Stringer = nest0(s)
11 r = v.String()
12 return
13 }
14
15 func nest2(s string) (r string) {
16 var v fmt.Stringer = nest1(s)
17 r = v.String()
18 return
19 }
20
21 func nest3(s string) (r string) {
22 var v fmt.Stringer = nest2(s)
23 r = v.String()
24 return
25 }
26
27 func main() {
28 r := nest3("hello")
29 println(r)
30 }
31