From: Dave Cheney Date: Thu, 10 Aug 2017 01:28:10 +0000 (+0000) Subject: Revert "cmd/compile: discard duplicate inline method bodies" X-Git-Tag: go1.10beta1~1671 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f612cd704a260cf362e5b6307b7ace4eb83f5f56;p=gostls13.git Revert "cmd/compile: discard duplicate inline method bodies" This reverts commit f0b36269041eff3b8bbdd18e2ff41b06557235d1. Reason for revert: this change caused the runtime tests on all linux/amd64 and linux/386 builders to timeout Change-Id: Idf8cfdfc84540e21e8da403e74df5596a1d9327b Reviewed-on: https://go-review.googlesource.com/54490 Reviewed-by: Matthew Dempsky --- diff --git a/src/cmd/compile/internal/gc/bimport.go b/src/cmd/compile/internal/gc/bimport.go index ba542b4719..866b9a7525 100644 --- a/src/cmd/compile/internal/gc/bimport.go +++ b/src/cmd/compile/internal/gc/bimport.go @@ -484,7 +484,6 @@ func (p *importer) typ() *types.Type { t = pkgtype(p.imp, tsym) p.typList = append(p.typList, t) - dup := !t.IsKind(types.TFORW) // type already imported // read underlying type t0 := p.typ() @@ -515,19 +514,10 @@ func (p *importer) typ() *types.Type { result := p.paramList() nointerface := p.bool() - mt := functypefield(recv[0], params, result) - addmethod(sym, mt, false, nointerface) - - if dup { - // An earlier import already declared this type and its methods. - // Discard the duplicate method declaration. - p.funcList = append(p.funcList, nil) - continue - } - n := newfuncname(methodname(sym, recv[0].Type)) - n.Type = mt + n.Type = functypefield(recv[0], params, result) checkwidth(n.Type) + addmethod(sym, n.Type, false, nointerface) p.funcList = append(p.funcList, n) importlist = append(importlist, n)