aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2022-08-01 13:23:36 -0700
committerDmitri Shuralyov <dmitshur@golang.org>2022-08-01 22:43:15 +0000
commit56ec1163e38fbfe40dd2bfdf7a7fdfe9f8ccf6f8 (patch)
treec04f354496a5e889e77b6d83fb4b47d7924b0f97
parentec7bf2007e1a938f69b61014108e59f5eefdb2b1 (diff)
downloadgo-56ec1163e38fbfe40dd2bfdf7a7fdfe9f8ccf6f8.tar.gz
go-56ec1163e38fbfe40dd2bfdf7a7fdfe9f8ccf6f8.zip
[release-branch.go1.19] test: improve generic type assertion test
The test added in CL 420674 only tested that the type assertions compiled at all. This CL changes it into a run test to make sure the type assertions compile and also run correctly. Updates #54135. Change-Id: Id17469faad1bb55ff79b0bb4163ef50179330033 Reviewed-on: https://go-review.googlesource.com/c/go/+/420421 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com> (cherry picked from commit f2a9f3e2e0ce7e582d226ad9a41d3c36b146fc25) Reviewed-on: https://go-review.googlesource.com/c/go/+/420675 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-rw-r--r--test/typeparam/issue54135.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/test/typeparam/issue54135.go b/test/typeparam/issue54135.go
index dffef60d0d..b489a51416 100644
--- a/test/typeparam/issue54135.go
+++ b/test/typeparam/issue54135.go
@@ -1,4 +1,4 @@
-// compile
+// run
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
@@ -19,8 +19,12 @@ type Baz interface {
}
func check[T comparable](p Bar[T]) {
- _, _ = p.(any)
- _, _ = p.(Baz)
+ if x, ok := p.(any); !ok || x != p {
+ panic("FAIL")
+ }
+ if _, ok := p.(Baz); ok {
+ panic("FAIL")
+ }
}
func main() {