aboutsummaryrefslogtreecommitdiff
path: root/test/typeparam/tparam1.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-08-09 10:53:43 -0700
committerRobert Griesemer <gri@golang.org>2021-08-10 01:20:34 +0000
commite4cfa2f6dad8c73e98a4149948ded424df9c8501 (patch)
tree1247e3badd9ef3e109a0daf7eaf1cefb18c6c434 /test/typeparam/tparam1.go
parent508624f359f168cab32814f63d29a4305fb01588 (diff)
downloadgo-e4cfa2f6dad8c73e98a4149948ded424df9c8501.tar.gz
go-e4cfa2f6dad8c73e98a4149948ded424df9c8501.zip
[dev.typeparams] cmd/compile/internal/types2: parameterized functions must have a body
Add the respective check and add missing bodies to tests. Use {} as body for functions that don't return a result. Use { panic(0) } as body for functions that return a result. For #47069. Change-Id: Ia5d7525c9c036baf8a955d13bff448401e08235e Reviewed-on: https://go-review.googlesource.com/c/go/+/340911 Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'test/typeparam/tparam1.go')
-rw-r--r--test/typeparam/tparam1.go14
1 files changed, 7 insertions, 7 deletions
diff --git a/test/typeparam/tparam1.go b/test/typeparam/tparam1.go
index a196caf976..698877a6f0 100644
--- a/test/typeparam/tparam1.go
+++ b/test/typeparam/tparam1.go
@@ -24,17 +24,17 @@ type (
_[T1, T2 any, T3 any] struct{}
)
-func _[T any]()
-func _[T, T any]() // ERROR "T redeclared"
-func _[T1, T2 any](x T1) T2
+func _[T any]() {}
+func _[T, T any]() {} // ERROR "T redeclared"
+func _[T1, T2 any](x T1) T2 { panic(0) }
// Type parameters are visible from opening [ to end of function.
type C interface{}
-func _[T interface{}]()
-func _[T C]()
-func _[T struct{}]() // ERROR "not an interface"
-func _[T interface{ m() T }]()
+func _[T interface{}]() {}
+func _[T C]() {}
+func _[T struct{}]() {}// ERROR "not an interface"
+func _[T interface{ m() T }]() {}
func _[T1 interface{ m() T2 }, T2 interface{ m() T1 }]() {
var _ T1
}