Just a thought, but you are playing some complicated games with symlinks. This includes a cycle, where *vendor/src/github.com/bndw/pick/vendor *points back at itself. I suspect that this could be the problem. If I flatten everything out, replacing the links with actual files, and essentially removing vendoring, then the TestNewBackend test runs fine for me. In fact all the *github.com/bndw/pick* tests run fine.
On Saturday, October 21, 2017 at 5:18:37 AM UTC-4, Leon Klingele wrote: > > I've been trying to debug a really strange issue and stuck believing it > being a bug in the Go compiler toolchain. > > interface conversion: backends.Client is *mock.client, not *mock.client > > Steps to reproduce: > > $ cd $(mktemp -d) > $ git clone https://github.com/leonklingele/pick -b > interface-conversion-issue > pick-interface-conversion-issue > $ cd pick-interface-conversion-issue > $ make test > .. > === RUN TestNewBackend > --- FAIL: TestNewBackend (0.00s) > panic: interface conversion: backends.Client is *mock.client, not > *mock.client [recovered] > panic: interface conversion: backends.Client is *mock.client, not > *mock.client > .. > > Which effectively states that *mock.client != *mock.client :o > > Using c, err := _new(config) > instead of c, err := backends.NewWithType(clientName, config) > works fine which is really odd as both _new and backends.NewWithType return > a backends.Client > -- 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.