On Tue, Jun 27, 2017 at 11:06 AM, Jon Bodner <[email protected]> wrote: > > I was writing up an example to demonstrate that embedded fields in a > dynamically generated struct don't delegate. Except that I somehow made one > that did: > > https://play.golang.org/p/TWApy-JibG > > What's extra-odd is that the behavior is completely wrong; it's doubling off > of the wrong field. > > Any idea what's going on? https://github.com/golang/go/issues/15924 states > that this shouldn't have happened.
Hmmm, that's fairly bad. Please file a bug report at https://golang.org/issue . Thanks. Issue 15924 is carefully worded. reflect.StructOf does not generate wrapper methods for embedded fields. But for an embedded field which is not a pointer and is the first field of the struct, you don't actually need a wrapper method. StructOf does keep those methods around on the newly generated type. But an embedded non-pointer that is not the first field does require a wrapper, and it looks like not only is StructOf not generating those wrappers, it is keeping the original method which then winds up using the data at the wrong offset. At least, that is my first impression. Ian -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
