Add new Style/RedundantFetchBlock
cop
#8147
Merged
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.
Transferred from rubocop/rubocop-performance#126
Related reference - https://github.com/JuanitoFatas/fast-ruby#hashfetch-with-argument-vs-hashfetch--block-code
When block for
fetch
just returnsNumeric
,Symbol
,Rational
,Complex
,true
,false
,nil
,String
or constant it is shorter (and faster) to pass an argument instead of using a block.When hash contains a key, performance is the same for argument vs block syntaxes, but when hash is missing a key - argument version is faster.
Benchmark
Results