- Notifications
You must be signed in to change notification settings - Fork926
chore: remove unnecessary redeclarations in for loops (part 2)#18593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Conversation
// When we assign the non-pointer to a | ||
// variable it loses the reference. | ||
replica := replica |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
@johnstcn you called out this one as potentially being a concern, but I think there are already two "copies" happening here that make this safe
- it gets copied from the slice to the
replica
variable by the loop - it gets copied from the
replica
variable to the argument value as part of theappend
call on the next line
ie. go does nothave "references", it has pointers and values. you're either copying a pointer or you're copying the whole value.
here's a go playground that hopefully instills confidencehttps://go.dev/play/p/MfFltxQepYE
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Thanks@aslilac!
Now that we're post code-freeze, let's go forth with the other half of this cleanup.