1
0
mirror of https://github.com/golang/go synced 2024-11-17 18:24:45 -07:00

Revert "cmd/compile: discard duplicate inline method bodies"

This reverts commit f0b3626904.

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 <mdempsky@google.com>
This commit is contained in:
Dave Cheney 2017-08-10 01:28:10 +00:00
parent 6362fead87
commit f612cd704a

View File

@ -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)