Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #
📑 Description
The problem with the initial implementation of the buildScopes method in the QueryImpl struct is that it incorrectly captures the loop variable scope when appending to the gormFuncs slice. This results in all functions in the gormFuncs slice referring to the last scope value in the loop, causing only the last scope to be executed correctly.
This issue arises because the loop variable scope is captured by reference in the anonymous function. When the loop finishes, all the anonymous functions hold a reference to the last value of scope, leading to incorrect behavior.
The solution involves capturing the current value of scope inside the loop by introducing a new variable to hold the current scope. This ensures that each function in the gormFuncs slice captures its own distinct value of scope.
✅ Checks
ℹ Additional Information