aboutsummaryrefslogtreecommitdiff
path: root/go/ssa/interp/testdata/fixedbugs/issue52835.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/ssa/interp/testdata/fixedbugs/issue52835.go')
-rw-r--r--go/ssa/interp/testdata/fixedbugs/issue52835.go27
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)
+ }
+}