github.com/HaHadaxigua/yaegi@v1.0.1/_test/issue-1007.go (about) 1 package main 2 3 type TypeA struct { 4 B TypeB 5 } 6 7 type TypeB struct { 8 C1 *TypeC 9 C2 *TypeC 10 } 11 12 type TypeC struct { 13 Val string 14 D *TypeD 15 D2 *TypeD 16 } 17 18 type TypeD struct { 19 Name string 20 } 21 22 func build() *TypeA { 23 return &TypeA{ 24 B: TypeB{ 25 C2: &TypeC{Val: "22"}, 26 }, 27 } 28 } 29 30 func Bar(s string) string { 31 a := build() 32 return s + "-" + a.B.C2.Val 33 } 34 35 func main() { 36 println(Bar("test")) 37 } 38 39 // Output: 40 // test-22