Thank you, Ian. I will give this a shot. I currently solved this by modifying the imported package to accept a *context.Context instead of golang.org/x/net/context.Context.
On Friday, April 14, 2017 at 4:09:27 PM UTC-7, Ian Lance Taylor wrote: > > On Fri, Apr 14, 2017 at 3:34 PM, Ramachandran Gurumoorthy > <ram...@gmail.com <javascript:>> wrote: > > > > I am working on a piece of code that imports "context". All the APIs > include > > (foobar context.Context) variable. > > > > Another imported package expects "golang.org/x/net/context".Context as > an > > argument to one of its API. When I try to supply foobar to the api > > expecting ("golang.org/x/net/context".Context), I get a compiler error. > > > > cannot use &ctxt (type *"context".Context) as type > > *"golang.org/x/net/context".Context in argument to > > "gopkg.in/spacemonkeygo/monitor.v1/trace".Trace: > > *"golang.org/x/net/context".Context is pointer to interface, not > interface > > > > Question: Is there a way to cast context.Context to > > "golang.org/x/net/context".Context? > > In 1.9, type aliases will address this problem. In 1.8 and earlier, > no, there is no way. > > That said, it's odd to pass a *context.Context. A context.Context is > an interface type, and can normally be passed by value. If the API > genuinely does require a pointer, then you can workaround the problem > by writing something along the lines of > > import oldcontext "golang.org/x/net/context" > > var oldctxt oldcontext.Context = ctxt > trace.F(&oldctxt) > ctxt = oldctxt > > Since the two different Context types are both interface types with > the same methods, they are assignment-compatible. > > 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 golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.