For-Loop Semantic Changes in Go 1.22: Be Aware of the Impact
It's about time they finally acknowledge this as a design bug and make the incompatible fix. In pre-1.22 correct programs, the `i, v := i, v` will mostly already be present and become pointless upon upgrading. Libraries supporting pre-1.22 will still have to write this extra line.
Now we have a new foot-gun, moving working code from a 1.22+ program to a pre-1.22 supporting library can be bugged.
Would it be accurate to say that the variable values are fresh per iteration as of 1.22 and fresh only per initialization prior? I was looking for a falsification of that description in the text.
This looks like the kind of subtle change that will lead to unexpected security issues.