Hello!

https://github.com/golang/go/issues/63662 was submitted as a bug report, 
but did not offer much explanation in its response, and it's still not 
clear how this is not a compatibility breakage.

> Build tags are explicitly designed to allow skew away from the main 
version declared in go.mod.

I haven't been able to find any documentation of this explicit design 
intent, but perhaps I've looked in the wrong places:

   - https://pkg.go.dev/cmd/go#hdr-Build_constraints mentions that version 
   tags exist, but does not go into much more detail than that.
   - In https://go.dev/ref/mod#go-mod-file-go, neither the "go directive" 
   nor "toolchain directive" sections mention how they relate to tags.

Neither of the above describe the interaction/selection mechanism between 
go.mod *go directive* values and version build tags.

Furthermore, https://go.dev/doc/go1compat does not mention build tags as a 
potential exception to the compatibility promise.

If there was a explicit design decision to have version build tags skew 
from the *go directive* version (in a way that could cause code to start 
failing to compile after merely upgrading the toolchain), and if it's 
already not documented somewhere I failed to find, then it would be a 
caveat to the compatibility promise that is probably worth explicitly 
spelling out.

Thank you!
Kevin Gillette

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/a4ffa17c-5f4f-45b0-a75c-90fe546e3e93n%40googlegroups.com.

Reply via email to