According to the Go 1.15 documentation, the change introduced in
https://golang.org/cl/229578 should change the program behavior, and users are expected to perform modifications to their code.
> Package unsafe's safety rules allow converting an unsafe.Pointer into uintptr when calling certain functions. Previously, in some cases, the compiler allowed multiple chained conversions (for example, syscall.Syscall(…, uintptr(uintptr(ptr)), …)). The compiler now requires exactly one conversion. Code that used multiple conversions should be updated to satisfy the safety rules.
After reading that paragraph, I expect that the compiler fails to compile code after that change. When running `go build` or `go build -gcflags="-d=checkptr"` neither produce a failure. I used `go vet`, and that doesn't catch this change either.
The example I used is
https://play.golang.org/p/a0B4kxLEAjb.
Perhaps I failed to construct a correct example, in which case help would be appreciated.
I was not sure if this belongs to the mailing list or the issue tracker, so I started here.
Thank you.