diff options
Diffstat (limited to 'src/cmd/compile/internal/syntax/testdata')
-rw-r--r-- | src/cmd/compile/internal/syntax/testdata/issue48382.go | 3 | ||||
-rw-r--r-- | src/cmd/compile/internal/syntax/testdata/issue52391.go | 17 | ||||
-rw-r--r-- | src/cmd/compile/internal/syntax/testdata/typeset.go | 14 |
3 files changed, 27 insertions, 7 deletions
diff --git a/src/cmd/compile/internal/syntax/testdata/issue48382.go b/src/cmd/compile/internal/syntax/testdata/issue48382.go index c00fee6f826..7c024a051f6 100644 --- a/src/cmd/compile/internal/syntax/testdata/issue48382.go +++ b/src/cmd/compile/internal/syntax/testdata/issue48382.go @@ -8,7 +8,8 @@ type _ func /* ERROR function type must have no type parameters */ [ /* ERROR em type _ func /* ERROR function type must have no type parameters */ [ x /* ERROR missing type constraint */ ]() type _ func /* ERROR function type must have no type parameters */ [P any]() -var _ = func /* ERROR function literal must have no type parameters */ [P any]() {} +var _ = (func /* ERROR function type must have no type parameters */ [P any]())(nil) +var _ = func /* ERROR function type must have no type parameters */ [P any]() {} type _ interface{ m /* ERROR interface method must have no type parameters */ [P any]() diff --git a/src/cmd/compile/internal/syntax/testdata/issue52391.go b/src/cmd/compile/internal/syntax/testdata/issue52391.go new file mode 100644 index 00000000000..f2098ceadb2 --- /dev/null +++ b/src/cmd/compile/internal/syntax/testdata/issue52391.go @@ -0,0 +1,17 @@ +// Copyright 2022 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 p + +type _ interface { + int + (int) + (*int) + *([]byte) + ~(int) + (int) | (string) + (int) | ~(string) + (/* ERROR unexpected ~ */ ~int) + (int /* ERROR unexpected \| */ | /* ERROR unexpected string */ string /* ERROR unexpected \) */ ) +} diff --git a/src/cmd/compile/internal/syntax/testdata/typeset.go b/src/cmd/compile/internal/syntax/testdata/typeset.go index 19b74f28eac..fe5c3f45a81 100644 --- a/src/cmd/compile/internal/syntax/testdata/typeset.go +++ b/src/cmd/compile/internal/syntax/testdata/typeset.go @@ -65,15 +65,17 @@ func _[_ t[t] | t[t]]() {} // Single-expression type parameter lists and those that don't start // with a (type parameter) name are considered array sizes. -// The term must be a valid expression (it could be a type - and then -// a type-checker will complain - but we don't allow ~ in the expr). +// The term must be a valid expression (it could be a type incl. a +// tilde term) but the type-checker will complain. type ( _[t] t - _[/* ERROR unexpected ~ */ ~t] t _[t|t] t - _[/* ERROR unexpected ~ */ ~t|t] t - _[t| /* ERROR unexpected ~ */ ~t] t - _[/* ERROR unexpected ~ */ ~t|~t] t + + // These are invalid and the type-checker will complain. + _[~t] t + _[~t|t] t + _[t|~t] t + _[~t|~t] t ) type ( |