From: Rémy Oudompheng Date: Tue, 7 Jan 2014 17:25:11 +0000 (+0100) Subject: cmd/gc: add missing dupok flag for interface method wrappers. X-Git-Tag: go1.3beta1~1039 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=095de8795ab55184c2c0029a9609f9d114d27234;p=gostls13.git cmd/gc: add missing dupok flag for interface method wrappers. R=rsc CC=golang-codereviews https://golang.org/cl/48420044 --- diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index f8e321c962..779580295f 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -2591,8 +2591,10 @@ genwrapper(Type *rcvr, Type *method, Sym *newnam, int iface) funcbody(fn); curfn = fn; - // wrappers where T is anonymous (struct{ NamedType }) can be duplicated. - if(rcvr->etype == TSTRUCT || isptr[rcvr->etype] && rcvr->type->etype == TSTRUCT) + // wrappers where T is anonymous (struct or interface) can be duplicated. + if(rcvr->etype == TSTRUCT || + rcvr->etype == TINTER || + isptr[rcvr->etype] && rcvr->type->etype == TSTRUCT) fn->dupok = 1; typecheck(&fn, Etop); typechecklist(fn->nbody, Etop);