* Add support for the new behaviour of for loops in go 1.22.
Go 1.22 has changed the behaviour of for loops. Every iteration
makes new loop variables. It is now safe to take their addresses
because they are guaranteed to be unique. Similarly, it is now
safe to capture loop variables in functions.
* adds documentation for public function
---------
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
* Add rule 'range-val-address'
* range-val-address: replace pick with visitor; avoid nesting; improve failure message
* range-val-address: not all callexprs are bad. limit to 'append'