Thanks Ian. Just to confirm: it's not possible that the dynamic type of x as seen from Go code would be ExplicitFunc, but the interface stores a *ExplicitFunc internally within the itab, and so the compiler generates (*ExplicitFunc).Call?
On Mon, Sep 19, 2016 at 3:46 PM Ian Lance Taylor <[email protected]> wrote: > On Mon, Sep 19, 2016 at 3:21 PM, Alex Flint <[email protected]> wrote: > > I am looking for help understanding the following lines in a Go > traceback: > > > > 6 File "specialized.go" line 163 in pythontype.ExplicitFunc.Call > > 7 File "<autogenerated>" line 510 in pythontype.(*ExplicitFunc).Call > > 8 File "propagate.go" line 622 in > > pythonstatic.(*propagator).evaluateCallExpr > > > > I am trying to understand what line 7 means in the following context: > > evaluateCallExpr takes a parameter x of type pythontype.Value, which is > an > > interface, and invokes x.Call(), which is one of the methods on that > > interface. One implementation of that interface is > pythontype.ExplicitFunc. > > Am I right in understanding from that traceback that the dynamic type of > the > > pythontype.Value was *pythontype.ExplicitFunc, not > pythontype.ExplicitFunc? > > Yes. > > 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.
