Proposal #40281 was accepted and implemented for Go 1.16 in CL 248341. It seems the public documentation of reflect.StructTag was not updated as part of the implementation. It still says:
Each key is a non-empty string consisting of non-control characters other than space (U+0020 ' '), quote (U+0022 '"'), and colon (U+003A ':').
That is no longer accurate/complete. It needs to be updated to describe the new behavior.
CC @bynov, @deven96, @rsc, @ianlancetaylor.
Change https://golang.org/cl/274448 mentions this issue: reflect: document multiple keys in struct tags
Just noting that this particular change managed to fly under the radar of a number of folk in the golang-tools group. Seemingly we all missed #40281. I wonder if there's a way in which we can ensure that group is looped in for changes that might require changes in Go tools?
For example https://twitter.com/fatih/status/1334058605704691712
Yes, absolutely. Although I have to admit that it would not have occurred to me that any tools needed updating for this change. Now that you point it out it's obvious, but I didn't think of it myself.
Most helpful comment
Yes, absolutely. Although I have to admit that it would not have occurred to me that any tools needed updating for this change. Now that you point it out it's obvious, but I didn't think of it myself.