From 56e55a388986ed9c770a21e9c58df38e021b577b Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Thu, 11 Nov 2021 17:32:15 -0800 Subject: [PATCH] cmd/compile/internal/types2: remove a review comment in implicitTypeAndValue 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 Run-TryBot: Robert Griesemer Reviewed-by: Robert Findley --- src/cmd/compile/internal/types2/expr.go | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/cmd/compile/internal/types2/expr.go b/src/cmd/compile/internal/types2/expr.go index d72ee8c340..6faa54475b 100644 --- a/src/cmd/compile/internal/types2/expr.go +++ b/src/cmd/compile/internal/types2/expr.go @@ -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 -- 2.50.0