]> Cypherpunks repositories - gostls13.git/commitdiff
test: add test for export/import of recover & defer
authorDan Scales <danscales@google.com>
Mon, 4 Oct 2021 23:15:17 +0000 (16:15 -0700)
committerDan Scales <danscales@google.com>
Tue, 5 Oct 2021 20:53:02 +0000 (20:53 +0000)
Add a simple test with an exported generic function that does
recover/defer, to test that recover/defer are exported/imported
properly (and a generic function with recover/defer works fine).

Change-Id: Idc3af101cbb78fc96bf945f1f5eab2740dd8994b
Reviewed-on: https://go-review.googlesource.com/c/go/+/353883
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Trust: Dan Scales <danscales@google.com>

test/typeparam/recoverimp.dir/a.go [new file with mode: 0644]
test/typeparam/recoverimp.dir/main.go [new file with mode: 0644]
test/typeparam/recoverimp.go [new file with mode: 0644]
test/typeparam/recoverimp.out [new file with mode: 0644]

diff --git a/test/typeparam/recoverimp.dir/a.go b/test/typeparam/recoverimp.dir/a.go
new file mode 100644 (file)
index 0000000..a465fd1
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2021 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 a
+
+import "fmt"
+
+func F[T any](a T) {
+       defer func() {
+               if x := recover(); x != nil {
+                       fmt.Printf("panic: %v\n", x)
+               }
+       }()
+       panic(a)
+}
diff --git a/test/typeparam/recoverimp.dir/main.go b/test/typeparam/recoverimp.dir/main.go
new file mode 100644 (file)
index 0000000..c9d8e3c
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2021 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 main
+
+import "a"
+
+func main() {
+       a.F(5.3)
+       a.F("hello")
+}
diff --git a/test/typeparam/recoverimp.go b/test/typeparam/recoverimp.go
new file mode 100644 (file)
index 0000000..76930e5
--- /dev/null
@@ -0,0 +1,7 @@
+// rundir -G=3
+
+// Copyright 2021 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 ignored
diff --git a/test/typeparam/recoverimp.out b/test/typeparam/recoverimp.out
new file mode 100644 (file)
index 0000000..3c8b38c
--- /dev/null
@@ -0,0 +1,2 @@
+panic: 5.3
+panic: hello