diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go index dc2ba75e69..befe3b2652 100644 --- a/src/cmd/compile/internal/gc/typecheck.go +++ b/src/cmd/compile/internal/gc/typecheck.go @@ -2532,7 +2532,7 @@ func lookdot(n *Node, t *Type, dostrcmp int) *Type { n.Xoffset = f1.Width n.Type = f1.Type if obj.Fieldtrack_enabled > 0 { - dotField[typeSym{t, s}] = f1 + dotField[typeSym{t.Orig, s}] = f1 } if t.Etype == TINTER { if Isptr[n.Left.Type.Etype] { diff --git a/src/cmd/compile/internal/gc/walk.go b/src/cmd/compile/internal/gc/walk.go index 91c0a47b2a..ce73018b8b 100644 --- a/src/cmd/compile/internal/gc/walk.go +++ b/src/cmd/compile/internal/gc/walk.go @@ -3873,7 +3873,7 @@ func usefield(n *Node) { if Isptr[t.Etype] { t = t.Type } - field := dotField[typeSym{t, n.Right.Sym}] + field := dotField[typeSym{t.Orig, n.Right.Sym}] if field == nil { Fatal("usefield %v %v without paramfld", n.Left.Type, n.Right.Sym) }