Incompatibility AST for multiline minus number between Parser gem and Prism:
Expected Behavior
Returns an int node:
$ ruby -rparser/ruby33 -ve 'p Parser::Ruby33.parse_file("example.rb")'
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
s(:int, -12345)
Actual Behavior
Returns a send node:
$ ruby -rprism -rprism/translation/parser33 -ve "p Prism::Translation::Parser33.parse_file(example.rb')"
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
s(:send,
s(:int, 12345), :-@)
Background
Found due to incompatibility with RuboCop's Style/NumericLiterals cop.
Incompatibility AST for multiline minus number between Parser gem and Prism:
Expected Behavior
Returns an
intnode:Actual Behavior
Returns a
sendnode:Background
Found due to incompatibility with RuboCop's
Style/NumericLiteralscop.