SjB's go 1.6 port worked very well for me for pretty much all of my programs, but I did discover one corner case that causes problems. The TL;DR is that passing a go type to qml and back to go does not work.
Basically the old behaviour. After cloning this repo, try this:
GODEBUG=cgocheck=0 go run main.go
You should see it print, "Successfully called UseGoType()" and display a white rectangle.
If we use the 1.6 port (I have copied commit 0309d2df1d6572e107b2bd0712da5b517c4a49be here for your convenience) then it doesn't work quite like it used to:
mv vendor_cjb vendor
go run main.go
You should see something like:
panic: cannot find fold go reference
goroutine 1 [running, locked to thread]:
panic(0x5716e0, 0xc820090070)
/usr/local/go/src/runtime/panic.go:464 +0x3e6
.../vendor/gopkg.in/qml%2ev1.getFoldFromGoRef(0x7ffc3a3bc044, 0x8aec00)
.../vendor/gopkg.in/qml.v1/bridge.go:230 +0x9e
... cut ...