@jayconrod notes in #34217 (comment):
One problem with this: adding go 1.14 to go.mod does not prevent old versions of the Go command from adding +incompatible versions. So a module could be broken unintentionally in a mixed environment.
There is a more general version of this problem: older versions of the Go toolchain may not know how to correctly interpret a go.mod file intended for a newer version, and thus could make arbitrarily wrong edits.
Probably we should have the go command error out instead of making changes if it thinks a go.mod file generated by a newer toolchain is incomplete or inaccurate.
@jayconrod notes in #34217 (comment):
There is a more general version of this problem: older versions of the Go toolchain may not know how to correctly interpret a
go.modfile intended for a newer version, and thus could make arbitrarily wrong edits.Probably we should have the
gocommand error out instead of making changes if it thinks ago.modfile generated by a newer toolchain is incomplete or inaccurate.