go/test/typeparam/mdempsky
Dan Scales 3cdf8b429e [dev.typeparams] cmd/compile: fixing case where type arg is an interface
In this case, we can't use an itab for doing a bound call, since we're
converting from an interface to an interface. We do a static or dynamic
type assert in new function assertToBound().

The dynamic type assert in assertToBound() is only needed if a bound is
parameterized. In that case, we must do a dynamic type assert, and
therefore need a dictionary entry for the type bound (see change in
getGfInfo). I'm not sure if we can somehow limit this case, since using
an interface as a type arg AND having the type bound of the type
arg be parameterized is a very unlikely case.

Had to add the TUNION case to parameterizedBy1() (which is only used for
extra checking).

Added a bunch of these test cases to 13.go, which now passes.

Change-Id: Ic22eed637fa879b5bbb46d36b40aaad6f90b9d01
Reviewed-on: https://go-review.googlesource.com/c/go/+/339898
Trust: Dan Scales <danscales@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
2021-08-05 17:33:41 +00:00
..
1.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
3.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
4.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
7.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
8.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
10.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
12.dir [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
1.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
2.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
3.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
4.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
5.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
6.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
7.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
8.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
9.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
10.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
11.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
12.go [dev.typeparams] test: add regress tests that fail(ed) with -G=3 2021-07-07 11:12:24 +00:00
13.go [dev.typeparams] cmd/compile: fixing case where type arg is an interface 2021-08-05 17:33:41 +00:00
14.go [dev.typeparams] Fix problem with 14.go 2021-07-22 04:45:49 +00:00
15.go [dev.typeparams] cmd/compile: fix unified IR support for //go:nointerface 2021-07-26 18:43:12 +00:00