Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses several issues that arose in Ruby 3.4, including #738.
Smaller changes:
CoreMap
includes the stdlib (the source of thestringio
error)RbsMap
correctly handles theUntypedFunction
typeRubyVM
AST (which kind of don't matter anymore; see below)The big change is that the parser stops using
RubyVM::AbstractSyntaxTree
altogether.Solargraph originally started using the
RubyVM
parser for performance reasons. The "legacy" whitequark parser remained as a fallback for earlier Ruby versions. Supporting both in perpetuity was likely to be untenable for a variety of reasons, and the instability ofRubyVM
(which is still marked experimental) makes whitequark the more practical choice.For now, the
RubyVM
version ofSolargraph::Parser
is still in the codebase, but I expect to remove it and its related cruft in the near future.