]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/types2: remove a review comment in implicitTypeAndValue
authorRobert Griesemer <gri@golang.org>
Fri, 12 Nov 2021 01:32:15 +0000 (17:32 -0800)
committerRobert Griesemer <gri@golang.org>
Sat, 13 Nov 2021 00:26:21 +0000 (00:26 +0000)
Reviewed the code and simplified slightly. No semantic changes.

Change-Id: Ib785b912fbee97746324af87ac0c14a4bdb69477
Reviewed-on: https://go-review.googlesource.com/c/go/+/363440
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
src/cmd/compile/internal/types2/expr.go

index d72ee8c3402bc578cc7b559f05e731714a3dd7f6..6faa54475b6b5a0133af66fa42b2724dbf1e2ee4 100644 (file)
@@ -742,29 +742,25 @@ func (check *Checker) implicitTypeAndValue(x *operand, target Type) (Type, const
                        return nil, nil, _InvalidUntypedConversion
                }
        case *TypeParam:
-               // TODO(gri) review this code - doesn't look quite right
                assert(!tparamIsIface)
-               ok := u.underIs(func(t Type) bool {
-                       if t == nil {
+               if !u.underIs(func(u Type) bool {
+                       if u == nil {
                                return false
                        }
-                       target, _, _ := check.implicitTypeAndValue(x, t)
-                       return target != nil
-               })
-               if !ok {
+                       t, _, _ := check.implicitTypeAndValue(x, u)
+                       return t != nil
+               }) {
                        return nil, nil, _InvalidUntypedConversion
                }
        case *Interface:
                if tparamIsIface && isTypeParam(target) {
-                       // TODO(gri) review this code - doesn't look quite right
-                       ok := u.typeSet().underIs(func(t Type) bool {
-                               if t == nil {
+                       if !u.typeSet().underIs(func(u Type) bool {
+                               if u == nil {
                                        return false
                                }
-                               target, _, _ := check.implicitTypeAndValue(x, t)
-                               return target != nil
-                       })
-                       if !ok {
+                               t, _, _ := check.implicitTypeAndValue(x, u)
+                               return t != nil
+                       }) {
                                return nil, nil, _InvalidUntypedConversion
                        }
                        break