Skip to content

RuboCop AST v1.50.0

Latest

Choose a tag to compare

@koic koic released this 06 Jul 03:44
· 8 commits to master since this release

Bug fixes

  • #412: Fix Node#argument? returning true for receivers that are structurally equal to an argument (e.g. the receiver in foo.bar(foo)). (@bbatsov)
  • #401: Avoid intermediate array allocations in HashNode#each_key/each_value. (@bbatsov)
  • #409: Fix Node#chained? and MethodDispatchNode#block_literal? returning true for nodes that are merely structurally equal to the receiver or send node (e.g. the argument in foo.bar(foo)). (@bbatsov)
  • #407: Fix the blockless form of the deprecated each_when, each_in_pattern, each_condition, and each_branch methods, which returned an unusable Enumerator. (@bbatsov)
  • #401: Fix force_encoding being a no-op for frozen string inputs. (@bbatsov)
  • #408: Fix ProcessedSource#preceding_line returning the last line of the file for tokens on the first line. (@bbatsov)

Changes

  • #411: Speed up filtered node traversals (each_descendant(:send) etc.) by not allocating an array per visited node, and add the non-splatting Node#type_in? predicate. (@bbatsov)
  • #404: Improve parser_prism performance by building tokens only when they are first accessed. (@bbatsov)
  • #408: Memoize ProcessedSource#checksum and skip the token sort when the tokens are already in order. (@bbatsov)
  • #410: Reduce allocations in keyword? and the method-name predicates (predicate_method?, bang_method?, etc.). (@bbatsov)
  • #405: Use Prism by default when analyzing Ruby 3.3 code. (@bbatsov)