Add support for duplicate() for Packed*Array, and they are pass by ref in godot 4.0 #44472
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.
As discussed with @reduz on IRC.
I encountered a few more gdscript bugs in my project I'm developing on 4.0, with Packed*Arrays. (They are now pass by ref in godot 4.0, instead of pass by value).
This PR adds to Variant::duplicate() method to correctly copy Packed_Arrays on
duplicate()
. As well exposes aduplicate()
function on each Packed*Array to do an explicit copy if desired. Note there is no argument '(deep)' boolean these arrays as that doesn't make sense.This PR also updates the documentation for these classes accordingly.