diff options
Diffstat (limited to 'go/ssa/interp/testdata/fixedbugs/issue52835.go')
-rw-r--r-- | go/ssa/interp/testdata/fixedbugs/issue52835.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/go/ssa/interp/testdata/fixedbugs/issue52835.go b/go/ssa/interp/testdata/fixedbugs/issue52835.go new file mode 100644 index 000000000..f1d99abb7 --- /dev/null +++ b/go/ssa/interp/testdata/fixedbugs/issue52835.go @@ -0,0 +1,27 @@ +package main + +var called bool + +type I interface { + Foo() +} + +type A struct{} + +func (a A) Foo() { + called = true +} + +func lambda[X I]() func() func() { + return func() func() { + var x X + return x.Foo + } +} + +func main() { + lambda[A]()()() + if !called { + panic(called) + } +} |