Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RuboCop::AST::RationalNode #304

Merged
merged 1 commit into from
Aug 5, 2024
Merged

Conversation

koic
Copy link
Member

@koic koic commented Jul 16, 2024

This PR resolves the fundamental issue mentioned in rubocop/rubocop#13051. Although rational literal (e.g., (0.2r) is a basic literal that return true for RuboCop::AST::Node#numeric_type? and RuboCop::AST::Node#literal?, their behavior was not sufficiently covered as a NumericNode.

This PR maps rational literal to RationalNode to enable expected node operations for rational literals.

This PR resolves the fundamental issue mentioned in rubocop/rubocop#13051.
Although rational literal (e.g., `(0.2r)` is a basic literal that return `true` for `RuboCop::AST::Node#numeric_type?`
and `RuboCop::AST::Node#literal?`, their behavior was not sufficiently covered as a `NumericNode`.

This PR maps rational literal to `RationalNode` to enable expected node operations for rational literals.
koic added a commit to koic/rubocop that referenced this pull request Jul 17, 2024
Fixes rubocop#13051.

This PR fixes an error for `Lint/FloatComparison`
when comparing with rational literal.

NOTE: Using rubocop/rubocop-ast#304 in the future will allow
for a more fundamental resolution of the issue.
koic added a commit to koic/rubocop that referenced this pull request Jul 17, 2024
Fixes rubocop#13051.

This PR fixes an error for `Lint/FloatComparison`
when comparing with rational literal.

NOTE: Using rubocop/rubocop-ast#304 in the future will allow
for a more fundamental resolution of the issue.
koic added a commit to koic/rubocop that referenced this pull request Jul 17, 2024
Fixes rubocop#13051.

This PR fixes an error for `Lint/FloatComparison`
when comparing with rational literal.

NOTE: Using rubocop/rubocop-ast#304 in the future will allow
for a more fundamental resolution of the issue.
bbatsov pushed a commit to rubocop/rubocop that referenced this pull request Jul 17, 2024
Fixes #13051.

This PR fixes an error for `Lint/FloatComparison`
when comparing with rational literal.

NOTE: Using rubocop/rubocop-ast#304 in the future will allow
for a more fundamental resolution of the issue.
@koic
Copy link
Member Author

koic commented Aug 5, 2024

@marcandre Can you review this?

@marcandre marcandre merged commit 7324d0f into rubocop:master Aug 5, 2024
19 checks passed
@marcandre
Copy link
Contributor

Sorry, I missed the notification, thanks for the reminder.

Looks great, thanks.

@koic koic deleted the add_rational_node branch August 5, 2024 04:58
@koic
Copy link
Member Author

koic commented Aug 5, 2024

Thank you @marcandre!

@marcandre
Copy link
Contributor

Released as 1.32.0

koic added a commit to koic/rubocop that referenced this pull request Aug 5, 2024
Follow up rubocop/rubocop-ast#304

This PR requires RuboCop AST 1.32.0+ to use `RuboCop::AST::RationalNode`
instead of workaround logic.
bbatsov pushed a commit to rubocop/rubocop that referenced this pull request Aug 6, 2024
Follow up rubocop/rubocop-ast#304

This PR requires RuboCop AST 1.32.0+ to use `RuboCop::AST::RationalNode`
instead of workaround logic.
koic added a commit to koic/rubocop that referenced this pull request Aug 7, 2024
Follow up rubocop/rubocop-ast#304

This PR requires RuboCop AST 1.32.0+ to use `RuboCop::AST::RationalNode`
instead of workaround logic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants