You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#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)