From b602daea1b94a8a578bafdc6ef6336c07fe63300 Mon Sep 17 00:00:00 2001 From: korzhao Date: Mon, 30 Aug 2021 17:09:51 +0800 Subject: cmd/compile: fix error when revcType is ptr in selectorExpr Fixes #48056 Change-Id: I13ca4caadbabf02084f66ab28b4cf0c4a3705370 Reviewed-on: https://go-review.googlesource.com/c/go/+/346049 Reviewed-by: Dan Scales Trust: Dan Scales Trust: Keith Randall Run-TryBot: Dan Scales TryBot-Result: Go Bot --- src/cmd/compile/internal/noder/expr.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/cmd/compile/internal/noder/expr.go') diff --git a/src/cmd/compile/internal/noder/expr.go b/src/cmd/compile/internal/noder/expr.go index 58637dca39..0e5257d7cf 100644 --- a/src/cmd/compile/internal/noder/expr.go +++ b/src/cmd/compile/internal/noder/expr.go @@ -270,7 +270,7 @@ func (g *irgen) selectorExpr(pos src.XPos, typ types2.Type, expr *syntax.Selecto if types2.AsInterface(recvType.Underlying()) != nil { fieldType := n.X.Type() for _, ix := range index[:len(index)-1] { - fieldType = fieldType.Field(ix).Type + fieldType = deref(fieldType).Field(ix).Type } if fieldType.Kind() == types.TTYPEPARAM { n.Selection = fieldType.Bound().AllMethods().Index(last) -- cgit v1.3