]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/types2: use the underlying TypeParam in
authorRobert Findley <rfindley@google.com>
Sun, 15 Aug 2021 23:47:08 +0000 (19:47 -0400)
committerRobert Findley <rfindley@google.com>
Mon, 16 Aug 2021 12:54:44 +0000 (12:54 +0000)
assignableTo

In CL 338310, assignableTo was altered to walk the constituent types of
TypeParams rather than Unions, but was not also adjusted to use under
rather than optype. This manifested in the port to go/types.

Change-Id: Ie057b96ce93cef204af88b536ea49344c9bc8f12
Reviewed-on: https://go-review.googlesource.com/c/go/+/342409
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/cmd/compile/internal/types2/operand.go

index 8336451e9ce16cee7bd19fb49635a1c4038bc6c4..19326b83428e90ddc6b2df98ffc04634108a12a7 100644 (file)
@@ -273,7 +273,7 @@ func (x *operand) assignableTo(check *Checker, T Type, reason *string) (bool, er
 
        // x is an untyped value representable by a value of type T.
        if isUntyped(Vu) {
-               if t, ok := Tu.(*TypeParam); ok {
+               if t, ok := under(T).(*TypeParam); ok {
                        return t.is(func(t *term) bool {
                                // TODO(gri) this could probably be more efficient
                                if t.tilde {