aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/types2/testdata/check
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-07-12 22:39:39 -0700
committerRobert Griesemer <gri@golang.org>2021-07-14 23:33:52 +0000
commit4ff0e04c2e409aaeebe0cf5287dbed735f84e974 (patch)
treee2d67f5e15c375721fadeaef5fd34e6e9c0ba9b8 /src/cmd/compile/internal/types2/testdata/check
parent3a047326e896302724378e5d6b8684851ccfdbfd (diff)
downloadgo-4ff0e04c2e409aaeebe0cf5287dbed735f84e974.tar.gz
go-4ff0e04c2e409aaeebe0cf5287dbed735f84e974.zip
[dev.typeparams] cmd/compile/internal/types2: embedding stand-alone type parameters is not permitted
For #47127. Change-Id: Ie979ff56ae7c2dd0e5ce0ff39588f98ae68b5ee9 Reviewed-on: https://go-review.googlesource.com/c/go/+/334151 Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/testdata/check')
-rw-r--r--src/cmd/compile/internal/types2/testdata/check/issues.go22
-rw-r--r--src/cmd/compile/internal/types2/testdata/check/tinference.go242
2 files changed, 23 insertions, 21 deletions
diff --git a/src/cmd/compile/internal/types2/testdata/check/issues.go2 b/src/cmd/compile/internal/types2/testdata/check/issues.go2
index 88ae294d7c..32c4320d27 100644
--- a/src/cmd/compile/internal/types2/testdata/check/issues.go2
+++ b/src/cmd/compile/internal/types2/testdata/check/issues.go2
@@ -232,7 +232,7 @@ func _[T interface{ ~func() }](f T) {
type sliceOf[E any] interface{ ~[]E }
-func append[T interface{}, S sliceOf[T], T2 interface{ T }](s S, t ...T2) S
+func append[T interface{}, S sliceOf[T], T2 interface{}](s S, t ...T2) S
var f func()
var cancelSlice []context.CancelFunc
diff --git a/src/cmd/compile/internal/types2/testdata/check/tinference.go2 b/src/cmd/compile/internal/types2/testdata/check/tinference.go2
index 2fdb39ca7a..1b70981759 100644
--- a/src/cmd/compile/internal/types2/testdata/check/tinference.go2
+++ b/src/cmd/compile/internal/types2/testdata/check/tinference.go2
@@ -8,19 +8,20 @@ import "strconv"
type any interface{}
-func f0[A any, B interface{~C}, C interface{~D}, D interface{~A}](A, B, C, D)
-func _() {
- f := f0[string]
- f("a", "b", "c", "d")
- f0("a", "b", "c", "d")
-}
-
-func f1[A any, B interface{~A}](A, B)
-func _() {
- f := f1[int]
- f(int(0), int(0))
- f1(int(0), int(0))
-}
+// Embedding stand-alone type parameters is not permitted for now. Disabled.
+// func f0[A any, B interface{~C}, C interface{~D}, D interface{~A}](A, B, C, D)
+// func _() {
+// f := f0[string]
+// f("a", "b", "c", "d")
+// f0("a", "b", "c", "d")
+// }
+//
+// func f1[A any, B interface{~A}](A, B)
+// func _() {
+// f := f1[int]
+// f(int(0), int(0))
+// f1(int(0), int(0))
+// }
func f2[A any, B interface{~[]A}](A, B)
func _() {
@@ -29,13 +30,14 @@ func _() {
f2(byte(0), []byte{})
}
-func f3[A any, B interface{~C}, C interface{~*A}](A, B, C)
-func _() {
- f := f3[int]
- var x int
- f(x, &x, &x)
- f3(x, &x, &x)
-}
+// Embedding stand-alone type parameters is not permitted for now. Disabled.
+// func f3[A any, B interface{~C}, C interface{~*A}](A, B, C)
+// func _() {
+// f := f3[int]
+// var x int
+// f(x, &x, &x)
+// f3(x, &x, &x)
+// }
func f4[A any, B interface{~[]C}, C interface{~*A}](A, B, C)
func _() {