*nil no longer calls nil.to_a, similar to how **nil does not call nil…#9149
Draft
enebo wants to merge 2 commits intojruby:10.1-devfrom
Draft
*nil no longer calls nil.to_a, similar to how **nil does not call nil…#9149enebo wants to merge 2 commits intojruby:10.1-devfrom
enebo wants to merge 2 commits intojruby:10.1-devfrom
Conversation
….to_hash *nil no longer calls nil.to_a, similar to how **nil does not call nil.to_hash. [Feature #21047] This could be optimized more but this matches semantics. The missing optimization is the parser(s) need to see literal `nil` and then set a new flag on build_splat marking that fact. Then the helper can use a cached empty frozen array. The bulk of the improvement is not dispatching so this will be a smaller percentage of improvement on a pretty uncommon case.
Member
Author
|
Note: I updated Ruby version to 3.5.0 which is not the actual version. This was to match versioning currently used in ruby/spec to hit the specs updated for Ruby 4.0.0. I assume ruby/spec will update this soon and we can sync and change to proper version. |
Member
|
@enebo The version guards for 3.5 should still run if the version is 4.0. I think the specs have been updated but not synced yet. |
Member
Author
|
@headius haha of course it should. I will update it to 4.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
….to_hash
*nil no longer calls nil.to_a, similar to how **nil does not call nil.to_hash. [Feature #21047]
This could be optimized more but this matches semantics. The missing optimization is the parser(s) need to see literal
niland then set a new flag on build_splat marking that fact. Then the helper can use a cached empty frozen array. The bulk of the improvement is not dispatching so this will be a smaller percentage of improvement on a pretty uncommon case.