Skip to content

Prism::Translation::Parser incompatibility AST for multiline minus number #2501

@koic

Description

@koic

Incompatibility AST for multiline minus number between Parser gem and Prism:

$ cat example.rb
-
12345

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions