aboutsummaryrefslogtreecommitdiff
path: root/test/typeparam/tparam1.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/typeparam/tparam1.go')
-rw-r--r--test/typeparam/tparam1.go32
1 files changed, 16 insertions, 16 deletions
diff --git a/test/typeparam/tparam1.go b/test/typeparam/tparam1.go
index 7043933326..698877a6f0 100644
--- a/test/typeparam/tparam1.go
+++ b/test/typeparam/tparam1.go
@@ -10,33 +10,33 @@ package tparam1
// The predeclared identifier "any" is only visible as a constraint
// in a type parameter list.
-var _ any // ERROR "undefined"
-func _(_ any) // ERROR "undefined"
-type _[_ any /* ok here */ ] struct{}
+var _ any // ERROR "cannot use any outside constraint position"
+func _(_ any) // ERROR "cannot use any outside constraint position"
+type _[_ any /* ok here */] struct{}
const N = 10
type (
- _[] struct{} // slice
- _[N] struct{} // array
- _[T any] struct{}
- _[T, T any] struct{} // ERROR "T redeclared"
- _[T1, T2 any, T3 any] struct{}
+ _ []struct{} // slice
+ _ [N]struct{} // array
+ _[T any] struct{}
+ _[T, T any] struct{} // ERROR "T redeclared"
+ _[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
+ var _ T1
}
// TODO(gri) expand this